forked from openlp/openlp
Added an OpenSong implementation, a new import wizard, and validation for the import wizard.
This commit is contained in:
parent
812a332182
commit
438c5cf00a
@ -24,5 +24,6 @@
|
||||
###############################################################################
|
||||
|
||||
from bibleimportform import BibleImportForm
|
||||
from importwizardform import ImportWizardForm
|
||||
|
||||
__all__ = ['BibleImportForm']
|
||||
__all__ = ['BibleImportForm', 'ImportWizardForm']
|
||||
|
319
openlp/plugins/bibles/forms/bibleimportwizard.py
Normal file
319
openlp/plugins/bibles/forms/bibleimportwizard.py
Normal file
@ -0,0 +1,319 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
|
||||
|
||||
###############################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2009 Raoul Snyman #
|
||||
# Portions copyright (c) 2008-2009 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Maikel Stuivenberg, Martin Thompson, Jon Tibble, #
|
||||
# Carsten Tinggaard #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
# Software Foundation; version 2 of the License. #
|
||||
# #
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT #
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
|
||||
# more details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU General Public License along #
|
||||
# with this program; if not, write to the Free Software Foundation, Inc., 59 #
|
||||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
class Ui_BibleImportWizard(object):
|
||||
def setupUi(self, BibleImportWizard):
|
||||
BibleImportWizard.setObjectName(u'BibleImportWizard')
|
||||
BibleImportWizard.resize(550, 386)
|
||||
BibleImportWizard.setModal(True)
|
||||
BibleImportWizard.setWizardStyle(QtGui.QWizard.ModernStyle)
|
||||
BibleImportWizard.setOptions(
|
||||
QtGui.QWizard.IndependentPages | \
|
||||
QtGui.QWizard.NoBackButtonOnStartPage | \
|
||||
QtGui.QWizard.NoBackButtonOnLastPage)
|
||||
self.WelcomePage = QtGui.QWizardPage()
|
||||
self.WelcomePage.setPixmap(QtGui.QWizard.WatermarkPixmap,
|
||||
QtGui.QPixmap(u':/wizards/wizard_importbible.bmp'))
|
||||
self.WelcomePage.setObjectName(u'WelcomePage')
|
||||
self.WelcomeLayout = QtGui.QVBoxLayout(self.WelcomePage)
|
||||
self.WelcomeLayout.setSpacing(8)
|
||||
self.WelcomeLayout.setMargin(0)
|
||||
self.WelcomeLayout.setObjectName(u'WelcomeLayout')
|
||||
self.TitleLabel = QtGui.QLabel(self.WelcomePage)
|
||||
self.TitleLabel.setObjectName(u'TitleLabel')
|
||||
self.WelcomeLayout.addWidget(self.TitleLabel)
|
||||
spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
|
||||
self.WelcomeLayout.addItem(spacerItem)
|
||||
self.InformationLabel = QtGui.QLabel(self.WelcomePage)
|
||||
self.InformationLabel.setWordWrap(True)
|
||||
self.InformationLabel.setMargin(10)
|
||||
self.InformationLabel.setObjectName(u'InformationLabel')
|
||||
self.WelcomeLayout.addWidget(self.InformationLabel)
|
||||
spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
|
||||
self.WelcomeLayout.addItem(spacerItem1)
|
||||
BibleImportWizard.addPage(self.WelcomePage)
|
||||
self.SelectPage = QtGui.QWizardPage()
|
||||
self.SelectPage.setObjectName(u'SelectPage')
|
||||
self.SelectPageLayout = QtGui.QVBoxLayout(self.SelectPage)
|
||||
self.SelectPageLayout.setSpacing(8)
|
||||
self.SelectPageLayout.setMargin(20)
|
||||
self.SelectPageLayout.setObjectName(u'SelectPageLayout')
|
||||
self.FormatSelectLayout = QtGui.QHBoxLayout()
|
||||
self.FormatSelectLayout.setSpacing(8)
|
||||
self.FormatSelectLayout.setObjectName(u'FormatSelectLayout')
|
||||
self.FormatLabel = QtGui.QLabel(self.SelectPage)
|
||||
self.FormatLabel.setObjectName(u'FormatLabel')
|
||||
self.FormatSelectLayout.addWidget(self.FormatLabel)
|
||||
self.FormatComboBox = QtGui.QComboBox(self.SelectPage)
|
||||
self.FormatComboBox.setObjectName(u'FormatComboBox')
|
||||
self.FormatComboBox.addItem(u'')
|
||||
self.FormatComboBox.addItem(u'')
|
||||
self.FormatComboBox.addItem(u'')
|
||||
self.FormatComboBox.addItem(u'')
|
||||
self.FormatSelectLayout.addWidget(self.FormatComboBox)
|
||||
spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
||||
self.FormatSelectLayout.addItem(spacerItem2)
|
||||
self.SelectPageLayout.addLayout(self.FormatSelectLayout)
|
||||
self.FormatWidget = QtGui.QStackedWidget(self.SelectPage)
|
||||
self.FormatWidget.setObjectName(u'FormatWidget')
|
||||
self.OsisPage = QtGui.QWidget()
|
||||
self.OsisPage.setObjectName(u'OsisPage')
|
||||
self.OsisLayout = QtGui.QFormLayout(self.OsisPage)
|
||||
self.OsisLayout.setFieldGrowthPolicy(QtGui.QFormLayout.ExpandingFieldsGrow)
|
||||
self.OsisLayout.setMargin(0)
|
||||
self.OsisLayout.setSpacing(8)
|
||||
self.OsisLayout.setObjectName(u'OsisLayout')
|
||||
self.OsisBibleNameLabel = QtGui.QLabel(self.OsisPage)
|
||||
self.OsisBibleNameLabel.setIndent(0)
|
||||
self.OsisBibleNameLabel.setObjectName(u'OsisBibleNameLabel')
|
||||
self.OsisLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.OsisBibleNameLabel)
|
||||
self.OsisBibleNameEdit = QtGui.QLineEdit(self.OsisPage)
|
||||
self.OsisBibleNameEdit.setObjectName(u'OsisBibleNameEdit')
|
||||
self.OsisLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.OsisBibleNameEdit)
|
||||
self.OsisLocationLabel = QtGui.QLabel(self.OsisPage)
|
||||
self.OsisLocationLabel.setObjectName(u'OsisLocationLabel')
|
||||
self.OsisLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.OsisLocationLabel)
|
||||
self.OsisLocationLayout = QtGui.QHBoxLayout()
|
||||
self.OsisLocationLayout.setSpacing(8)
|
||||
self.OsisLocationLayout.setObjectName(u'OsisLocationLayout')
|
||||
self.OSISLocationEdit = QtGui.QLineEdit(self.OsisPage)
|
||||
self.OSISLocationEdit.setObjectName(u'OSISLocationEdit')
|
||||
self.OsisLocationLayout.addWidget(self.OSISLocationEdit)
|
||||
self.OsisFileButton = QtGui.QToolButton(self.OsisPage)
|
||||
self.OsisFileButton.setMaximumSize(QtCore.QSize(32, 16777215))
|
||||
icon = QtGui.QIcon()
|
||||
icon.addPixmap(QtGui.QPixmap(u':/imports/import_load.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.OsisFileButton.setIcon(icon)
|
||||
self.OsisFileButton.setObjectName(u'OsisFileButton')
|
||||
self.OsisLocationLayout.addWidget(self.OsisFileButton)
|
||||
self.OsisLayout.setLayout(1, QtGui.QFormLayout.FieldRole, self.OsisLocationLayout)
|
||||
self.FormatWidget.addWidget(self.OsisPage)
|
||||
self.CsvPage = QtGui.QWidget()
|
||||
self.CsvPage.setObjectName(u'CsvPage')
|
||||
self.CsvSourceLayout = QtGui.QFormLayout(self.CsvPage)
|
||||
self.CsvSourceLayout.setFieldGrowthPolicy(QtGui.QFormLayout.ExpandingFieldsGrow)
|
||||
self.CsvSourceLayout.setLabelAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing)
|
||||
self.CsvSourceLayout.setFormAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
|
||||
self.CsvSourceLayout.setMargin(0)
|
||||
self.CsvSourceLayout.setSpacing(8)
|
||||
self.CsvSourceLayout.setObjectName(u'CsvSourceLayout')
|
||||
self.BooksLocationLabel = QtGui.QLabel(self.CsvPage)
|
||||
self.BooksLocationLabel.setObjectName(u'BooksLocationLabel')
|
||||
self.CsvSourceLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.BooksLocationLabel)
|
||||
self.CsvBooksLayout = QtGui.QHBoxLayout()
|
||||
self.CsvBooksLayout.setSpacing(8)
|
||||
self.CsvBooksLayout.setObjectName(u'CsvBooksLayout')
|
||||
self.BooksLocationEdit = QtGui.QLineEdit(self.CsvPage)
|
||||
self.BooksLocationEdit.setObjectName(u'BooksLocationEdit')
|
||||
self.CsvBooksLayout.addWidget(self.BooksLocationEdit)
|
||||
self.BooksFileButton = QtGui.QToolButton(self.CsvPage)
|
||||
self.BooksFileButton.setMaximumSize(QtCore.QSize(32, 16777215))
|
||||
self.BooksFileButton.setIcon(icon)
|
||||
self.BooksFileButton.setObjectName(u'BooksFileButton')
|
||||
self.CsvBooksLayout.addWidget(self.BooksFileButton)
|
||||
self.CsvSourceLayout.setLayout(0, QtGui.QFormLayout.FieldRole, self.CsvBooksLayout)
|
||||
self.VerseLocationLabel = QtGui.QLabel(self.CsvPage)
|
||||
self.VerseLocationLabel.setObjectName(u'VerseLocationLabel')
|
||||
self.CsvSourceLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.VerseLocationLabel)
|
||||
self.CsvVerseLayout = QtGui.QHBoxLayout()
|
||||
self.CsvVerseLayout.setSpacing(8)
|
||||
self.CsvVerseLayout.setObjectName(u'CsvVerseLayout')
|
||||
self.CsvVerseLocationEdit = QtGui.QLineEdit(self.CsvPage)
|
||||
self.CsvVerseLocationEdit.setObjectName(u'CsvVerseLocationEdit')
|
||||
self.CsvVerseLayout.addWidget(self.CsvVerseLocationEdit)
|
||||
self.CsvVersesFileButton = QtGui.QToolButton(self.CsvPage)
|
||||
self.CsvVersesFileButton.setMaximumSize(QtCore.QSize(32, 16777215))
|
||||
self.CsvVersesFileButton.setIcon(icon)
|
||||
self.CsvVersesFileButton.setObjectName(u'CsvVersesFileButton')
|
||||
self.CsvVerseLayout.addWidget(self.CsvVersesFileButton)
|
||||
self.CsvSourceLayout.setLayout(1, QtGui.QFormLayout.FieldRole, self.CsvVerseLayout)
|
||||
self.FormatWidget.addWidget(self.CsvPage)
|
||||
self.OpenSongPage = QtGui.QWidget()
|
||||
self.OpenSongPage.setObjectName(u'OpenSongPage')
|
||||
self.OpenSongLayout = QtGui.QFormLayout(self.OpenSongPage)
|
||||
self.OpenSongLayout.setMargin(0)
|
||||
self.OpenSongLayout.setSpacing(8)
|
||||
self.OpenSongLayout.setObjectName(u'OpenSongLayout')
|
||||
self.OpenSongFileLabel = QtGui.QLabel(self.OpenSongPage)
|
||||
self.OpenSongFileLabel.setObjectName(u'OpenSongFileLabel')
|
||||
self.OpenSongLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.OpenSongFileLabel)
|
||||
self.OpenSongFileLayout = QtGui.QHBoxLayout()
|
||||
self.OpenSongFileLayout.setSpacing(8)
|
||||
self.OpenSongFileLayout.setObjectName(u'OpenSongFileLayout')
|
||||
self.OpenSongFileEdit = QtGui.QLineEdit(self.OpenSongPage)
|
||||
self.OpenSongFileEdit.setObjectName(u'OpenSongFileEdit')
|
||||
self.OpenSongFileLayout.addWidget(self.OpenSongFileEdit)
|
||||
self.OpenSongBrowseButton = QtGui.QToolButton(self.OpenSongPage)
|
||||
self.OpenSongBrowseButton.setIcon(icon)
|
||||
self.OpenSongBrowseButton.setObjectName(u'OpenSongBrowseButton')
|
||||
self.OpenSongFileLayout.addWidget(self.OpenSongBrowseButton)
|
||||
self.OpenSongLayout.setLayout(0, QtGui.QFormLayout.FieldRole, self.OpenSongFileLayout)
|
||||
self.FormatWidget.addWidget(self.OpenSongPage)
|
||||
self.WebDownloadPage = QtGui.QWidget()
|
||||
self.WebDownloadPage.setObjectName(u'WebDownloadPage')
|
||||
self.WebDownloadLayout = QtGui.QVBoxLayout(self.WebDownloadPage)
|
||||
self.WebDownloadLayout.setSpacing(8)
|
||||
self.WebDownloadLayout.setMargin(0)
|
||||
self.WebDownloadLayout.setObjectName(u'WebDownloadLayout')
|
||||
self.WebDownloadTabWidget = QtGui.QTabWidget(self.WebDownloadPage)
|
||||
self.WebDownloadTabWidget.setObjectName(u'WebDownloadTabWidget')
|
||||
self.DownloadOptionsTab = QtGui.QWidget()
|
||||
self.DownloadOptionsTab.setObjectName(u'DownloadOptionsTab')
|
||||
self.DownloadOptionsLayout = QtGui.QFormLayout(self.DownloadOptionsTab)
|
||||
self.DownloadOptionsLayout.setMargin(8)
|
||||
self.DownloadOptionsLayout.setSpacing(8)
|
||||
self.DownloadOptionsLayout.setObjectName(u'DownloadOptionsLayout')
|
||||
self.LocationLabel = QtGui.QLabel(self.DownloadOptionsTab)
|
||||
self.LocationLabel.setObjectName(u'LocationLabel')
|
||||
self.DownloadOptionsLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.LocationLabel)
|
||||
self.LocationComboBox = QtGui.QComboBox(self.DownloadOptionsTab)
|
||||
self.LocationComboBox.setObjectName(u'LocationComboBox')
|
||||
self.LocationComboBox.addItem(u'')
|
||||
self.DownloadOptionsLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.LocationComboBox)
|
||||
self.BibleLabel = QtGui.QLabel(self.DownloadOptionsTab)
|
||||
self.BibleLabel.setObjectName(u'BibleLabel')
|
||||
self.DownloadOptionsLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.BibleLabel)
|
||||
self.BibleComboBox = QtGui.QComboBox(self.DownloadOptionsTab)
|
||||
self.BibleComboBox.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContents)
|
||||
self.BibleComboBox.setObjectName(u'BibleComboBox')
|
||||
self.BibleComboBox.addItem(u'')
|
||||
self.BibleComboBox.addItem(u'')
|
||||
self.BibleComboBox.addItem(u'')
|
||||
self.DownloadOptionsLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.BibleComboBox)
|
||||
self.WebDownloadTabWidget.addTab(self.DownloadOptionsTab, u'')
|
||||
self.ProxyServerTab = QtGui.QWidget()
|
||||
self.ProxyServerTab.setObjectName(u'ProxyServerTab')
|
||||
self.ProxyServerLayout = QtGui.QFormLayout(self.ProxyServerTab)
|
||||
self.ProxyServerLayout.setObjectName(u'ProxyServerLayout')
|
||||
self.AddressLabel = QtGui.QLabel(self.ProxyServerTab)
|
||||
self.AddressLabel.setObjectName(u'AddressLabel')
|
||||
self.ProxyServerLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.AddressLabel)
|
||||
self.AddressEdit = QtGui.QLineEdit(self.ProxyServerTab)
|
||||
self.AddressEdit.setObjectName(u'AddressEdit')
|
||||
self.ProxyServerLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.AddressEdit)
|
||||
self.UsernameLabel = QtGui.QLabel(self.ProxyServerTab)
|
||||
self.UsernameLabel.setObjectName(u'UsernameLabel')
|
||||
self.ProxyServerLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.UsernameLabel)
|
||||
self.UsernameEdit = QtGui.QLineEdit(self.ProxyServerTab)
|
||||
self.UsernameEdit.setObjectName(u'UsernameEdit')
|
||||
self.ProxyServerLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.UsernameEdit)
|
||||
self.PasswordLabel = QtGui.QLabel(self.ProxyServerTab)
|
||||
self.PasswordLabel.setObjectName(u'PasswordLabel')
|
||||
self.ProxyServerLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.PasswordLabel)
|
||||
self.PasswordEdit = QtGui.QLineEdit(self.ProxyServerTab)
|
||||
self.PasswordEdit.setObjectName(u'PasswordEdit')
|
||||
self.ProxyServerLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.PasswordEdit)
|
||||
self.WebDownloadTabWidget.addTab(self.ProxyServerTab, u'')
|
||||
self.WebDownloadLayout.addWidget(self.WebDownloadTabWidget)
|
||||
self.FormatWidget.addWidget(self.WebDownloadPage)
|
||||
self.SelectPageLayout.addWidget(self.FormatWidget)
|
||||
BibleImportWizard.addPage(self.SelectPage)
|
||||
self.LicenseDetailsPage = QtGui.QWizardPage()
|
||||
self.LicenseDetailsPage.setObjectName(u'LicenseDetailsPage')
|
||||
self.LicenseDetailsLayout = QtGui.QFormLayout(self.LicenseDetailsPage)
|
||||
self.LicenseDetailsLayout.setMargin(20)
|
||||
self.LicenseDetailsLayout.setSpacing(8)
|
||||
self.LicenseDetailsLayout.setObjectName(u'LicenseDetailsLayout')
|
||||
self.VersionNameLabel = QtGui.QLabel(self.LicenseDetailsPage)
|
||||
self.VersionNameLabel.setObjectName(u'VersionNameLabel')
|
||||
self.LicenseDetailsLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.VersionNameLabel)
|
||||
self.VersionNameEdit = QtGui.QLineEdit(self.LicenseDetailsPage)
|
||||
self.VersionNameEdit.setObjectName(u'VersionNameEdit')
|
||||
self.LicenseDetailsLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.VersionNameEdit)
|
||||
self.CopyrightLabel = QtGui.QLabel(self.LicenseDetailsPage)
|
||||
self.CopyrightLabel.setObjectName(u'CopyrightLabel')
|
||||
self.LicenseDetailsLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.CopyrightLabel)
|
||||
self.CopyrightEdit = QtGui.QLineEdit(self.LicenseDetailsPage)
|
||||
self.CopyrightEdit.setObjectName(u'CopyrightEdit')
|
||||
self.LicenseDetailsLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.CopyrightEdit)
|
||||
self.PermissionLabel = QtGui.QLabel(self.LicenseDetailsPage)
|
||||
self.PermissionLabel.setObjectName(u'PermissionLabel')
|
||||
self.LicenseDetailsLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.PermissionLabel)
|
||||
self.PermissionEdit = QtGui.QLineEdit(self.LicenseDetailsPage)
|
||||
self.PermissionEdit.setObjectName(u'PermissionEdit')
|
||||
self.LicenseDetailsLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.PermissionEdit)
|
||||
BibleImportWizard.addPage(self.LicenseDetailsPage)
|
||||
self.ImportPage = QtGui.QWizardPage()
|
||||
self.ImportPage.setObjectName(u'ImportPage')
|
||||
self.ImportLayout = QtGui.QVBoxLayout(self.ImportPage)
|
||||
self.ImportLayout.setSpacing(8)
|
||||
self.ImportLayout.setMargin(50)
|
||||
self.ImportLayout.setObjectName(u'ImportLayout')
|
||||
self.ImportProgressLabel = QtGui.QLabel(self.ImportPage)
|
||||
self.ImportProgressLabel.setObjectName(u'ImportProgressLabel')
|
||||
self.ImportLayout.addWidget(self.ImportProgressLabel)
|
||||
self.ImportProgressBar = QtGui.QProgressBar(self.ImportPage)
|
||||
self.ImportProgressBar.setProperty(u'value', 0)
|
||||
self.ImportProgressBar.setInvertedAppearance(False)
|
||||
self.ImportProgressBar.setObjectName(u'ImportProgressBar')
|
||||
self.ImportLayout.addWidget(self.ImportProgressBar)
|
||||
BibleImportWizard.addPage(self.ImportPage)
|
||||
|
||||
|
||||
self.retranslateUi(BibleImportWizard)
|
||||
self.FormatWidget.setCurrentIndex(0)
|
||||
self.WebDownloadTabWidget.setCurrentIndex(0)
|
||||
QtCore.QObject.connect(self.FormatComboBox, QtCore.SIGNAL(u'currentIndexChanged(int)'), self.FormatWidget.setCurrentIndex)
|
||||
QtCore.QMetaObject.connectSlotsByName(BibleImportWizard)
|
||||
|
||||
def retranslateUi(self, BibleImportWizard):
|
||||
BibleImportWizard.setWindowTitle(self.trUtf8('Bible Import Wizard'))
|
||||
self.TitleLabel.setText(u'<span style=\" font-size:14pt; font-weight:600;\">' + self.trUtf8('Welcome to the Bible Import Wizard') + u'</span>')
|
||||
self.InformationLabel.setText(self.trUtf8('This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from.'))
|
||||
self.SelectPage.setTitle(self.trUtf8('Select Import Source'))
|
||||
self.SelectPage.setSubTitle(self.trUtf8('Select the import format, and where to import from.'))
|
||||
self.FormatLabel.setText(self.trUtf8('Format:'))
|
||||
self.FormatComboBox.setItemText(0, self.trUtf8('OSIS'))
|
||||
self.FormatComboBox.setItemText(1, self.trUtf8('CSV'))
|
||||
self.FormatComboBox.setItemText(2, self.trUtf8('OpenSong'))
|
||||
self.FormatComboBox.setItemText(3, self.trUtf8('Web Download'))
|
||||
self.OsisBibleNameLabel.setText(self.trUtf8('Bible Name:'))
|
||||
self.OsisLocationLabel.setText(self.trUtf8('File Location:'))
|
||||
self.BooksLocationLabel.setText(self.trUtf8('Books Location:'))
|
||||
self.VerseLocationLabel.setText(self.trUtf8('Verse Location:'))
|
||||
self.OpenSongFileLabel.setText(self.trUtf8('Bible Filename:'))
|
||||
self.LocationLabel.setText(self.trUtf8('Location:'))
|
||||
self.LocationComboBox.setItemText(0, self.trUtf8('Crosswalk'))
|
||||
self.BibleLabel.setText(self.trUtf8('Bible:'))
|
||||
self.BibleComboBox.setItemText(0, self.trUtf8('English Standard Version'))
|
||||
self.BibleComboBox.setItemText(1, self.trUtf8('King James Version'))
|
||||
self.BibleComboBox.setItemText(2, self.trUtf8('New International Version'))
|
||||
self.WebDownloadTabWidget.setTabText(self.WebDownloadTabWidget.indexOf(self.DownloadOptionsTab), self.trUtf8('Download Options'))
|
||||
self.AddressLabel.setText(self.trUtf8('Server:'))
|
||||
self.UsernameLabel.setText(self.trUtf8('Username:'))
|
||||
self.PasswordLabel.setText(self.trUtf8('Password:'))
|
||||
self.WebDownloadTabWidget.setTabText(self.WebDownloadTabWidget.indexOf(self.ProxyServerTab), self.trUtf8('Proxy Server (Optional)'))
|
||||
self.LicenseDetailsPage.setTitle(self.trUtf8('License Details'))
|
||||
self.LicenseDetailsPage.setSubTitle(self.trUtf8('Set up the Bible\'s license details.'))
|
||||
self.VersionNameLabel.setText(self.trUtf8('Version Name:'))
|
||||
self.CopyrightLabel.setText(self.trUtf8('Copyright:'))
|
||||
self.PermissionLabel.setText(self.trUtf8('Permission:'))
|
||||
self.ImportPage.setTitle(self.trUtf8('Importing'))
|
||||
self.ImportPage.setSubTitle(self.trUtf8('Please wait while your Bible is imported.'))
|
||||
self.ImportProgressLabel.setText(self.trUtf8('Ready.'))
|
||||
self.ImportProgressBar.setFormat(u'%p')
|
||||
|
132
openlp/plugins/bibles/forms/importwizardform.py
Normal file
132
openlp/plugins/bibles/forms/importwizardform.py
Normal file
@ -0,0 +1,132 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
|
||||
|
||||
###############################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2009 Raoul Snyman #
|
||||
# Portions copyright (c) 2008-2009 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Maikel Stuivenberg, Martin Thompson, Jon Tibble, #
|
||||
# Carsten Tinggaard #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
# Software Foundation; version 2 of the License. #
|
||||
# #
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT #
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
|
||||
# more details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU General Public License along #
|
||||
# with this program; if not, write to the Free Software Foundation, Inc., 59 #
|
||||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
|
||||
import logging
|
||||
import os
|
||||
import os.path
|
||||
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from bibleimportwizard import Ui_BibleImportWizard
|
||||
from openlp.core.lib import Receiver
|
||||
|
||||
class BibleFormat(object):
|
||||
Unknown = -1
|
||||
OSIS = 0
|
||||
CSV = 1
|
||||
OpenSong = 2
|
||||
WebDownload = 3
|
||||
|
||||
|
||||
class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard):
|
||||
"""
|
||||
This is the Bible Import Wizard, which allows easy importing of Bibles
|
||||
into OpenLP from other formats like OSIS, CSV and OpenSong.
|
||||
"""
|
||||
|
||||
global log
|
||||
log = logging.getLogger(u'BibleImportForm')
|
||||
log.info(u'BibleImportForm loaded')
|
||||
|
||||
def __init__(self, parent, config, biblemanager, bibleplugin):
|
||||
'''
|
||||
Constructor
|
||||
'''
|
||||
QtGui.QWizard.__init__(self, parent)
|
||||
self.setupUi(self)
|
||||
self.registerFields()
|
||||
self.biblemanager = biblemanager
|
||||
self.config = config
|
||||
self.bibleplugin = bibleplugin
|
||||
self.bible_type = BibleFormat.Unknown
|
||||
|
||||
def registerFields(self):
|
||||
self.SelectPage.registerField(u'source_format', self.FormatComboBox)
|
||||
self.SelectPage.registerField(u'osis_biblename', self.OsisBibleNameEdit)
|
||||
self.SelectPage.registerField(u'osis_location', self.OSISLocationEdit)
|
||||
self.SelectPage.registerField(u'csv_booksfile', self.BooksLocationEdit)
|
||||
self.SelectPage.registerField(u'csv_versefile', self.CsvVerseLocationEdit)
|
||||
self.SelectPage.registerField(u'opensong_file', self.OpenSongFileEdit)
|
||||
self.SelectPage.registerField(u'web_location', self.LocationComboBox)
|
||||
self.SelectPage.registerField(u'web_biblename', self.BibleComboBox)
|
||||
self.SelectPage.registerField(u'web_server', self.AddressEdit)
|
||||
self.SelectPage.registerField(u'web_username', self.UsernameEdit)
|
||||
self.SelectPage.registerField(u'web_password', self.PasswordEdit)
|
||||
self.LicenseDetailsPage.registerField(u'license_version', self.VersionNameEdit)
|
||||
self.LicenseDetailsPage.registerField(u'license_copyright', self.CopyrightEdit)
|
||||
self.LicenseDetailsPage.registerField(u'license_permission', self.PermissionEdit)
|
||||
|
||||
def validateCurrentPage(self):
|
||||
if self.currentId() == 0:
|
||||
# Welcome page
|
||||
return True
|
||||
elif self.currentId() == 1:
|
||||
# Select page
|
||||
if self.field(u'source_format').toInt()[0] == BibleFormat.OSIS:
|
||||
if self.field(u'osis_biblename').toString() == u'':
|
||||
QtGui.QMessageBox.critical(self,
|
||||
self.trUtf8('Invalid Bible Name'),
|
||||
self.trUtf8('You need to specify a name for your Bible!'),
|
||||
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok))
|
||||
self.OsisBibleNameEdit.setFocus()
|
||||
return False
|
||||
if self.field(u'osis_location').toString() == u'':
|
||||
QtGui.QMessageBox.critical(self,
|
||||
self.trUtf8('Invalid Bible Location'),
|
||||
self.trUtf8('You need to specify a file to import your Bible from!'),
|
||||
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok))
|
||||
self.OSISLocationEdit.setFocus()
|
||||
return False
|
||||
elif self.field(u'source_format').toInt()[0] == BibleFormat.CSV:
|
||||
if self.field(u'csv_booksfile').toString() == QtCore.QString(u''):
|
||||
QtGui.QMessageBox.critical(self,
|
||||
self.trUtf8('Invalid Books File'),
|
||||
self.trUtf8('You need to specify a file with books of the Bible to use in the import!'),
|
||||
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok))
|
||||
self.BooksLocationEdit.setFocus()
|
||||
return False
|
||||
elif self.field(u'csv_versefile').toString() == QtCore.QString(u''):
|
||||
QtGui.QMessageBox.critical(self,
|
||||
self.trUtf8('Invalid Verse File'),
|
||||
self.trUtf8('You need to specify a file of Bible verses to import!'),
|
||||
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok))
|
||||
self.CsvVerseLocationEdit.setFocus()
|
||||
return False
|
||||
elif self.field(u'source_format').toInt()[0] == BibleFormat.OpenSong:
|
||||
if self.field(u'opensong_file').toString() == QtCore.QString(u''):
|
||||
QtGui.QMessageBox.critical(self,
|
||||
self.trUtf8('Invalid OpenSong Bible'),
|
||||
self.trUtf8('You need to specify an OpenSong Bible file to import!'),
|
||||
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok))
|
||||
self.OpenSongFileEdit.setFocus()
|
||||
return False
|
||||
return True
|
||||
|
||||
def show(self):
|
||||
self.FormatComboBox.setCurrentIndex(0)
|
||||
self.FormatWidget.setCurrentIndex(0)
|
||||
self.WebDownloadTabWidget.setCurrentIndex(0)
|
||||
return QtGui.QWizard.show()
|
||||
|
@ -100,6 +100,7 @@ class BibleCSVImpl(BibleCommon):
|
||||
if count % 3 == 0:
|
||||
Receiver.send_message(u'process_events')
|
||||
count = 0
|
||||
self.bibledb.save_verses()
|
||||
except:
|
||||
log.exception(u'Loading verses from file failed')
|
||||
finally:
|
||||
|
@ -67,6 +67,9 @@ class BibleDBImpl(BibleCommon):
|
||||
verse.verse = vse
|
||||
verse.text = text
|
||||
self.session.add(verse)
|
||||
return verse
|
||||
|
||||
def save_verses(self):
|
||||
self.session.commit()
|
||||
|
||||
def create_chapter(self, bookid, chap, textlist):
|
||||
|
@ -112,7 +112,7 @@ class BibleOSISImpl():
|
||||
count = 0
|
||||
verseText = u'<verse osisID='
|
||||
testament = 1
|
||||
for file_record in osis.readlines():
|
||||
for file_record in osis:
|
||||
# cancel pressed on UI
|
||||
if not self.loadbible:
|
||||
break
|
||||
@ -175,12 +175,14 @@ class BibleOSISImpl():
|
||||
dialogobject.incrementProgressBar(
|
||||
self.booksOfBible[p[0]])
|
||||
count = 0
|
||||
self.bibledb.save_verses()
|
||||
self.bibledb.add_verse(book.id, p[1], p[2], text)
|
||||
count += 1
|
||||
#Every 3 verses repaint the screen
|
||||
if count % 3 == 0:
|
||||
Receiver.send_message(u'process_events')
|
||||
count = 0
|
||||
self.bibledb.save_verses()
|
||||
except:
|
||||
log.exception(u'Loading bible from OSIS file failed')
|
||||
finally:
|
||||
|
110
openlp/plugins/bibles/lib/bibleOpenSongimply.py
Normal file
110
openlp/plugins/bibles/lib/bibleOpenSongimply.py
Normal file
@ -0,0 +1,110 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
|
||||
|
||||
###############################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2009 Raoul Snyman #
|
||||
# Portions copyright (c) 2008-2009 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Maikel Stuivenberg, Martin Thompson, Jon Tibble, #
|
||||
# Carsten Tinggaard #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
# Software Foundation; version 2 of the License. #
|
||||
# #
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT #
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
|
||||
# more details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU General Public License along #
|
||||
# with this program; if not, write to the Free Software Foundation, Inc., 59 #
|
||||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
|
||||
import os
|
||||
import os.path
|
||||
import logging
|
||||
import chardet
|
||||
import codecs
|
||||
from lxml import objectify
|
||||
|
||||
from PyQt4 import QtCore
|
||||
|
||||
from openlp.core.lib import Receiver
|
||||
|
||||
class BibleOpenSongImpl():
|
||||
"""
|
||||
OSIS Bible format importer class.
|
||||
"""
|
||||
global log
|
||||
log = logging.getLogger(__name__)
|
||||
log.info(u'BibleOpenSongImpl loaded')
|
||||
|
||||
def __init__(self, biblepath, bibledb):
|
||||
"""
|
||||
Constructor to create and set up an instance of the
|
||||
BibleOpenSongImpl class.
|
||||
|
||||
``biblepath``
|
||||
This does not seem to be used.
|
||||
|
||||
``bibledb``
|
||||
A reference to a Bible database object.
|
||||
"""
|
||||
log.info(u'BibleOpenSongImpl Initialising')
|
||||
self.bibledb = bibledb
|
||||
self.loadbible = True
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
QtCore.SIGNAL(u'openlpstopimport'), self.stop_import)
|
||||
|
||||
def stop_import(self):
|
||||
"""
|
||||
Stops the import of the Bible.
|
||||
"""
|
||||
self.loadbible = False
|
||||
|
||||
def load_data(self, bible_file, dialogobject=None):
|
||||
"""
|
||||
Loads a Bible from file.
|
||||
|
||||
``bible_file``
|
||||
The file to import from.
|
||||
|
||||
``dialogobject``
|
||||
The Import dialog, so that we can increase the counter on
|
||||
the progress bar.
|
||||
"""
|
||||
log.info(u'Load data for %s' % opensong_bible)
|
||||
detect_file = None
|
||||
try:
|
||||
detect_file = open(bible_file, u'r')
|
||||
details = chardet.detect(detect_file.read(2048))
|
||||
except:
|
||||
log.exception(u'Failed to detect OpenSong file encoding')
|
||||
return
|
||||
finally:
|
||||
if detect_file:
|
||||
detect_file.close()
|
||||
opensong_bible = None
|
||||
try:
|
||||
opensong_bible = codecs.open(bible_file, u'r', details['encoding'])
|
||||
opensong = objectify.parse(opensong_bible)
|
||||
bible_tag = opensong.getroot()
|
||||
for book in bible.b:
|
||||
dbbook = self.bibledb.create_book(book.attrib['n'],
|
||||
book.attrib['n'][:4])
|
||||
dialogobject.incrementProgressBar(dbbook.name)
|
||||
for chapter in book.c:
|
||||
for verse in chapter.v:
|
||||
self.bibledb.add_verse(dbbook.id, chapter.attrib['n'],
|
||||
verse.attrib['n'], verse.text)
|
||||
Receiver.send_message(u'process_events')
|
||||
self.bibledb.save_verses()
|
||||
except:
|
||||
log.exception(u'Loading bible from OpenSong file failed')
|
||||
finally:
|
||||
if opensong_bible:
|
||||
opensong_bible.close()
|
||||
|
@ -30,7 +30,7 @@ from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import MediaManagerItem, Receiver, str_to_bool, \
|
||||
BaseListWithDnD
|
||||
from openlp.plugins.bibles.forms import BibleImportForm
|
||||
from openlp.plugins.bibles.forms import BibleImportForm, ImportWizardForm
|
||||
from openlp.plugins.bibles.lib.manager import BibleMode
|
||||
|
||||
class BibleListView(BaseListWithDnD):
|
||||
@ -326,8 +326,11 @@ class BibleMediaItem(MediaManagerItem):
|
||||
self.AdvancedBookComboBox.itemData(item).toInt()[0])
|
||||
|
||||
def onNewClick(self):
|
||||
self.bibleimportform = BibleImportForm(
|
||||
self.parent.config, self.parent.biblemanager, self)
|
||||
#self.bibleimportform = BibleImportForm(
|
||||
# self.parent.config, self.parent.biblemanager, self)
|
||||
#self.bibleimportform.exec_()
|
||||
self.bibleimportform = ImportWizardForm(self, self.parent.config,
|
||||
self.parent.biblemanager, self.parent)
|
||||
self.bibleimportform.exec_()
|
||||
self.reloadBibles()
|
||||
|
||||
|
619
resources/forms/bibleimportwizard.ui
Normal file
619
resources/forms/bibleimportwizard.ui
Normal file
@ -0,0 +1,619 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Wizard</class>
|
||||
<widget class="QWizard" name="Wizard">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>550</width>
|
||||
<height>386</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Bible Import Wizard</string>
|
||||
</property>
|
||||
<property name="modal">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="wizardStyle">
|
||||
<enum>QWizard::ModernStyle</enum>
|
||||
</property>
|
||||
<property name="options">
|
||||
<set>QWizard::NoBackButtonOnLastPage|QWizard::NoBackButtonOnStartPage</set>
|
||||
</property>
|
||||
<widget class="QWizardPage" name="WelcomePage">
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="subTitle">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="WelcomeLayout">
|
||||
<property name="spacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="ImportBibleImage">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>163</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>163</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="lineWidth">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="../images/openlp-2.qrc">:/wizards/wizard_importbible.bmp</pixmap>
|
||||
</property>
|
||||
<property name="indent">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="WelcomePageLayout">
|
||||
<property name="spacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="TitleLabel">
|
||||
<property name="text">
|
||||
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body >
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Welcome to the Bible Import Wizard</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="WelcomeTopSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="InformationLabel">
|
||||
<property name="text">
|
||||
<string>This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>10</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="WelcomeBottomSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWizardPage" name="SelectPage">
|
||||
<property name="title">
|
||||
<string>Select Import Source</string>
|
||||
</property>
|
||||
<property name="subTitle">
|
||||
<string>Select the import format, and where to import from.</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>20</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="FormatSelectLayout">
|
||||
<property name="spacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="FormatLabel">
|
||||
<property name="text">
|
||||
<string>Format:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="FormatComboBox">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>OSIS</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>CSV</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>OpenSong</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Web Download</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="SourceTypeSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QStackedWidget" name="FormatWidget">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="OsisPage">
|
||||
<layout class="QFormLayout" name="formLayout_2">
|
||||
<property name="fieldGrowthPolicy">
|
||||
<enum>QFormLayout::ExpandingFieldsGrow</enum>
|
||||
</property>
|
||||
<property name="horizontalSpacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="OsisBibleNameLabel">
|
||||
<property name="text">
|
||||
<string>Bible Name:</string>
|
||||
</property>
|
||||
<property name="indent">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="OsisBibleNameEdit"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="OsisLocationLabel">
|
||||
<property name="text">
|
||||
<string>File Location:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<layout class="QHBoxLayout" name="OsisLocationLayout">
|
||||
<property name="spacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="OSISLocationEdit"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="OsisFileButton">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../images/openlp-2.qrc">
|
||||
<normaloff>:/imports/import_load.png</normaloff>:/imports/import_load.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="CsvPage">
|
||||
<layout class="QFormLayout" name="CsvSourceLayout">
|
||||
<property name="fieldGrowthPolicy">
|
||||
<enum>QFormLayout::ExpandingFieldsGrow</enum>
|
||||
</property>
|
||||
<property name="labelAlignment">
|
||||
<set>Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing</set>
|
||||
</property>
|
||||
<property name="formAlignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
<property name="horizontalSpacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="BooksLocationLabel">
|
||||
<property name="text">
|
||||
<string>Books Location:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<layout class="QHBoxLayout" name="CsvBooksLayout">
|
||||
<property name="spacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="BooksLocationEdit"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="BooksFileButton">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../images/openlp-2.qrc">
|
||||
<normaloff>:/imports/import_load.png</normaloff>:/imports/import_load.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="VerseLocationLabel">
|
||||
<property name="text">
|
||||
<string>Verse Location:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<layout class="QHBoxLayout" name="CsvVerseLayout">
|
||||
<property name="spacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="CsvVerseLocationEdit"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="CsvVersesFileButton">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../images/openlp-2.qrc">
|
||||
<normaloff>:/imports/import_load.png</normaloff>:/imports/import_load.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="OpenSongPage">
|
||||
<layout class="QFormLayout" name="formLayout_3">
|
||||
<property name="horizontalSpacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="OpenSongFileLabel">
|
||||
<property name="text">
|
||||
<string>Bible Filename:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<layout class="QHBoxLayout" name="OpenSongFileLayout">
|
||||
<property name="spacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="OpenSongFileEdit"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="OpenSongBrowseButton">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../images/openlp-2.qrc">
|
||||
<normaloff>:/imports/import_load.png</normaloff>:/imports/import_load.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="WebDownloadPage">
|
||||
<layout class="QVBoxLayout" name="WebDownloadLayout">
|
||||
<property name="spacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTabWidget" name="WebDownloadTabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="DownloadOptionsTab">
|
||||
<attribute name="title">
|
||||
<string>Download Options</string>
|
||||
</attribute>
|
||||
<layout class="QFormLayout" name="DownloadOptionsLayout">
|
||||
<property name="horizontalSpacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="LocationLabel">
|
||||
<property name="text">
|
||||
<string>Location:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="LocationComboBox">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Crosswalk</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="BibleLabel">
|
||||
<property name="text">
|
||||
<string>Bible:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="BibleComboBox">
|
||||
<property name="sizeAdjustPolicy">
|
||||
<enum>QComboBox::AdjustToContents</enum>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>English Standard Version</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>King James Version</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>New International Version</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="ProxyServerTab">
|
||||
<attribute name="title">
|
||||
<string>Proxy Server (Optional)</string>
|
||||
</attribute>
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="AddressLabel">
|
||||
<property name="text">
|
||||
<string>Server:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="AddressEdit"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="UsernameLabel">
|
||||
<property name="text">
|
||||
<string>Username:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="UsernameEdit"/>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="PasswordLabel">
|
||||
<property name="text">
|
||||
<string>Password:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="PasswordEdit"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWizardPage" name="LicenseDetailsPage">
|
||||
<property name="title">
|
||||
<string>License Details</string>
|
||||
</property>
|
||||
<property name="subTitle">
|
||||
<string>Set up the Bible's license details.</string>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout_5">
|
||||
<property name="horizontalSpacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>20</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="VersionNameLabel">
|
||||
<property name="text">
|
||||
<string>Version Name:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="VersionNameEdit"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="CopyrightLabel">
|
||||
<property name="text">
|
||||
<string>Copyright:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="CopyrightEdit"/>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="PermisionLabel">
|
||||
<property name="text">
|
||||
<string>Permission:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="PermisionEdit"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWizardPage" name="ImportPage">
|
||||
<property name="title">
|
||||
<string>Importing</string>
|
||||
</property>
|
||||
<property name="subTitle">
|
||||
<string>Please wait while your Bible is imported.</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<property name="spacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="ImportProgressLabel">
|
||||
<property name="text">
|
||||
<string>Ready.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QProgressBar" name="ImportProgressBar">
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="format">
|
||||
<string>%p</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="../images/openlp-2.qrc"/>
|
||||
</resources>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>FormatComboBox</sender>
|
||||
<signal>currentIndexChanged(int)</signal>
|
||||
<receiver>FormatWidget</receiver>
|
||||
<slot>setCurrentIndex(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>106</x>
|
||||
<y>76</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>296</x>
|
||||
<y>147</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
Loading…
Reference in New Issue
Block a user