forked from openlp/openlp
More cleanups
This commit is contained in:
parent
5d9533947d
commit
9dfc446ebd
@ -246,4 +246,4 @@ class AlertsPlugin(Plugin):
|
||||
align = VerticalType.Names[self.settings_tab.location]
|
||||
frame.evaluateJavaScript('update_css("%s", "%s", "%s", "%s", "%s")' %
|
||||
(align, self.settings_tab.font_face, self.settings_tab.font_size,
|
||||
self.settings_tab.font_color, self.settings_tab.background_color))
|
||||
self.settings_tab.font_color, self.settings_tab.background_color))
|
||||
|
@ -46,7 +46,7 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog):
|
||||
self.manager = plugin.manager
|
||||
self.plugin = plugin
|
||||
self.item_id = None
|
||||
super(AlertForm, self).__init__( Registry().get('main_window'))
|
||||
super(AlertForm, self).__init__(Registry().get('main_window'))
|
||||
self.setupUi(self)
|
||||
self.display_button.clicked.connect(self.on_display_clicked)
|
||||
self.display_close_button.clicked.connect(self.on_display_close_clicked)
|
||||
|
@ -97,4 +97,4 @@ class AlertsManager(OpenLPMixin, RegistryMixin, QtCore.QObject, RegistryProperti
|
||||
self.live_controller.display.alert('', alert_tab.location)
|
||||
self.killTimer(self.timer_id)
|
||||
self.timer_id = 0
|
||||
self.generate_alert()
|
||||
self.generate_alert()
|
||||
|
@ -113,8 +113,8 @@ class BiblePlugin(Plugin):
|
||||
"""
|
||||
super(BiblePlugin, self).app_startup()
|
||||
if self.manager.old_bible_databases:
|
||||
if QtGui.QMessageBox.information(self.main_window,
|
||||
translate('OpenLP', 'Information'),
|
||||
if QtGui.QMessageBox.information(
|
||||
self.main_window, translate('OpenLP', 'Information'),
|
||||
translate('OpenLP', 'Bible format has changed.\nYou have to upgrade your existing Bibles.\n'
|
||||
'Should OpenLP upgrade now?'),
|
||||
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)) == \
|
||||
|
@ -44,6 +44,7 @@ from openlp.plugins.bibles.lib.db import BiblesResourcesDB, clean_filename
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class WebDownload(object):
|
||||
"""
|
||||
Provides an enumeration for the web bible types available to OpenLP.
|
||||
@ -81,258 +82,257 @@ class BibleImportForm(OpenLPWizard):
|
||||
Set up the UI for the bible wizard.
|
||||
"""
|
||||
super(BibleImportForm, self).setupUi(image)
|
||||
self.formatComboBox.currentIndexChanged.connect(self.onCurrentIndexChanged)
|
||||
self.format_combo_box.currentIndexChanged.connect(self.on_current_index_changed)
|
||||
|
||||
def onCurrentIndexChanged(self, index):
|
||||
def on_current_index_changed(self, index):
|
||||
"""
|
||||
Called when the format combo box's index changed. We have to check if
|
||||
the import is available and accordingly to disable or enable the next
|
||||
button.
|
||||
"""
|
||||
self.selectStack.setCurrentIndex(index)
|
||||
self.select_stack.setCurrentIndex(index)
|
||||
|
||||
def custom_init(self):
|
||||
"""
|
||||
Perform any custom initialisation for bible importing.
|
||||
"""
|
||||
self.manager.set_process_dialog(self)
|
||||
self.loadWebBibles()
|
||||
self.load_Web_Bibles()
|
||||
self.restart()
|
||||
self.selectStack.setCurrentIndex(0)
|
||||
self.select_stack.setCurrentIndex(0)
|
||||
|
||||
def custom_signals(self):
|
||||
"""
|
||||
Set up the signals used in the bible importer.
|
||||
"""
|
||||
self.webSourceComboBox.currentIndexChanged.connect(self.onWebSourceComboBoxIndexChanged)
|
||||
self.osisBrowseButton.clicked.connect(self.onOsisBrowseButtonClicked)
|
||||
self.csvBooksButton.clicked.connect(self.onCsvBooksBrowseButtonClicked)
|
||||
self.csvVersesButton.clicked.connect(self.onCsvVersesBrowseButtonClicked)
|
||||
self.openSongBrowseButton.clicked.connect(self.onOpenSongBrowseButtonClicked)
|
||||
self.web_source_combo_box.currentIndexChanged.connect(self.on_web_source_combo_box_index_changed)
|
||||
self.osis_browse_button.clicked.connect(self.on_osis_browse_button_clicked)
|
||||
self.csv_books_button.clicked.connect(self.on_csv_books_browse_button_clicked)
|
||||
self.csv_verses_button.clicked.connect(self.on_csv_verses_browse_button_clicked)
|
||||
self.open_song_browse_button.clicked.connect(self.on_open_song_browse_button_clicked)
|
||||
|
||||
def add_custom_pages(self):
|
||||
"""
|
||||
Add the bible import specific wizard pages.
|
||||
"""
|
||||
# Select Page
|
||||
self.selectPage = QtGui.QWizardPage()
|
||||
self.selectPage.setObjectName('SelectPage')
|
||||
self.selectPageLayout = QtGui.QVBoxLayout(self.selectPage)
|
||||
self.selectPageLayout.setObjectName('SelectPageLayout')
|
||||
self.formatLayout = QtGui.QFormLayout()
|
||||
self.formatLayout.setObjectName('FormatLayout')
|
||||
self.formatLabel = QtGui.QLabel(self.selectPage)
|
||||
self.formatLabel.setObjectName('FormatLabel')
|
||||
self.formatComboBox = QtGui.QComboBox(self.selectPage)
|
||||
self.formatComboBox.addItems(['', '', '', ''])
|
||||
self.formatComboBox.setObjectName('FormatComboBox')
|
||||
self.formatLayout.addRow(self.formatLabel, self.formatComboBox)
|
||||
self.select_page = QtGui.QWizardPage()
|
||||
self.select_page.setObjectName('SelectPage')
|
||||
self.select_page_layout = QtGui.QVBoxLayout(self.select_page)
|
||||
self.select_page_layout.setObjectName('SelectPageLayout')
|
||||
self.format_layout = QtGui.QFormLayout()
|
||||
self.format_layout.setObjectName('FormatLayout')
|
||||
self.format_label = QtGui.QLabel(self.select_page)
|
||||
self.format_label.setObjectName('FormatLabel')
|
||||
self.format_combo_box = QtGui.QComboBox(self.select_page)
|
||||
self.format_combo_box.addItems(['', '', '', ''])
|
||||
self.format_combo_box.setObjectName('FormatComboBox')
|
||||
self.format_layout.addRow(self.format_label, self.format_combo_box)
|
||||
self.spacer = QtGui.QSpacerItem(10, 0, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Minimum)
|
||||
self.formatLayout.setItem(1, QtGui.QFormLayout.LabelRole, self.spacer)
|
||||
self.selectPageLayout.addLayout(self.formatLayout)
|
||||
self.selectStack = QtGui.QStackedLayout()
|
||||
self.selectStack.setObjectName('SelectStack')
|
||||
self.osisWidget = QtGui.QWidget(self.selectPage)
|
||||
self.osisWidget.setObjectName('OsisWidget')
|
||||
self.osisLayout = QtGui.QFormLayout(self.osisWidget)
|
||||
self.osisLayout.setMargin(0)
|
||||
self.osisLayout.setObjectName('OsisLayout')
|
||||
self.osisFileLabel = QtGui.QLabel(self.osisWidget)
|
||||
self.osisFileLabel.setObjectName('OsisFileLabel')
|
||||
self.osisFileLayout = QtGui.QHBoxLayout()
|
||||
self.osisFileLayout.setObjectName('OsisFileLayout')
|
||||
self.osisFileEdit = QtGui.QLineEdit(self.osisWidget)
|
||||
self.osisFileEdit.setObjectName('OsisFileEdit')
|
||||
self.osisFileLayout.addWidget(self.osisFileEdit)
|
||||
self.osisBrowseButton = QtGui.QToolButton(self.osisWidget)
|
||||
self.osisBrowseButton.setIcon(self.open_icon)
|
||||
self.osisBrowseButton.setObjectName('OsisBrowseButton')
|
||||
self.osisFileLayout.addWidget(self.osisBrowseButton)
|
||||
self.osisLayout.addRow(self.osisFileLabel, self.osisFileLayout)
|
||||
self.osisLayout.setItem(1, QtGui.QFormLayout.LabelRole, self.spacer)
|
||||
self.selectStack.addWidget(self.osisWidget)
|
||||
self.csvWidget = QtGui.QWidget(self.selectPage)
|
||||
self.csvWidget.setObjectName('CsvWidget')
|
||||
self.csvLayout = QtGui.QFormLayout(self.csvWidget)
|
||||
self.csvLayout.setMargin(0)
|
||||
self.csvLayout.setObjectName('CsvLayout')
|
||||
self.csvBooksLabel = QtGui.QLabel(self.csvWidget)
|
||||
self.csvBooksLabel.setObjectName('CsvBooksLabel')
|
||||
self.csvBooksLayout = QtGui.QHBoxLayout()
|
||||
self.csvBooksLayout.setObjectName('CsvBooksLayout')
|
||||
self.csvBooksEdit = QtGui.QLineEdit(self.csvWidget)
|
||||
self.csvBooksEdit.setObjectName('CsvBooksEdit')
|
||||
self.csvBooksLayout.addWidget(self.csvBooksEdit)
|
||||
self.csvBooksButton = QtGui.QToolButton(self.csvWidget)
|
||||
self.csvBooksButton.setIcon(self.open_icon)
|
||||
self.csvBooksButton.setObjectName('CsvBooksButton')
|
||||
self.csvBooksLayout.addWidget(self.csvBooksButton)
|
||||
self.csvLayout.addRow(self.csvBooksLabel, self.csvBooksLayout)
|
||||
self.csvVersesLabel = QtGui.QLabel(self.csvWidget)
|
||||
self.csvVersesLabel.setObjectName('CsvVersesLabel')
|
||||
self.csvVersesLayout = QtGui.QHBoxLayout()
|
||||
self.csvVersesLayout.setObjectName('CsvVersesLayout')
|
||||
self.csvVersesEdit = QtGui.QLineEdit(self.csvWidget)
|
||||
self.csvVersesEdit.setObjectName('CsvVersesEdit')
|
||||
self.csvVersesLayout.addWidget(self.csvVersesEdit)
|
||||
self.csvVersesButton = QtGui.QToolButton(self.csvWidget)
|
||||
self.csvVersesButton.setIcon(self.open_icon)
|
||||
self.csvVersesButton.setObjectName('CsvVersesButton')
|
||||
self.csvVersesLayout.addWidget(self.csvVersesButton)
|
||||
self.csvLayout.addRow(self.csvVersesLabel, self.csvVersesLayout)
|
||||
self.csvLayout.setItem(3, QtGui.QFormLayout.LabelRole, self.spacer)
|
||||
self.selectStack.addWidget(self.csvWidget)
|
||||
self.openSongWidget = QtGui.QWidget(self.selectPage)
|
||||
self.openSongWidget.setObjectName('OpenSongWidget')
|
||||
self.openSongLayout = QtGui.QFormLayout(self.openSongWidget)
|
||||
self.openSongLayout.setMargin(0)
|
||||
self.openSongLayout.setObjectName('OpenSongLayout')
|
||||
self.openSongFileLabel = QtGui.QLabel(self.openSongWidget)
|
||||
self.openSongFileLabel.setObjectName('OpenSongFileLabel')
|
||||
self.openSongFileLayout = QtGui.QHBoxLayout()
|
||||
self.openSongFileLayout.setObjectName('OpenSongFileLayout')
|
||||
self.openSongFileEdit = QtGui.QLineEdit(self.openSongWidget)
|
||||
self.openSongFileEdit.setObjectName('OpenSongFileEdit')
|
||||
self.openSongFileLayout.addWidget(self.openSongFileEdit)
|
||||
self.openSongBrowseButton = QtGui.QToolButton(self.openSongWidget)
|
||||
self.openSongBrowseButton.setIcon(self.open_icon)
|
||||
self.openSongBrowseButton.setObjectName('OpenSongBrowseButton')
|
||||
self.openSongFileLayout.addWidget(self.openSongBrowseButton)
|
||||
self.openSongLayout.addRow(self.openSongFileLabel, self.openSongFileLayout)
|
||||
self.openSongLayout.setItem(1, QtGui.QFormLayout.LabelRole, self.spacer)
|
||||
self.selectStack.addWidget(self.openSongWidget)
|
||||
self.webTabWidget = QtGui.QTabWidget(self.selectPage)
|
||||
self.webTabWidget.setObjectName('WebTabWidget')
|
||||
self.webBibleTab = QtGui.QWidget()
|
||||
self.webBibleTab.setObjectName('WebBibleTab')
|
||||
self.webBibleLayout = QtGui.QFormLayout(self.webBibleTab)
|
||||
self.webBibleLayout.setObjectName('WebBibleLayout')
|
||||
self.webSourceLabel = QtGui.QLabel(self.webBibleTab)
|
||||
self.webSourceLabel.setObjectName('WebSourceLabel')
|
||||
self.webBibleLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.webSourceLabel)
|
||||
self.webSourceComboBox = QtGui.QComboBox(self.webBibleTab)
|
||||
self.webSourceComboBox.setObjectName('WebSourceComboBox')
|
||||
self.webSourceComboBox.addItems(['', '', ''])
|
||||
self.webBibleLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.webSourceComboBox)
|
||||
self.webTranslationLabel = QtGui.QLabel(self.webBibleTab)
|
||||
self.webTranslationLabel.setObjectName('webTranslationLabel')
|
||||
self.webBibleLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.webTranslationLabel)
|
||||
self.webTranslationComboBox = QtGui.QComboBox(self.webBibleTab)
|
||||
self.webTranslationComboBox.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContents)
|
||||
self.webTranslationComboBox.setObjectName('WebTranslationComboBox')
|
||||
self.webBibleLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.webTranslationComboBox)
|
||||
self.webTabWidget.addTab(self.webBibleTab, '')
|
||||
self.webProxyTab = QtGui.QWidget()
|
||||
self.webProxyTab.setObjectName('WebProxyTab')
|
||||
self.webProxyLayout = QtGui.QFormLayout(self.webProxyTab)
|
||||
self.webProxyLayout.setObjectName('WebProxyLayout')
|
||||
self.webServerLabel = QtGui.QLabel(self.webProxyTab)
|
||||
self.webServerLabel.setObjectName('WebServerLabel')
|
||||
self.webProxyLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.webServerLabel)
|
||||
self.webServerEdit = QtGui.QLineEdit(self.webProxyTab)
|
||||
self.webServerEdit.setObjectName('WebServerEdit')
|
||||
self.webProxyLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.webServerEdit)
|
||||
self.webUserLabel = QtGui.QLabel(self.webProxyTab)
|
||||
self.webUserLabel.setObjectName('WebUserLabel')
|
||||
self.webProxyLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.webUserLabel)
|
||||
self.webUserEdit = QtGui.QLineEdit(self.webProxyTab)
|
||||
self.webUserEdit.setObjectName('WebUserEdit')
|
||||
self.webProxyLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.webUserEdit)
|
||||
self.webPasswordLabel = QtGui.QLabel(self.webProxyTab)
|
||||
self.webPasswordLabel.setObjectName('WebPasswordLabel')
|
||||
self.webProxyLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.webPasswordLabel)
|
||||
self.webPasswordEdit = QtGui.QLineEdit(self.webProxyTab)
|
||||
self.webPasswordEdit.setObjectName('WebPasswordEdit')
|
||||
self.webProxyLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.webPasswordEdit)
|
||||
self.webTabWidget.addTab(self.webProxyTab, '')
|
||||
self.selectStack.addWidget(self.webTabWidget)
|
||||
self.selectPageLayout.addLayout(self.selectStack)
|
||||
self.addPage(self.selectPage)
|
||||
self.format_layout.setItem(1, QtGui.QFormLayout.LabelRole, self.spacer)
|
||||
self.select_page_layout.addLayout(self.format_layout)
|
||||
self.select_stack = QtGui.QStackedLayout()
|
||||
self.select_stack.setObjectName('SelectStack')
|
||||
self.osis_widget = QtGui.QWidget(self.select_page)
|
||||
self.osis_widget.setObjectName('OsisWidget')
|
||||
self.osis_layout = QtGui.QFormLayout(self.osis_widget)
|
||||
self.osis_layout.setMargin(0)
|
||||
self.osis_layout.setObjectName('OsisLayout')
|
||||
self.osis_file_label = QtGui.QLabel(self.osis_widget)
|
||||
self.osis_file_label.setObjectName('OsisFileLabel')
|
||||
self.osis_file_layout = QtGui.QHBoxLayout()
|
||||
self.osis_file_layout.setObjectName('OsisFileLayout')
|
||||
self.osis_file_edit = QtGui.QLineEdit(self.osis_widget)
|
||||
self.osis_file_edit.setObjectName('OsisFileEdit')
|
||||
self.osis_file_layout.addWidget(self.osis_file_edit)
|
||||
self.osis_browse_button = QtGui.QToolButton(self.osis_widget)
|
||||
self.osis_browse_button.setIcon(self.open_icon)
|
||||
self.osis_browse_button.setObjectName('OsisBrowseButton')
|
||||
self.osis_file_layout.addWidget(self.osis_browse_button)
|
||||
self.osis_layout.addRow(self.osis_file_label, self.osis_file_layout)
|
||||
self.osis_layout.setItem(1, QtGui.QFormLayout.LabelRole, self.spacer)
|
||||
self.select_stack.addWidget(self.osis_widget)
|
||||
self.csv_widget = QtGui.QWidget(self.select_page)
|
||||
self.csv_widget.setObjectName('CsvWidget')
|
||||
self.csv_layout = QtGui.QFormLayout(self.csv_widget)
|
||||
self.csv_layout.setMargin(0)
|
||||
self.csv_layout.setObjectName('CsvLayout')
|
||||
self.csv_books_label = QtGui.QLabel(self.csv_widget)
|
||||
self.csv_books_label.setObjectName('CsvBooksLabel')
|
||||
self.csv_books_layout = QtGui.QHBoxLayout()
|
||||
self.csv_books_layout.setObjectName('CsvBooksLayout')
|
||||
self.csv_books_edit = QtGui.QLineEdit(self.csv_widget)
|
||||
self.csv_books_edit.setObjectName('CsvBooksEdit')
|
||||
self.csv_books_layout.addWidget(self.csv_books_edit)
|
||||
self.csv_books_button = QtGui.QToolButton(self.csv_widget)
|
||||
self.csv_books_button.setIcon(self.open_icon)
|
||||
self.csv_books_button.setObjectName('CsvBooksButton')
|
||||
self.csv_books_layout.addWidget(self.csv_books_button)
|
||||
self.csv_layout.addRow(self.csv_books_label, self.csv_books_layout)
|
||||
self.csv_verses_label = QtGui.QLabel(self.csv_widget)
|
||||
self.csv_verses_label.setObjectName('CsvVersesLabel')
|
||||
self.csv_verses_layout = QtGui.QHBoxLayout()
|
||||
self.csv_verses_layout.setObjectName('CsvVersesLayout')
|
||||
self.csv_verses_edit = QtGui.QLineEdit(self.csv_widget)
|
||||
self.csv_verses_edit.setObjectName('CsvVersesEdit')
|
||||
self.csv_verses_layout.addWidget(self.csv_verses_edit)
|
||||
self.csv_verses_button = QtGui.QToolButton(self.csv_widget)
|
||||
self.csv_verses_button.setIcon(self.open_icon)
|
||||
self.csv_verses_button.setObjectName('CsvVersesButton')
|
||||
self.csv_verses_layout.addWidget(self.csv_verses_button)
|
||||
self.csv_layout.addRow(self.csv_verses_label, self.csv_verses_layout)
|
||||
self.csv_layout.setItem(3, QtGui.QFormLayout.LabelRole, self.spacer)
|
||||
self.select_stack.addWidget(self.csv_widget)
|
||||
self.open_song_widget = QtGui.QWidget(self.select_page)
|
||||
self.open_song_widget.setObjectName('OpenSongWidget')
|
||||
self.open_song_layout = QtGui.QFormLayout(self.open_song_widget)
|
||||
self.open_song_layout.setMargin(0)
|
||||
self.open_song_layout.setObjectName('OpenSongLayout')
|
||||
self.open_song_file_label = QtGui.QLabel(self.open_song_widget)
|
||||
self.open_song_file_label.setObjectName('OpenSongFileLabel')
|
||||
self.open_song_file_layout = QtGui.QHBoxLayout()
|
||||
self.open_song_file_layout.setObjectName('OpenSongFileLayout')
|
||||
self.open_song_file_edit = QtGui.QLineEdit(self.open_song_widget)
|
||||
self.open_song_file_edit.setObjectName('OpenSongFileEdit')
|
||||
self.open_song_file_layout.addWidget(self.open_song_file_edit)
|
||||
self.open_song_browse_button = QtGui.QToolButton(self.open_song_widget)
|
||||
self.open_song_browse_button.setIcon(self.open_icon)
|
||||
self.open_song_browse_button.setObjectName('OpenSongBrowseButton')
|
||||
self.open_song_file_layout.addWidget(self.open_song_browse_button)
|
||||
self.open_song_layout.addRow(self.open_song_file_label, self.open_song_file_layout)
|
||||
self.open_song_layout.setItem(1, QtGui.QFormLayout.LabelRole, self.spacer)
|
||||
self.select_stack.addWidget(self.open_song_widget)
|
||||
self.web_tab_widget = QtGui.QTabWidget(self.select_page)
|
||||
self.web_tab_widget.setObjectName('WebTabWidget')
|
||||
self.web_bible_tab = QtGui.QWidget()
|
||||
self.web_bible_tab.setObjectName('WebBibleTab')
|
||||
self.web_bible_layout = QtGui.QFormLayout(self.web_bible_tab)
|
||||
self.web_bible_layout.setObjectName('WebBibleLayout')
|
||||
self.web_source_label = QtGui.QLabel(self.web_bible_tab)
|
||||
self.web_source_label.setObjectName('WebSourceLabel')
|
||||
self.web_bible_layout.setWidget(0, QtGui.QFormLayout.LabelRole, self.web_source_label)
|
||||
self.web_source_combo_box = QtGui.QComboBox(self.web_bible_tab)
|
||||
self.web_source_combo_box.setObjectName('WebSourceComboBox')
|
||||
self.web_source_combo_box.addItems(['', '', ''])
|
||||
self.web_bible_layout.setWidget(0, QtGui.QFormLayout.FieldRole, self.web_source_combo_box)
|
||||
self.web_translation_label = QtGui.QLabel(self.web_bible_tab)
|
||||
self.web_translation_label.setObjectName('web_translation_label')
|
||||
self.web_bible_layout.setWidget(1, QtGui.QFormLayout.LabelRole, self.web_translation_label)
|
||||
self.web_translation_combo_box = QtGui.QComboBox(self.web_bible_tab)
|
||||
self.web_translation_combo_box.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContents)
|
||||
self.web_translation_combo_box.setObjectName('WebTranslationComboBox')
|
||||
self.web_bible_layout.setWidget(1, QtGui.QFormLayout.FieldRole, self.web_translation_combo_box)
|
||||
self.web_tab_widget.addTab(self.web_bible_tab, '')
|
||||
self.web_proxy_tab = QtGui.QWidget()
|
||||
self.web_proxy_tab.setObjectName('WebProxyTab')
|
||||
self.web_proxy_layout = QtGui.QFormLayout(self.web_proxy_tab)
|
||||
self.web_proxy_layout.setObjectName('WebProxyLayout')
|
||||
self.web_server_label = QtGui.QLabel(self.web_proxy_tab)
|
||||
self.web_server_label.setObjectName('WebServerLabel')
|
||||
self.web_proxy_layout.setWidget(0, QtGui.QFormLayout.LabelRole, self.web_server_label)
|
||||
self.web_server_edit = QtGui.QLineEdit(self.web_proxy_tab)
|
||||
self.web_server_edit.setObjectName('WebServerEdit')
|
||||
self.web_proxy_layout.setWidget(0, QtGui.QFormLayout.FieldRole, self.web_server_edit)
|
||||
self.web_user_label = QtGui.QLabel(self.web_proxy_tab)
|
||||
self.web_user_label.setObjectName('WebUserLabel')
|
||||
self.web_proxy_layout.setWidget(1, QtGui.QFormLayout.LabelRole, self.web_user_label)
|
||||
self.web_user_edit = QtGui.QLineEdit(self.web_proxy_tab)
|
||||
self.web_user_edit.setObjectName('WebUserEdit')
|
||||
self.web_proxy_layout.setWidget(1, QtGui.QFormLayout.FieldRole, self.web_user_edit)
|
||||
self.web_password_label = QtGui.QLabel(self.web_proxy_tab)
|
||||
self.web_password_label.setObjectName('WebPasswordLabel')
|
||||
self.web_proxy_layout.setWidget(2, QtGui.QFormLayout.LabelRole, self.web_password_label)
|
||||
self.web_password_edit = QtGui.QLineEdit(self.web_proxy_tab)
|
||||
self.web_password_edit.setObjectName('WebPasswordEdit')
|
||||
self.web_proxy_layout.setWidget(2, QtGui.QFormLayout.FieldRole, self.web_password_edit)
|
||||
self.web_tab_widget.addTab(self.web_proxy_tab, '')
|
||||
self.select_stack.addWidget(self.web_tab_widget)
|
||||
self.select_page_layout.addLayout(self.select_stack)
|
||||
self.addPage(self.select_page)
|
||||
# License Page
|
||||
self.licenseDetailsPage = QtGui.QWizardPage()
|
||||
self.licenseDetailsPage.setObjectName('LicenseDetailsPage')
|
||||
self.licenseDetailsLayout = QtGui.QFormLayout(self.licenseDetailsPage)
|
||||
self.licenseDetailsLayout.setObjectName('LicenseDetailsLayout')
|
||||
self.versionNameLabel = QtGui.QLabel(self.licenseDetailsPage)
|
||||
self.versionNameLabel.setObjectName('VersionNameLabel')
|
||||
self.licenseDetailsLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.versionNameLabel)
|
||||
self.versionNameEdit = QtGui.QLineEdit(self.licenseDetailsPage)
|
||||
self.versionNameEdit.setObjectName('VersionNameEdit')
|
||||
self.licenseDetailsLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.versionNameEdit)
|
||||
self.copyrightLabel = QtGui.QLabel(self.licenseDetailsPage)
|
||||
self.copyrightLabel.setObjectName('CopyrightLabel')
|
||||
self.licenseDetailsLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.copyrightLabel)
|
||||
self.copyrightEdit = QtGui.QLineEdit(self.licenseDetailsPage)
|
||||
self.copyrightEdit.setObjectName('CopyrightEdit')
|
||||
self.licenseDetailsLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.copyrightEdit)
|
||||
self.permissionsLabel = QtGui.QLabel(self.licenseDetailsPage)
|
||||
self.permissionsLabel.setObjectName('PermissionsLabel')
|
||||
self.licenseDetailsLayout.setWidget(2, QtGui.QFormLayout.LabelRole,
|
||||
self.permissionsLabel)
|
||||
self.permissionsEdit = QtGui.QLineEdit(self.licenseDetailsPage)
|
||||
self.permissionsEdit.setObjectName('PermissionsEdit')
|
||||
self.licenseDetailsLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.permissionsEdit)
|
||||
self.addPage(self.licenseDetailsPage)
|
||||
self.license_details_page = QtGui.QWizardPage()
|
||||
self.license_details_page.setObjectName('LicenseDetailsPage')
|
||||
self.license_details_layout = QtGui.QFormLayout(self.license_details_page)
|
||||
self.license_details_layout.setObjectName('LicenseDetailsLayout')
|
||||
self.version_name_label = QtGui.QLabel(self.license_details_page)
|
||||
self.version_name_label.setObjectName('VersionNameLabel')
|
||||
self.license_details_layout.setWidget(0, QtGui.QFormLayout.LabelRole, self.version_name_label)
|
||||
self.version_name_edit = QtGui.QLineEdit(self.license_details_page)
|
||||
self.version_name_edit.setObjectName('VersionNameEdit')
|
||||
self.license_details_layout.setWidget(0, QtGui.QFormLayout.FieldRole, self.version_name_edit)
|
||||
self.copyright_label = QtGui.QLabel(self.license_details_page)
|
||||
self.copyright_label.setObjectName('CopyrightLabel')
|
||||
self.license_details_layout.setWidget(1, QtGui.QFormLayout.LabelRole, self.copyright_label)
|
||||
self.copyright_edit = QtGui.QLineEdit(self.license_details_page)
|
||||
self.copyright_edit.setObjectName('CopyrightEdit')
|
||||
self.license_details_layout.setWidget(1, QtGui.QFormLayout.FieldRole, self.copyright_edit)
|
||||
self.permissions_label = QtGui.QLabel(self.license_details_page)
|
||||
self.permissions_label.setObjectName('PermissionsLabel')
|
||||
self.license_details_layout.setWidget(2, QtGui.QFormLayout.LabelRole, self.permissions_label)
|
||||
self.permissions_edit = QtGui.QLineEdit(self.license_details_page)
|
||||
self.permissions_edit.setObjectName('PermissionsEdit')
|
||||
self.license_details_layout.setWidget(2, QtGui.QFormLayout.FieldRole, self.permissions_edit)
|
||||
self.addPage(self.license_details_page)
|
||||
|
||||
def retranslateUi(self):
|
||||
"""
|
||||
Allow for localisation of the bible import wizard.
|
||||
"""
|
||||
self.setWindowTitle(translate('BiblesPlugin.ImportWizardForm', 'Bible Import Wizard'))
|
||||
self.title_label.setText(WizardStrings.HeaderStyle %
|
||||
translate('OpenLP.Ui', 'Welcome to the Bible Import Wizard'))
|
||||
self.title_label.setText(WizardStrings.HeaderStyle % translate('OpenLP.Ui',
|
||||
'Welcome to the Bible Import Wizard'))
|
||||
self.information_label.setText(
|
||||
translate('BiblesPlugin.ImportWizardForm',
|
||||
'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(WizardStrings.ImportSelect)
|
||||
self.selectPage.setSubTitle(WizardStrings.ImportSelectLong)
|
||||
self.formatLabel.setText(WizardStrings.FormatLabel)
|
||||
self.formatComboBox.setItemText(BibleFormat.OSIS, WizardStrings.OSIS)
|
||||
self.formatComboBox.setItemText(BibleFormat.CSV, WizardStrings.CSV)
|
||||
self.formatComboBox.setItemText(BibleFormat.OpenSong, WizardStrings.OS)
|
||||
self.formatComboBox.setItemText(BibleFormat.WebDownload,
|
||||
translate('BiblesPlugin.ImportWizardForm', 'Web Download'))
|
||||
self.osisFileLabel.setText(translate('BiblesPlugin.ImportWizardForm', 'Bible file:'))
|
||||
self.csvBooksLabel.setText(translate('BiblesPlugin.ImportWizardForm', 'Books file:'))
|
||||
self.csvVersesLabel.setText(translate('BiblesPlugin.ImportWizardForm', 'Verses file:'))
|
||||
self.openSongFileLabel.setText(translate('BiblesPlugin.ImportWizardForm', 'Bible file:'))
|
||||
self.webSourceLabel.setText(translate('BiblesPlugin.ImportWizardForm', 'Location:'))
|
||||
self.webSourceComboBox.setItemText(WebDownload.Crosswalk,
|
||||
translate('BiblesPlugin.ImportWizardForm', 'Crosswalk'))
|
||||
self.webSourceComboBox.setItemText(WebDownload.BibleGateway,
|
||||
translate('BiblesPlugin.ImportWizardForm', 'BibleGateway'))
|
||||
self.webSourceComboBox.setItemText(WebDownload.Bibleserver,
|
||||
translate('BiblesPlugin.ImportWizardForm', 'Bibleserver'))
|
||||
self.webTranslationLabel.setText(translate('BiblesPlugin.ImportWizardForm', 'Bible:'))
|
||||
self.webTabWidget.setTabText(self.webTabWidget.indexOf(self.webBibleTab),
|
||||
translate('BiblesPlugin.ImportWizardForm', 'Download Options'))
|
||||
self.webServerLabel.setText(translate('BiblesPlugin.ImportWizardForm', 'Server:'))
|
||||
self.webUserLabel.setText(translate('BiblesPlugin.ImportWizardForm', 'Username:'))
|
||||
self.webPasswordLabel.setText(translate('BiblesPlugin.ImportWizardForm', 'Password:'))
|
||||
self.webTabWidget.setTabText(self.webTabWidget.indexOf(self.webProxyTab),
|
||||
translate('BiblesPlugin.ImportWizardForm',
|
||||
'Proxy Server (Optional)'))
|
||||
self.licenseDetailsPage.setTitle(
|
||||
'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.select_page.setTitle(WizardStrings.ImportSelect)
|
||||
self.select_page.setSubTitle(WizardStrings.ImportSelectLong)
|
||||
self.format_label.setText(WizardStrings.FormatLabel)
|
||||
self.format_combo_box.setItemText(BibleFormat.OSIS, WizardStrings.OSIS)
|
||||
self.format_combo_box.setItemText(BibleFormat.CSV, WizardStrings.CSV)
|
||||
self.format_combo_box.setItemText(BibleFormat.OpenSong, WizardStrings.OS)
|
||||
self.format_combo_box.setItemText(BibleFormat.WebDownload, translate('BiblesPlugin.ImportWizardForm',
|
||||
'Web Download'))
|
||||
self.osis_file_label.setText(translate('BiblesPlugin.ImportWizardForm', 'Bible file:'))
|
||||
self.csv_books_label.setText(translate('BiblesPlugin.ImportWizardForm', 'Books file:'))
|
||||
self.csv_verses_label.setText(translate('BiblesPlugin.ImportWizardForm', 'Verses file:'))
|
||||
self.open_song_file_label.setText(translate('BiblesPlugin.ImportWizardForm', 'Bible file:'))
|
||||
self.web_source_label.setText(translate('BiblesPlugin.ImportWizardForm', 'Location:'))
|
||||
self.web_source_combo_box.setItemText(WebDownload.Crosswalk, translate('BiblesPlugin.ImportWizardForm',
|
||||
'Crosswalk'))
|
||||
self.web_source_combo_box.setItemText(WebDownload.BibleGateway, translate('BiblesPlugin.ImportWizardForm',
|
||||
'BibleGateway'))
|
||||
self.web_source_combo_box.setItemText(WebDownload.Bibleserver, translate('BiblesPlugin.ImportWizardForm',
|
||||
'Bibleserver'))
|
||||
self.web_translation_label.setText(translate('BiblesPlugin.ImportWizardForm', 'Bible:'))
|
||||
self.web_tab_widget.setTabText(self.web_tab_widget.indexOf(self.web_bible_tab),
|
||||
translate('BiblesPlugin.ImportWizardForm', 'Download Options'))
|
||||
self.web_server_label.setText(translate('BiblesPlugin.ImportWizardForm', 'Server:'))
|
||||
self.web_user_label.setText(translate('BiblesPlugin.ImportWizardForm', 'Username:'))
|
||||
self.web_password_label.setText(translate('BiblesPlugin.ImportWizardForm', 'Password:'))
|
||||
self.web_tab_widget.setTabText(
|
||||
self.web_tab_widget.indexOf(self.web_proxy_tab), translate('BiblesPlugin.ImportWizardForm',
|
||||
'Proxy Server (Optional)'))
|
||||
self.license_details_page.setTitle(
|
||||
translate('BiblesPlugin.ImportWizardForm', 'License Details'))
|
||||
self.licenseDetailsPage.setSubTitle(translate('BiblesPlugin.ImportWizardForm',
|
||||
'Set up the Bible\'s license details.'))
|
||||
self.versionNameLabel.setText(translate('BiblesPlugin.ImportWizardForm', 'Version name:'))
|
||||
self.copyrightLabel.setText(translate('BiblesPlugin.ImportWizardForm', 'Copyright:'))
|
||||
self.permissionsLabel.setText(translate('BiblesPlugin.ImportWizardForm', 'Permissions:'))
|
||||
self.license_details_page.setSubTitle(translate('BiblesPlugin.ImportWizardForm',
|
||||
'Set up the Bible\'s license details.'))
|
||||
self.version_name_label.setText(translate('BiblesPlugin.ImportWizardForm', 'Version name:'))
|
||||
self.copyright_label.setText(translate('BiblesPlugin.ImportWizardForm', 'Copyright:'))
|
||||
self.permissions_label.setText(translate('BiblesPlugin.ImportWizardForm', 'Permissions:'))
|
||||
self.progress_page.setTitle(WizardStrings.Importing)
|
||||
self.progress_page.setSubTitle(translate('BiblesPlugin.ImportWizardForm',
|
||||
'Please wait while your Bible is imported.'))
|
||||
'Please wait while your Bible is imported.'))
|
||||
self.progress_label.setText(WizardStrings.Ready)
|
||||
self.progress_bar.setFormat('%p%')
|
||||
# Align all QFormLayouts towards each other.
|
||||
labelWidth = max(self.formatLabel.minimumSizeHint().width(),
|
||||
self.osisFileLabel.minimumSizeHint().width(),
|
||||
self.csvBooksLabel.minimumSizeHint().width(),
|
||||
self.csvVersesLabel.minimumSizeHint().width(),
|
||||
self.openSongFileLabel.minimumSizeHint().width())
|
||||
self.spacer.changeSize(labelWidth, 0, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
|
||||
label_width = max(self.format_label.minimumSizeHint().width(),
|
||||
self.osis_file_label.minimumSizeHint().width(),
|
||||
self.csv_books_label.minimumSizeHint().width(),
|
||||
self.csv_verses_label.minimumSizeHint().width(),
|
||||
self.open_song_file_label.minimumSizeHint().width())
|
||||
self.spacer.changeSize(label_width, 0, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
|
||||
|
||||
def validateCurrentPage(self):
|
||||
"""
|
||||
@ -340,122 +340,130 @@ class BibleImportForm(OpenLPWizard):
|
||||
"""
|
||||
if self.currentPage() == self.welcome_page:
|
||||
return True
|
||||
elif self.currentPage() == self.selectPage:
|
||||
elif self.currentPage() == self.select_page:
|
||||
if self.field('source_format') == BibleFormat.OSIS:
|
||||
if not self.field('osis_location'):
|
||||
critical_error_message_box(UiStrings().NFSs, WizardStrings.YouSpecifyFile % WizardStrings.OSIS)
|
||||
self.osisFileEdit.setFocus()
|
||||
self.osis_file_edit.setFocus()
|
||||
return False
|
||||
elif self.field('source_format') == BibleFormat.CSV:
|
||||
if not self.field('csv_booksfile'):
|
||||
critical_error_message_box(UiStrings().NFSs, translate('BiblesPlugin.ImportWizardForm',
|
||||
'You need to specify a file with books of the Bible to use in the import.'))
|
||||
self.csvBooksEdit.setFocus()
|
||||
critical_error_message_box(
|
||||
UiStrings().NFSs, translate('BiblesPlugin.ImportWizardForm',
|
||||
'You need to specify a file with books of the Bible to use in the '
|
||||
'import.'))
|
||||
self.csv_books_edit.setFocus()
|
||||
return False
|
||||
elif not self.field('csv_versefile'):
|
||||
critical_error_message_box(UiStrings().NFSs,
|
||||
translate('BiblesPlugin.ImportWizardForm',
|
||||
'You need to specify a file of Bible verses to import.'))
|
||||
self.csvVersesEdit.setFocus()
|
||||
critical_error_message_box(
|
||||
UiStrings().NFSs,
|
||||
translate('BiblesPlugin.ImportWizardForm', 'You need to specify a file of Bible verses to '
|
||||
'import.'))
|
||||
self.csv_verses_edit.setFocus()
|
||||
return False
|
||||
elif self.field('source_format') == BibleFormat.OpenSong:
|
||||
if not self.field('opensong_file'):
|
||||
critical_error_message_box(UiStrings().NFSs, WizardStrings.YouSpecifyFile % WizardStrings.OS)
|
||||
self.openSongFileEdit.setFocus()
|
||||
self.open_song_file_edit.setFocus()
|
||||
return False
|
||||
elif self.field('source_format') == BibleFormat.WebDownload:
|
||||
self.versionNameEdit.setText(self.webTranslationComboBox.currentText())
|
||||
self.version_name_edit.setText(self.web_translation_combo_box.currentText())
|
||||
return True
|
||||
return True
|
||||
elif self.currentPage() == self.licenseDetailsPage:
|
||||
elif self.currentPage() == self.license_details_page:
|
||||
license_version = self.field('license_version')
|
||||
license_copyright = self.field('license_copyright')
|
||||
path = AppLocation.get_section_data_path('bibles')
|
||||
if not license_version:
|
||||
critical_error_message_box(UiStrings().EmptyField,
|
||||
critical_error_message_box(
|
||||
UiStrings().EmptyField,
|
||||
translate('BiblesPlugin.ImportWizardForm', 'You need to specify a version name for your Bible.'))
|
||||
self.versionNameEdit.setFocus()
|
||||
self.version_name_edit.setFocus()
|
||||
return False
|
||||
elif not license_copyright:
|
||||
critical_error_message_box(UiStrings().EmptyField,
|
||||
critical_error_message_box(
|
||||
UiStrings().EmptyField,
|
||||
translate('BiblesPlugin.ImportWizardForm', 'You need to set a copyright for your Bible. '
|
||||
'Bibles in the Public Domain need to be marked as such.'))
|
||||
self.copyrightEdit.setFocus()
|
||||
'Bibles in the Public Domain need to be marked as such.'))
|
||||
self.copyright_edit.setFocus()
|
||||
return False
|
||||
elif self.manager.exists(license_version):
|
||||
critical_error_message_box(translate('BiblesPlugin.ImportWizardForm', 'Bible Exists'),
|
||||
critical_error_message_box(
|
||||
translate('BiblesPlugin.ImportWizardForm', 'Bible Exists'),
|
||||
translate('BiblesPlugin.ImportWizardForm',
|
||||
'This Bible already exists. Please import a different Bible or first delete the existing one.'))
|
||||
self.versionNameEdit.setFocus()
|
||||
'This Bible already exists. Please import a different Bible or first delete the '
|
||||
'existing one.'))
|
||||
self.version_name_edit.setFocus()
|
||||
return False
|
||||
elif os.path.exists(os.path.join(path, clean_filename(
|
||||
license_version))):
|
||||
elif os.path.exists(os.path.join(path, clean_filename(license_version))):
|
||||
critical_error_message_box(
|
||||
translate('BiblesPlugin.ImportWizardForm', 'Bible Exists'),
|
||||
translate('BiblesPlugin.ImportWizardForm', 'This Bible already exists. Please import '
|
||||
'a different Bible or first delete the existing one.'))
|
||||
self.versionNameEdit.setFocus()
|
||||
'a different Bible or first delete the existing one.'))
|
||||
self.version_name_edit.setFocus()
|
||||
return False
|
||||
return True
|
||||
if self.currentPage() == self.progress_page:
|
||||
return True
|
||||
|
||||
def onWebSourceComboBoxIndexChanged(self, index):
|
||||
def on_web_source_combo_box_index_changed(self, index):
|
||||
"""
|
||||
Setup the list of Bibles when you select a different source on the web
|
||||
download page.
|
||||
Setup the list of Bibles when you select a different source on the web download page.
|
||||
|
||||
``index``
|
||||
The index of the combo box.
|
||||
:param index: The index of the combo box.
|
||||
"""
|
||||
self.webTranslationComboBox.clear()
|
||||
self.web_translation_combo_box.clear()
|
||||
bibles = list(self.web_bible_list[index].keys())
|
||||
bibles.sort(key=get_locale_key)
|
||||
self.webTranslationComboBox.addItems(bibles)
|
||||
self.web_translation_combo_box.addItems(bibles)
|
||||
|
||||
def onOsisBrowseButtonClicked(self):
|
||||
def on_osis_browse_button_clicked(self):
|
||||
"""
|
||||
Show the file open dialog for the OSIS file.
|
||||
"""
|
||||
self.get_file_name(WizardStrings.OpenTypeFile % WizardStrings.OSIS, self.osisFileEdit, 'last directory import')
|
||||
self.get_file_name(WizardStrings.OpenTypeFile % WizardStrings.OSIS, self.osis_file_edit,
|
||||
'last directory import')
|
||||
|
||||
def onCsvBooksBrowseButtonClicked(self):
|
||||
def on_csv_books_browse_button_clicked(self):
|
||||
"""
|
||||
Show the file open dialog for the books CSV file.
|
||||
"""
|
||||
self.get_file_name(WizardStrings.OpenTypeFile % WizardStrings.CSV, self.csvBooksEdit, 'last directory import',
|
||||
'%s (*.csv)' % translate('BiblesPlugin.ImportWizardForm', 'CSV File'))
|
||||
self.get_file_name(
|
||||
WizardStrings.OpenTypeFile % WizardStrings.CSV, self.csv_books_edit, 'last directory import', '%s (*.csv)' %
|
||||
translate('BiblesPlugin.ImportWizardForm', 'CSV File'))
|
||||
|
||||
def onCsvVersesBrowseButtonClicked(self):
|
||||
def on_csv_verses_browse_button_clicked(self):
|
||||
"""
|
||||
Show the file open dialog for the verses CSV file.
|
||||
"""
|
||||
self.get_file_name(WizardStrings.OpenTypeFile % WizardStrings.CSV, self.csvVersesEdit, 'last directory import',
|
||||
'%s (*.csv)' % translate('BiblesPlugin.ImportWizardForm', 'CSV File'))
|
||||
self.get_file_name(WizardStrings.OpenTypeFile % WizardStrings.CSV, self.csv_verses_edit,
|
||||
'last directory import', '%s (*.csv)' %
|
||||
translate('BiblesPlugin.ImportWizardForm', 'CSV File'))
|
||||
|
||||
def onOpenSongBrowseButtonClicked(self):
|
||||
def on_open_song_browse_button_clicked(self):
|
||||
"""
|
||||
Show the file open dialog for the OpenSong file.
|
||||
"""
|
||||
self.get_file_name(WizardStrings.OpenTypeFile % WizardStrings.OS, self.openSongFileEdit, 'last directory import')
|
||||
self.get_file_name(WizardStrings.OpenTypeFile % WizardStrings.OS, self.open_song_file_edit,
|
||||
'last directory import')
|
||||
|
||||
def register_fields(self):
|
||||
"""
|
||||
Register the bible import wizard fields.
|
||||
"""
|
||||
self.selectPage.registerField('source_format', self.formatComboBox)
|
||||
self.selectPage.registerField('osis_location', self.osisFileEdit)
|
||||
self.selectPage.registerField('csv_booksfile', self.csvBooksEdit)
|
||||
self.selectPage.registerField('csv_versefile', self.csvVersesEdit)
|
||||
self.selectPage.registerField('opensong_file', self.openSongFileEdit)
|
||||
self.selectPage.registerField('web_location', self.webSourceComboBox)
|
||||
self.selectPage.registerField('web_biblename', self.webTranslationComboBox)
|
||||
self.selectPage.registerField('proxy_server', self.webServerEdit)
|
||||
self.selectPage.registerField('proxy_username', self.webUserEdit)
|
||||
self.selectPage.registerField('proxy_password', self.webPasswordEdit)
|
||||
self.licenseDetailsPage.registerField('license_version', self.versionNameEdit)
|
||||
self.licenseDetailsPage.registerField('license_copyright', self.copyrightEdit)
|
||||
self.licenseDetailsPage.registerField('license_permissions', self.permissionsEdit)
|
||||
self.select_page.registerField('source_format', self.format_combo_box)
|
||||
self.select_page.registerField('osis_location', self.osis_file_edit)
|
||||
self.select_page.registerField('csv_booksfile', self.csv_books_edit)
|
||||
self.select_page.registerField('csv_versefile', self.csv_verses_edit)
|
||||
self.select_page.registerField('opensong_file', self.open_song_file_edit)
|
||||
self.select_page.registerField('web_location', self.web_source_combo_box)
|
||||
self.select_page.registerField('web_biblename', self.web_translation_combo_box)
|
||||
self.select_page.registerField('proxy_server', self.web_server_edit)
|
||||
self.select_page.registerField('proxy_username', self.web_user_edit)
|
||||
self.select_page.registerField('proxy_password', self.web_password_edit)
|
||||
self.license_details_page.registerField('license_version', self.version_name_edit)
|
||||
self.license_details_page.registerField('license_copyright', self.copyright_edit)
|
||||
self.license_details_page.registerField('license_permissions', self.permissions_edit)
|
||||
|
||||
def setDefaults(self):
|
||||
"""
|
||||
@ -472,33 +480,32 @@ class BibleImportForm(OpenLPWizard):
|
||||
self.setField('csv_versefile', '')
|
||||
self.setField('opensong_file', '')
|
||||
self.setField('web_location', WebDownload.Crosswalk)
|
||||
self.setField('web_biblename', self.webTranslationComboBox.currentIndex())
|
||||
self.setField('web_biblename', self.web_translation_combo_box.currentIndex())
|
||||
self.setField('proxy_server', settings.value('proxy address'))
|
||||
self.setField('proxy_username', settings.value('proxy username'))
|
||||
self.setField('proxy_password', settings.value('proxy password'))
|
||||
self.setField('license_version', self.versionNameEdit.text())
|
||||
self.setField('license_copyright', self.copyrightEdit.text())
|
||||
self.setField('license_permissions', self.permissionsEdit.text())
|
||||
self.onWebSourceComboBoxIndexChanged(WebDownload.Crosswalk)
|
||||
self.setField('license_version', self.version_name_edit.text())
|
||||
self.setField('license_copyright', self.copyright_edit.text())
|
||||
self.setField('license_permissions', self.permissions_edit.text())
|
||||
self.on_web_source_combo_box_index_changed(WebDownload.Crosswalk)
|
||||
settings.endGroup()
|
||||
|
||||
def loadWebBibles(self):
|
||||
def load_Web_Bibles(self):
|
||||
"""
|
||||
Load the lists of Crosswalk, BibleGateway and Bibleserver bibles.
|
||||
"""
|
||||
# Load Crosswalk Bibles.
|
||||
self.loadBibleResource(WebDownload.Crosswalk)
|
||||
self.load_Bible_Resource(WebDownload.Crosswalk)
|
||||
# Load BibleGateway Bibles.
|
||||
self.loadBibleResource(WebDownload.BibleGateway)
|
||||
self.load_Bible_Resource(WebDownload.BibleGateway)
|
||||
# Load and Bibleserver Bibles.
|
||||
self.loadBibleResource(WebDownload.Bibleserver)
|
||||
self.load_Bible_Resource(WebDownload.Bibleserver)
|
||||
|
||||
def loadBibleResource(self, download_type):
|
||||
def load_Bible_Resource(self, download_type):
|
||||
"""
|
||||
Loads a web bible from bible_resources.sqlite.
|
||||
|
||||
``download_type``
|
||||
The WebDownload type e.g. bibleserver.
|
||||
:param download_type: The WebDownload type e.g. bibleserver.
|
||||
"""
|
||||
self.web_bible_list[download_type] = {}
|
||||
bibles = BiblesResourcesDB.get_webbibles(WebDownload.Names[download_type])
|
||||
@ -530,28 +537,22 @@ class BibleImportForm(OpenLPWizard):
|
||||
importer = None
|
||||
if bible_type == BibleFormat.OSIS:
|
||||
# Import an OSIS bible.
|
||||
importer = self.manager.import_bible(BibleFormat.OSIS,
|
||||
name=license_version,
|
||||
filename=self.field('osis_location')
|
||||
)
|
||||
importer = self.manager.import_bible(BibleFormat.OSIS, name=license_version,
|
||||
filename=self.field('osis_location'))
|
||||
elif bible_type == BibleFormat.CSV:
|
||||
# Import a CSV bible.
|
||||
importer = self.manager.import_bible(BibleFormat.CSV,
|
||||
name=license_version,
|
||||
booksfile=self.field('csv_booksfile'),
|
||||
versefile=self.field('csv_versefile')
|
||||
)
|
||||
importer = self.manager.import_bible(BibleFormat.CSV, name=license_version,
|
||||
booksfile=self.field('csv_booksfile'),
|
||||
versefile=self.field('csv_versefile'))
|
||||
elif bible_type == BibleFormat.OpenSong:
|
||||
# Import an OpenSong bible.
|
||||
importer = self.manager.import_bible(BibleFormat.OpenSong,
|
||||
name=license_version,
|
||||
filename=self.field('opensong_file')
|
||||
)
|
||||
importer = self.manager.import_bible(BibleFormat.OpenSong, name=license_version,
|
||||
filename=self.field('opensong_file'))
|
||||
elif bible_type == BibleFormat.WebDownload:
|
||||
# Import a bible from the web.
|
||||
self.progress_bar.setMaximum(1)
|
||||
download_location = self.field('web_location')
|
||||
bible_version = self.webTranslationComboBox.currentText()
|
||||
bible_version = self.web_translation_combo_box.currentText()
|
||||
bible = self.web_bible_list[download_location][bible_version]
|
||||
importer = self.manager.import_bible(
|
||||
BibleFormat.WebDownload, name=license_version,
|
||||
@ -562,13 +563,12 @@ class BibleImportForm(OpenLPWizard):
|
||||
proxy_password=self.field('proxy_password')
|
||||
)
|
||||
if importer.do_import(license_version):
|
||||
self.manager.save_meta_data(license_version, license_version,
|
||||
license_copyright, license_permissions)
|
||||
self.manager.save_meta_data(license_version, license_version, license_copyright, license_permissions)
|
||||
self.manager.reload_bibles()
|
||||
if bible_type == BibleFormat.WebDownload:
|
||||
self.progress_label.setText(
|
||||
translate('BiblesPlugin.ImportWizardForm', 'Registered Bible. Please note, that verses will be '
|
||||
'downloaded on\ndemand and thus an internet connection is required.'))
|
||||
'downloaded on\ndemand and thus an internet connection is required.'))
|
||||
else:
|
||||
self.progress_label.setText(WizardStrings.FinishedImport)
|
||||
else:
|
||||
|
@ -96,34 +96,34 @@ class BibleUpgradeForm(OpenLPWizard):
|
||||
if not self.currentPage() == self.progress_page:
|
||||
self.done(QtGui.QDialog.Rejected)
|
||||
|
||||
def onCurrentIdChanged(self, pageId):
|
||||
def onCurrentIdChanged(self, page_id):
|
||||
"""
|
||||
Perform necessary functions depending on which wizard page is active.
|
||||
"""
|
||||
if self.page(pageId) == self.progress_page:
|
||||
if self.page(page_id) == self.progress_page:
|
||||
self.pre_wizard()
|
||||
self.perform_wizard()
|
||||
self.post_wizard()
|
||||
elif self.page(pageId) == self.selectPage and not self.files:
|
||||
elif self.page(page_id) == self.selectPage and not self.files:
|
||||
self.next()
|
||||
|
||||
def onBackupBrowseButtonClicked(self):
|
||||
def on_backup_browse_button_clicked(self):
|
||||
"""
|
||||
Show the file open dialog for the OSIS file.
|
||||
"""
|
||||
filename = QtGui.QFileDialog.getExistingDirectory(self,
|
||||
translate('BiblesPlugin.UpgradeWizardForm', 'Select a Backup Directory'), '')
|
||||
filename = QtGui.QFileDialog.getExistingDirectory(self, translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Select a Backup Directory'), '')
|
||||
if filename:
|
||||
self.backupDirectoryEdit.setText(filename)
|
||||
|
||||
def onNoBackupCheckBoxToggled(self, checked):
|
||||
def on_no_backup_check_box_toggled(self, checked):
|
||||
"""
|
||||
Enable or disable the backup directory widgets.
|
||||
"""
|
||||
self.backupDirectoryEdit.setEnabled(not checked)
|
||||
self.backupBrowseButton.setEnabled(not checked)
|
||||
|
||||
def backupOldBibles(self, backup_directory):
|
||||
def backup_old_bibles(self, backup_directory):
|
||||
"""
|
||||
Backup old bible databases in a given folder.
|
||||
"""
|
||||
@ -147,8 +147,8 @@ class BibleUpgradeForm(OpenLPWizard):
|
||||
"""
|
||||
Set up the signals used in the bible importer.
|
||||
"""
|
||||
self.backupBrowseButton.clicked.connect(self.onBackupBrowseButtonClicked)
|
||||
self.noBackupCheckBox.toggled.connect(self.onNoBackupCheckBoxToggled)
|
||||
self.backupBrowseButton.clicked.connect(self.on_backup_browse_button_clicked)
|
||||
self.noBackupCheckBox.toggled.connect(self.on_no_backup_check_box_toggled)
|
||||
|
||||
def add_custom_pages(self):
|
||||
"""
|
||||
@ -238,32 +238,34 @@ class BibleUpgradeForm(OpenLPWizard):
|
||||
Allow for localisation of the bible import wizard.
|
||||
"""
|
||||
self.setWindowTitle(translate('BiblesPlugin.UpgradeWizardForm', 'Bible Upgrade Wizard'))
|
||||
self.title_label.setText(WizardStrings.HeaderStyle %
|
||||
translate('OpenLP.Ui', 'Welcome to the Bible Upgrade Wizard'))
|
||||
self.information_label.setText(translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'This wizard will help you to upgrade your existing Bibles from a prior version of OpenLP 2. '
|
||||
'Click the next button below to start the upgrade process.'))
|
||||
self.title_label.setText(WizardStrings.HeaderStyle % translate('OpenLP.Ui',
|
||||
'Welcome to the Bible Upgrade Wizard'))
|
||||
self.information_label.setText(
|
||||
translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'This wizard will help you to upgrade your existing Bibles from a prior version of OpenLP 2. '
|
||||
'Click the next button below to start the upgrade process.'))
|
||||
self.backup_page.setTitle(translate('BiblesPlugin.UpgradeWizardForm', 'Select Backup Directory'))
|
||||
self.backup_page.setSubTitle(translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Please select a backup directory for your Bibles'))
|
||||
self.backupInfoLabel.setText(translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Previous releases of OpenLP 2.0 are unable to use upgraded Bibles.'
|
||||
' This will create a backup of your current Bibles so that you can '
|
||||
'simply copy the files back to your OpenLP data directory if you '
|
||||
'need to revert to a previous release of OpenLP. Instructions on '
|
||||
'how to restore the files can be found in our <a href="'
|
||||
'http://wiki.openlp.org/faq">Frequently Asked Questions</a>.'))
|
||||
self.selectLabel.setText(translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Please select a backup location for your Bibles.'))
|
||||
self.backup_page.setSubTitle(
|
||||
translate('BiblesPlugin.UpgradeWizardForm', 'Please select a backup directory for your Bibles'))
|
||||
self.backupInfoLabel.setText(
|
||||
translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Previous releases of OpenLP 2.0 are unable to use upgraded Bibles.'
|
||||
' This will create a backup of your current Bibles so that you can '
|
||||
'simply copy the files back to your OpenLP data directory if you '
|
||||
'need to revert to a previous release of OpenLP. Instructions on '
|
||||
'how to restore the files can be found in our <a href="'
|
||||
'http://wiki.openlp.org/faq">Frequently Asked Questions</a>.'))
|
||||
self.selectLabel.setText(
|
||||
translate('BiblesPlugin.UpgradeWizardForm', 'Please select a backup location for your Bibles.'))
|
||||
self.backupDirectoryLabel.setText(translate('BiblesPlugin.UpgradeWizardForm', 'Backup Directory:'))
|
||||
self.noBackupCheckBox.setText(
|
||||
translate('BiblesPlugin.UpgradeWizardForm', 'There is no need to backup my Bibles'))
|
||||
self.selectPage.setTitle(translate('BiblesPlugin.UpgradeWizardForm', 'Select Bibles'))
|
||||
self.selectPage.setSubTitle(translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Please select the Bibles to upgrade'))
|
||||
self.selectPage.setSubTitle(
|
||||
translate('BiblesPlugin.UpgradeWizardForm', 'Please select the Bibles to upgrade'))
|
||||
self.progress_page.setTitle(translate('BiblesPlugin.UpgradeWizardForm', 'Upgrading'))
|
||||
self.progress_page.setSubTitle(translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Please wait while your Bibles are upgraded.'))
|
||||
self.progress_page.setSubTitle(
|
||||
translate('BiblesPlugin.UpgradeWizardForm', 'Please wait while your Bibles are upgraded.'))
|
||||
self.progress_label.setText(WizardStrings.Ready)
|
||||
self.progress_bar.setFormat('%p%')
|
||||
|
||||
@ -277,16 +279,18 @@ class BibleUpgradeForm(OpenLPWizard):
|
||||
if not self.noBackupCheckBox.checkState() == QtCore.Qt.Checked:
|
||||
backup_path = self.backupDirectoryEdit.text()
|
||||
if not backup_path:
|
||||
critical_error_message_box(UiStrings().EmptyField,
|
||||
translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'You need to specify a backup directory for your Bibles.'))
|
||||
critical_error_message_box(
|
||||
UiStrings().EmptyField,
|
||||
translate('BiblesPlugin.UpgradeWizardForm', 'You need to specify a backup directory for '
|
||||
'your Bibles.'))
|
||||
self.backupDirectoryEdit.setFocus()
|
||||
return False
|
||||
else:
|
||||
if not self.backupOldBibles(backup_path):
|
||||
critical_error_message_box(UiStrings().Error,
|
||||
translate('BiblesPlugin.UpgradeWizardForm', 'The backup was not successful.\nTo backup your '
|
||||
'Bibles you need permission to write to the given directory.'))
|
||||
if not self.backup_old_bibles(backup_path):
|
||||
critical_error_message_box(
|
||||
UiStrings().Error,
|
||||
translate('BiblesPlugin.UpgradeWizardForm', 'The backup was not successful.\nTo backup '
|
||||
'your Bibles you need permission to write to the given directory.'))
|
||||
return False
|
||||
return True
|
||||
elif self.currentPage() == self.selectPage:
|
||||
@ -340,8 +344,8 @@ class BibleUpgradeForm(OpenLPWizard):
|
||||
self.includeWebBible = False
|
||||
proxy_server = None
|
||||
if not self.files:
|
||||
self.progress_label.setText(translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'There are no Bibles that need to be upgraded.'))
|
||||
self.progress_label.setText(
|
||||
translate('BiblesPlugin.UpgradeWizardForm', 'There are no Bibles that need to be upgraded.'))
|
||||
self.progress_bar.hide()
|
||||
return
|
||||
max_bibles = 0
|
||||
@ -363,11 +367,11 @@ class BibleUpgradeForm(OpenLPWizard):
|
||||
self.success[number] = False
|
||||
continue
|
||||
self.progress_bar.reset()
|
||||
old_bible = OldBibleDB(self.media_item, path=self.temp_dir,
|
||||
file=filename[0])
|
||||
old_bible = OldBibleDB(self.media_item, path=self.temp_dir, file=filename[0])
|
||||
name = filename[1]
|
||||
self.progress_label.setText(translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Upgrading Bible %s of %s: "%s"\nUpgrading ...') % (number + 1, max_bibles, name))
|
||||
self.progress_label.setText(
|
||||
translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Upgrading Bible %s of %s: "%s"\nUpgrading ...') % (number + 1, max_bibles, name))
|
||||
self.new_bibles[number] = BibleDB(self.media_item, path=self.path, name=name, file=filename[0])
|
||||
self.new_bibles[number].register(self.plugin.upgrade_wizard)
|
||||
metadata = old_bible.get_metadata()
|
||||
@ -404,7 +408,7 @@ class BibleUpgradeForm(OpenLPWizard):
|
||||
critical_error_message_box(
|
||||
translate('BiblesPlugin.UpgradeWizardForm', 'Download Error'),
|
||||
translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'To upgrade your Web Bibles an Internet connection is required.'))
|
||||
'To upgrade your Web Bibles an Internet connection is required.'))
|
||||
self.increment_progress_bar(translate(
|
||||
'BiblesPlugin.UpgradeWizardForm', 'Upgrading Bible %s of %s: "%s"\nFailed') %
|
||||
(number + 1, max_bibles, name), self.progress_bar.maximum() - self.progress_bar.value())
|
||||
@ -415,16 +419,16 @@ class BibleUpgradeForm(OpenLPWizard):
|
||||
meta_data['download_source'].lower())
|
||||
if bible and bible['language_id']:
|
||||
language_id = bible['language_id']
|
||||
self.new_bibles[number].save_meta('language_id',
|
||||
language_id)
|
||||
self.new_bibles[number].save_meta('language_id', language_id)
|
||||
else:
|
||||
language_id = self.new_bibles[number].get_language(name)
|
||||
if not language_id:
|
||||
log.warn('Upgrading from "%s" failed' % filename[0])
|
||||
self.new_bibles[number].session.close()
|
||||
del self.new_bibles[number]
|
||||
self.increment_progress_bar(translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Upgrading Bible %s of %s: "%s"\nFailed') % (number + 1, max_bibles, name),
|
||||
self.increment_progress_bar(
|
||||
translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Upgrading Bible %s of %s: "%s"\nFailed') % (number + 1, max_bibles, name),
|
||||
self.progress_bar.maximum() - self.progress_bar.value())
|
||||
self.success[number] = False
|
||||
continue
|
||||
@ -433,8 +437,10 @@ class BibleUpgradeForm(OpenLPWizard):
|
||||
if self.stop_import_flag:
|
||||
self.success[number] = False
|
||||
break
|
||||
self.increment_progress_bar(translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Upgrading Bible %s of %s: "%s"\nUpgrading %s ...') % (number + 1, max_bibles, name, book))
|
||||
self.increment_progress_bar(
|
||||
translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Upgrading Bible %s of %s: "%s"\nUpgrading %s ...') %
|
||||
(number + 1, max_bibles, name, book))
|
||||
book_ref_id = self.new_bibles[number].\
|
||||
get_book_ref_id_by_name(book, len(books), language_id)
|
||||
if not book_ref_id:
|
||||
@ -445,8 +451,7 @@ class BibleUpgradeForm(OpenLPWizard):
|
||||
self.success[number] = False
|
||||
break
|
||||
book_details = BiblesResourcesDB.get_book_by_id(book_ref_id)
|
||||
db_book = self.new_bibles[number].create_book(book,
|
||||
book_ref_id, book_details['testament_id'])
|
||||
db_book = self.new_bibles[number].create_book(book, book_ref_id, book_details['testament_id'])
|
||||
# Try to import already downloaded verses.
|
||||
oldbook = old_bible.get_book(book)
|
||||
if oldbook:
|
||||
@ -458,9 +463,8 @@ class BibleUpgradeForm(OpenLPWizard):
|
||||
if self.stop_import_flag:
|
||||
self.success[number] = False
|
||||
break
|
||||
self.new_bibles[number].create_verse(db_book.id,
|
||||
int(verse['chapter']),
|
||||
int(verse['verse']), str(verse['text']))
|
||||
self.new_bibles[number].create_verse(db_book.id, int(verse['chapter']),
|
||||
int(verse['verse']), str(verse['text']))
|
||||
self.application.process_events()
|
||||
self.new_bibles[number].session.commit()
|
||||
else:
|
||||
@ -471,8 +475,9 @@ class BibleUpgradeForm(OpenLPWizard):
|
||||
log.warn('Upgrading books from "%s" failed' % name)
|
||||
self.new_bibles[number].session.close()
|
||||
del self.new_bibles[number]
|
||||
self.increment_progress_bar(translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Upgrading Bible %s of %s: "%s"\nFailed') % (number + 1, max_bibles, name),
|
||||
self.increment_progress_bar(
|
||||
translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Upgrading Bible %s of %s: "%s"\nFailed') % (number + 1, max_bibles, name),
|
||||
self.progress_bar.maximum() - self.progress_bar.value())
|
||||
self.success[number] = False
|
||||
continue
|
||||
@ -482,8 +487,9 @@ class BibleUpgradeForm(OpenLPWizard):
|
||||
if self.stop_import_flag:
|
||||
self.success[number] = False
|
||||
break
|
||||
self.increment_progress_bar(translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Upgrading Bible %s of %s: "%s"\nUpgrading %s ...') %
|
||||
self.increment_progress_bar(
|
||||
translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Upgrading Bible %s of %s: "%s"\nUpgrading %s ...') %
|
||||
(number + 1, max_bibles, name, book['name']))
|
||||
book_ref_id = self.new_bibles[number].get_book_ref_id_by_name(book['name'], len(books), language_id)
|
||||
if not book_ref_id:
|
||||
@ -493,8 +499,8 @@ class BibleUpgradeForm(OpenLPWizard):
|
||||
self.success[number] = False
|
||||
break
|
||||
book_details = BiblesResourcesDB.get_book_by_id(book_ref_id)
|
||||
db_book = self.new_bibles[number].create_book(book['name'],
|
||||
book_ref_id, book_details['testament_id'])
|
||||
db_book = self.new_bibles[number].create_book(book['name'], book_ref_id,
|
||||
book_details['testament_id'])
|
||||
verses = old_bible.get_verses(book['id'])
|
||||
if not verses:
|
||||
log.warn('No verses found to import for book "%s"', book['name'])
|
||||
@ -504,20 +510,21 @@ class BibleUpgradeForm(OpenLPWizard):
|
||||
if self.stop_import_flag:
|
||||
self.success[number] = False
|
||||
break
|
||||
self.new_bibles[number].create_verse(db_book.id,
|
||||
int(verse['chapter']),
|
||||
int(verse['verse']), str(verse['text']))
|
||||
self.new_bibles[number].create_verse(db_book.id, int(verse['chapter']), int(verse['verse']),
|
||||
str(verse['text']))
|
||||
self.application.process_events()
|
||||
self.new_bibles[number].session.commit()
|
||||
if not self.success.get(number, True):
|
||||
self.increment_progress_bar(translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Upgrading Bible %s of %s: "%s"\nFailed') % (number + 1, max_bibles, name),
|
||||
self.increment_progress_bar(
|
||||
translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Upgrading Bible %s of %s: "%s"\nFailed') % (number + 1, max_bibles, name),
|
||||
self.progress_bar.maximum() - self.progress_bar.value())
|
||||
else:
|
||||
self.success[number] = True
|
||||
self.new_bibles[number].save_meta('name', name)
|
||||
self.increment_progress_bar(translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Upgrading Bible %s of %s: "%s"\nComplete') % (number + 1, max_bibles, name))
|
||||
self.increment_progress_bar(
|
||||
translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Upgrading Bible %s of %s: "%s"\nComplete') % (number + 1, max_bibles, name))
|
||||
if number in self.new_bibles:
|
||||
self.new_bibles[number].session.close()
|
||||
# Close the last bible's connection if possible.
|
||||
@ -545,12 +552,15 @@ class BibleUpgradeForm(OpenLPWizard):
|
||||
failed_import_text = ''
|
||||
if successful_import > 0:
|
||||
if self.includeWebBible:
|
||||
self.progress_label.setText(translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Upgrading Bible(s): %s successful%s\nPlease note that verses from Web Bibles will be downloaded '
|
||||
'on demand and so an Internet connection is required.') % (successful_import, failed_import_text))
|
||||
self.progress_label.setText(
|
||||
translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Upgrading Bible(s): %s successful%s\nPlease note that verses from Web Bibles will be '
|
||||
'downloaded on demand and so an Internet connection is required.') %
|
||||
(successful_import, failed_import_text))
|
||||
else:
|
||||
self.progress_label.setText(translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'Upgrading Bible(s): %s successful%s') % (successful_import, failed_import_text))
|
||||
self.progress_label.setText(
|
||||
translate('BiblesPlugin.UpgradeWizardForm', 'Upgrading Bible(s): %s successful%s') % (
|
||||
successful_import, failed_import_text))
|
||||
else:
|
||||
self.progress_label.setText(translate('BiblesPlugin.UpgradeWizardForm', 'Upgrade failed.'))
|
||||
# Remove temp directory.
|
||||
|
@ -32,6 +32,7 @@ from PyQt4 import QtCore, QtGui
|
||||
from openlp.core.common import translate
|
||||
from openlp.core.lib.ui import create_button_box
|
||||
|
||||
|
||||
class Ui_BookNameDialog(object):
|
||||
def setupUi(self, book_name_dialog):
|
||||
book_name_dialog.setObjectName('book_name_dialog')
|
||||
@ -48,15 +49,15 @@ class Ui_BookNameDialog(object):
|
||||
self.corresponding_layout.setColumnStretch(1, 1)
|
||||
self.corresponding_layout.setSpacing(8)
|
||||
self.corresponding_layout.setObjectName('corresponding_layout')
|
||||
self.currentLabel = QtGui.QLabel(book_name_dialog)
|
||||
self.currentLabel.setObjectName('currentLabel')
|
||||
self.corresponding_layout.addWidget(self.currentLabel, 0, 0, 1, 1)
|
||||
self.current_label = QtGui.QLabel(book_name_dialog)
|
||||
self.current_label.setObjectName('current_label')
|
||||
self.corresponding_layout.addWidget(self.current_label, 0, 0, 1, 1)
|
||||
self.current_book_label = QtGui.QLabel(book_name_dialog)
|
||||
self.current_book_label.setObjectName('current_book_label')
|
||||
self.corresponding_layout.addWidget(self.current_book_label, 0, 1, 1, 1)
|
||||
self.correspondingLabel = QtGui.QLabel(book_name_dialog)
|
||||
self.correspondingLabel.setObjectName('correspondingLabel')
|
||||
self.corresponding_layout.addWidget(self.correspondingLabel, 1, 0, 1, 1)
|
||||
self.corresponding_label = QtGui.QLabel(book_name_dialog)
|
||||
self.corresponding_label.setObjectName('corresponding_label')
|
||||
self.corresponding_layout.addWidget(self.corresponding_label, 1, 0, 1, 1)
|
||||
self.corresponding_combo_box = QtGui.QComboBox(book_name_dialog)
|
||||
self.corresponding_combo_box.setObjectName('corresponding_combo_box')
|
||||
self.corresponding_layout.addWidget(self.corresponding_combo_box, 1, 1, 1, 1)
|
||||
@ -87,11 +88,11 @@ class Ui_BookNameDialog(object):
|
||||
|
||||
def retranslateUi(self, book_name_dialog):
|
||||
book_name_dialog.setWindowTitle(translate('BiblesPlugin.BookNameDialog', 'Select Book Name'))
|
||||
self.info_label.setText(translate('BiblesPlugin.BookNameDialog',
|
||||
'The following book name cannot be matched up internally. '
|
||||
'Please select the corresponding name from the list.'))
|
||||
self.currentLabel.setText(translate('BiblesPlugin.BookNameDialog', 'Current name:'))
|
||||
self.correspondingLabel.setText(translate('BiblesPlugin.BookNameDialog', 'Corresponding name:'))
|
||||
self.info_label.setText(
|
||||
translate('BiblesPlugin.BookNameDialog', 'The following book name cannot be matched up internally. '
|
||||
'Please select the corresponding name from the list.'))
|
||||
self.current_label.setText(translate('BiblesPlugin.BookNameDialog', 'Current name:'))
|
||||
self.corresponding_label.setText(translate('BiblesPlugin.BookNameDialog', 'Corresponding name:'))
|
||||
self.options_group_box.setTitle(translate('BiblesPlugin.BookNameDialog', 'Show Books From'))
|
||||
self.old_testament_check_box.setText(translate('BiblesPlugin.BookNameDialog', 'Old Testament'))
|
||||
self.new_testament_check_box.setText(translate('BiblesPlugin.BookNameDialog', 'New Testament'))
|
||||
|
@ -52,7 +52,7 @@ class BookNameForm(QDialog, Ui_BookNameDialog):
|
||||
"""
|
||||
log.info('BookNameForm loaded')
|
||||
|
||||
def __init__(self, parent = None):
|
||||
def __init__(self, parent=None):
|
||||
"""
|
||||
Constructor
|
||||
"""
|
||||
@ -66,11 +66,11 @@ class BookNameForm(QDialog, Ui_BookNameDialog):
|
||||
"""
|
||||
Set up the signals used in the booknameform.
|
||||
"""
|
||||
self.old_testament_check_box.stateChanged.connect(self.onCheckBoxIndexChanged)
|
||||
self.new_testament_check_box.stateChanged.connect(self.onCheckBoxIndexChanged)
|
||||
self.apocrypha_check_box.stateChanged.connect(self.onCheckBoxIndexChanged)
|
||||
self.old_testament_check_box.stateChanged.connect(self.on_check_box_index_changed)
|
||||
self.new_testament_check_box.stateChanged.connect(self.on_check_box_index_changed)
|
||||
self.apocrypha_check_box.stateChanged.connect(self.on_check_box_index_changed)
|
||||
|
||||
def onCheckBoxIndexChanged(self, index):
|
||||
def on_check_box_index_changed(self, index):
|
||||
"""
|
||||
Reload Combobox if CheckBox state has changed
|
||||
"""
|
||||
@ -119,7 +119,8 @@ class BookNameForm(QDialog, Ui_BookNameDialog):
|
||||
cor_book = self.corresponding_combo_box.currentText()
|
||||
for character in '\\.^$*+?{}[]()':
|
||||
cor_book = cor_book.replace(character, '\\' + character)
|
||||
books = [key for key in list(self.book_names.keys()) if re.match(cor_book, str(self.book_names[key]), re.UNICODE)]
|
||||
books = [key for key in list(self.book_names.keys()) if re.match(cor_book, str(self.book_names[key]),
|
||||
re.UNICODE)]
|
||||
books = [_f for _f in map(BiblesResourcesDB.get_book, books) if _f]
|
||||
if books:
|
||||
self.book_id = books[0]['id']
|
||||
|
@ -107,7 +107,7 @@ class Ui_EditBibleDialog(object):
|
||||
self.book_name_widget_layout = QtGui.QFormLayout(self.book_name_widget)
|
||||
self.book_name_widget_layout.setObjectName('book_name_widget_layout')
|
||||
self.book_name_label = {}
|
||||
self.book_name_edit= {}
|
||||
self.book_name_edit = {}
|
||||
for book in BiblesResourcesDB.get_books():
|
||||
self.book_name_label[book['abbreviation']] = QtGui.QLabel(self.book_name_widget)
|
||||
self.book_name_label[book['abbreviation']].setObjectName('book_name_label[%s]' % book['abbreviation'])
|
||||
@ -131,24 +131,28 @@ class Ui_EditBibleDialog(object):
|
||||
self.book_names = BibleStrings().BookNames
|
||||
edit_bible_dialog.setWindowTitle(translate('BiblesPlugin.EditBibleForm', 'Bible Editor'))
|
||||
# Meta tab
|
||||
self.bible_tab_widget.setTabText( self.bible_tab_widget.indexOf(self.meta_tab),
|
||||
translate('SongsPlugin.EditBibleForm', 'Meta Data'))
|
||||
self.bible_tab_widget.setTabText(
|
||||
self.bible_tab_widget.indexOf(self.meta_tab), translate('SongsPlugin.EditBibleForm', 'Meta Data'))
|
||||
self.license_details_group_box.setTitle(translate('BiblesPlugin.EditBibleForm', 'License Details'))
|
||||
self.version_name_label.setText(translate('BiblesPlugin.EditBibleForm', 'Version name:'))
|
||||
self.copyright_label.setText(translate('BiblesPlugin.EditBibleForm', 'Copyright:'))
|
||||
self.permissions_label.setText(translate('BiblesPlugin.EditBibleForm', 'Permissions:'))
|
||||
self.language_selection_group_box.setTitle(translate('BiblesPlugin.EditBibleForm', 'Default Bible Language'))
|
||||
self.language_selection_label.setText(translate('BiblesPlugin.EditBibleForm',
|
||||
'Book name language in search field, search results and on display:'))
|
||||
self.language_selection_label.setText(
|
||||
translate('BiblesPlugin.EditBibleForm', 'Book name language in search field, search results and '
|
||||
'on display:'))
|
||||
self.language_selection_combo_box.setItemText(0, translate('BiblesPlugin.EditBibleForm', 'Global Settings'))
|
||||
self.language_selection_combo_box.setItemText(LanguageSelection.Bible + 1,
|
||||
self.language_selection_combo_box.setItemText(
|
||||
LanguageSelection.Bible + 1,
|
||||
translate('BiblesPlugin.EditBibleForm', 'Bible Language'))
|
||||
self.language_selection_combo_box.setItemText(LanguageSelection.Application + 1,
|
||||
translate('BiblesPlugin.EditBibleForm', 'Application Language'))
|
||||
self.language_selection_combo_box.setItemText(LanguageSelection.English + 1,
|
||||
self.language_selection_combo_box.setItemText(
|
||||
LanguageSelection.Application + 1, translate('BiblesPlugin.EditBibleForm', 'Application Language'))
|
||||
self.language_selection_combo_box.setItemText(
|
||||
LanguageSelection.English + 1,
|
||||
translate('BiblesPlugin.EditBibleForm', 'English'))
|
||||
# Book name tab
|
||||
self.bible_tab_widget.setTabText(self.bible_tab_widget.indexOf(self.book_name_tab),
|
||||
self.bible_tab_widget.setTabText(
|
||||
self.bible_tab_widget.indexOf(self.book_name_tab),
|
||||
translate('SongsPlugin.EditBibleForm', 'Custom Book Names'))
|
||||
for book in BiblesResourcesDB.get_books():
|
||||
self.book_name_label[book['abbreviation']].setText('%s:' % str(self.book_names[book['abbreviation']]))
|
||||
|
@ -176,7 +176,7 @@ class EditBibleForm(QtGui.QDialog, Ui_EditBibleDialog, RegistryProperties):
|
||||
critical_error_message_box(
|
||||
UiStrings().EmptyField,
|
||||
translate('BiblesPlugin.BibleEditForm', 'You need to specify a book name for "%s".') %
|
||||
self.book_names[abbreviation])
|
||||
self.book_names[abbreviation])
|
||||
return False
|
||||
elif not book_regex.match(new_book_name):
|
||||
self.book_name_edit[abbreviation].setFocus()
|
||||
|
@ -32,6 +32,7 @@ from PyQt4 import QtGui
|
||||
from openlp.core.common import translate
|
||||
from openlp.core.lib.ui import create_button_box
|
||||
|
||||
|
||||
class Ui_LanguageDialog(object):
|
||||
def setupUi(self, language_dialog):
|
||||
language_dialog.setObjectName('language_dialog')
|
||||
@ -54,11 +55,11 @@ class Ui_LanguageDialog(object):
|
||||
self.language_label.setObjectName('language_label')
|
||||
self.language_h_box_layout.addWidget(self.language_label)
|
||||
self.language_combo_box = QtGui.QComboBox(language_dialog)
|
||||
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.language_combo_box.sizePolicy().hasHeightForWidth())
|
||||
self.language_combo_box.setSizePolicy(sizePolicy)
|
||||
size_policy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
|
||||
size_policy.setHorizontalStretch(0)
|
||||
size_policy.setVerticalStretch(0)
|
||||
size_policy.setHeightForWidth(self.language_combo_box.sizePolicy().hasHeightForWidth())
|
||||
self.language_combo_box.setSizePolicy(size_policy)
|
||||
self.language_combo_box.setObjectName('language_combo_box')
|
||||
self.language_h_box_layout.addWidget(self.language_combo_box)
|
||||
self.language_layout.addLayout(self.language_h_box_layout)
|
||||
@ -70,7 +71,8 @@ class Ui_LanguageDialog(object):
|
||||
def retranslateUi(self, language_dialog):
|
||||
language_dialog.setWindowTitle(translate('BiblesPlugin.LanguageDialog', 'Select Language'))
|
||||
self.bible_label.setText(translate('BiblesPlugin.LanguageDialog', ''))
|
||||
self.info_label.setText(translate('BiblesPlugin.LanguageDialog',
|
||||
'OpenLP is unable to determine the language of this translation of the Bible. Please select the language '
|
||||
'from the list below.'))
|
||||
self.info_label.setText(
|
||||
translate('BiblesPlugin.LanguageDialog',
|
||||
'OpenLP is unable to determine the language of this translation of the Bible. Please select '
|
||||
'the language from the list below.'))
|
||||
self.language_label.setText(translate('BiblesPlugin.LanguageDialog', 'Language:'))
|
||||
|
@ -36,8 +36,7 @@ from PyQt4.QtGui import QDialog
|
||||
|
||||
from openlp.core.common import translate
|
||||
from openlp.core.lib.ui import critical_error_message_box
|
||||
from openlp.plugins.bibles.forms.languagedialog import \
|
||||
Ui_LanguageDialog
|
||||
from openlp.plugins.bibles.forms.languagedialog import Ui_LanguageDialog
|
||||
from openlp.plugins.bibles.lib.db import BiblesResourcesDB
|
||||
|
||||
|
||||
|
@ -218,9 +218,10 @@ def update_reference_separators():
|
||||
REFERENCE_MATCHES['range'] = re.compile('^\s*%s\s*$' % range_regex, re.UNICODE)
|
||||
REFERENCE_MATCHES['range_separator'] = re.compile(REFERENCE_SEPARATORS['sep_l'], re.UNICODE)
|
||||
# full reference match: <book>(<range>(,(?!$)|(?=$)))+
|
||||
REFERENCE_MATCHES['full'] = re.compile('^\s*(?!\s)(?P<book>[\d]*[^\d]+)(?<!\s)\s*'
|
||||
'(?P<ranges>(?:%(range_regex)s(?:%(sep_l)s(?!\s*$)|(?=\s*$)))+)\s*$' \
|
||||
% dict(list(REFERENCE_SEPARATORS.items()) + [('range_regex', range_regex)]), re.UNICODE)
|
||||
REFERENCE_MATCHES['full'] = \
|
||||
re.compile('^\s*(?!\s)(?P<book>[\d]*[^\d]+)(?<!\s)\s*'
|
||||
'(?P<ranges>(?:%(range_regex)s(?:%(sep_l)s(?!\s*$)|(?=\s*$)))+)\s*$'
|
||||
% dict(list(REFERENCE_SEPARATORS.items()) + [('range_regex', range_regex)]), re.UNICODE)
|
||||
|
||||
|
||||
def get_reference_separator(separator_type):
|
||||
|
@ -422,7 +422,7 @@ class BiblesTab(SettingsTab):
|
||||
color.setAlpha(128)
|
||||
palette.setColor(QtGui.QPalette.Active, QtGui.QPalette.Text, color)
|
||||
return palette
|
||||
|
||||
|
||||
def check_is_verse_number_visible(self):
|
||||
"""
|
||||
Enables / Disables verse settings dependent on is_verse_number_visible
|
||||
@ -430,4 +430,3 @@ class BiblesTab(SettingsTab):
|
||||
self.new_chapters_check_box.setEnabled(self.is_verse_number_visible)
|
||||
self.display_style_label.setEnabled(self.is_verse_number_visible)
|
||||
self.display_style_combo_box.setEnabled(self.is_verse_number_visible)
|
||||
|
||||
|
@ -80,23 +80,20 @@ def init_schema(url):
|
||||
|
||||
meta_table = Table('metadata', metadata,
|
||||
Column('key', types.Unicode(255), primary_key=True, index=True),
|
||||
Column('value', types.Unicode(255)),
|
||||
)
|
||||
Column('value', types.Unicode(255)),)
|
||||
|
||||
book_table = Table('book', metadata,
|
||||
Column('id', types.Integer, primary_key=True),
|
||||
Column('book_reference_id', types.Integer, index=True),
|
||||
Column('testament_reference_id', types.Integer),
|
||||
Column('name', types.Unicode(50), index=True),
|
||||
)
|
||||
Column('name', types.Unicode(50), index=True),)
|
||||
verse_table = Table('verse', metadata,
|
||||
Column('id', types.Integer, primary_key=True, index=True),
|
||||
Column('book_id', types.Integer, ForeignKey(
|
||||
'book.id'), index=True),
|
||||
Column('chapter', types.Integer, index=True),
|
||||
Column('verse', types.Integer, index=True),
|
||||
Column('text', types.UnicodeText, index=True),
|
||||
)
|
||||
Column('text', types.UnicodeText, index=True),)
|
||||
|
||||
try:
|
||||
class_mapper(BibleMeta)
|
||||
@ -225,7 +222,8 @@ class BibleDB(QtCore.QObject, Manager, RegistryProperties):
|
||||
|
||||
:param book_id: The id of the book being appended.
|
||||
:param chapter: The chapter number.
|
||||
:param text_list: A dict of the verses to be inserted. The key is the verse number, and the value is the verse text.
|
||||
:param text_list: A dict of the verses to be inserted. The key is the verse number, and the value is the
|
||||
verse text.
|
||||
"""
|
||||
log.debug('BibleDBcreate_chapter("%s", "%s")', book_id, chapter)
|
||||
# Text list has book and chapter as first two elements of the array.
|
||||
@ -437,7 +435,7 @@ class BibleDB(QtCore.QObject, Manager, RegistryProperties):
|
||||
"""
|
||||
log.debug('BibleDB.get_chapter_count("%s")', book.name)
|
||||
count = self.session.query(func.max(Verse.chapter)).join(Book).filter(
|
||||
Book.book_reference_id==book.book_reference_id).scalar()
|
||||
Book.book_reference_id == book.book_reference_id).scalar()
|
||||
if not count:
|
||||
return 0
|
||||
return count
|
||||
@ -718,8 +716,8 @@ class BiblesResourcesDB(QtCore.QObject, Manager):
|
||||
if not isinstance(source, str):
|
||||
source = str(source)
|
||||
source = BiblesResourcesDB.get_download_source(source)
|
||||
bibles = BiblesResourcesDB.run_sql('SELECT id, name, abbreviation, '
|
||||
'language_id, download_source_id FROM webbibles WHERE download_source_id = ?', (source['id'],))
|
||||
bibles = BiblesResourcesDB.run_sql('SELECT id, name, abbreviation, language_id, download_source_id '
|
||||
'FROM webbibles WHERE download_source_id = ?', (source['id'],))
|
||||
if bibles:
|
||||
return [{
|
||||
'id': bible[0],
|
||||
@ -824,10 +822,9 @@ class BiblesResourcesDB(QtCore.QObject, Manager):
|
||||
log.debug('BiblesResourcesDB.get_testament_reference()')
|
||||
testaments = BiblesResourcesDB.run_sql('SELECT id, name FROM testament_reference ORDER BY id')
|
||||
return [
|
||||
{
|
||||
'id': testament[0],
|
||||
'name': str(testament[1])
|
||||
}
|
||||
{'id': testament[0],
|
||||
'name': str(testament[1])
|
||||
}
|
||||
for testament in testaments
|
||||
]
|
||||
|
||||
@ -934,7 +931,7 @@ class OldBibleDB(QtCore.QObject, Manager):
|
||||
QtCore.QObject.__init__(self)
|
||||
if 'path' not in kwargs:
|
||||
raise KeyError('Missing keyword argument "path".')
|
||||
if 'file' not in kwargs:
|
||||
if 'file' not in kwargs:
|
||||
raise KeyError('Missing keyword argument "file".')
|
||||
if 'path' in kwargs:
|
||||
self.path = kwargs['path']
|
||||
|
@ -32,7 +32,9 @@ The :mod:`http` module enables OpenLP to retrieve scripture from bible websites.
|
||||
import logging
|
||||
import re
|
||||
import socket
|
||||
import urllib.request, urllib.parse, urllib.error
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from html.parser import HTMLParseError
|
||||
|
||||
from bs4 import BeautifulSoup, NavigableString, Tag
|
||||
@ -487,7 +489,7 @@ class HTTPBible(BibleDB, RegistryProperties):
|
||||
(self.download_source, self.download_name))
|
||||
return False
|
||||
self.wizard.progress_bar.setMaximum(len(books) + 2)
|
||||
self.wizard.increment_progress_bar(translate( 'BiblesPlugin.HTTPBible', 'Registering Language...'))
|
||||
self.wizard.increment_progress_bar(translate('BiblesPlugin.HTTPBible', 'Registering Language...'))
|
||||
bible = BiblesResourcesDB.get_webbible(self.download_name, self.download_source.lower())
|
||||
if bible['language_id']:
|
||||
language_id = bible['language_id']
|
||||
|
@ -664,7 +664,7 @@ class BibleMediaItem(MediaManagerItem):
|
||||
db_book = bibles[second_bible].get_book_by_book_ref_id(verse.book.book_reference_id)
|
||||
if not db_book:
|
||||
log.debug('Passage "%s %d:%d" not found in Second Bible' %
|
||||
(verse.book.name, verse.chapter, verse.verse))
|
||||
(verse.book.name, verse.chapter, verse.verse))
|
||||
passage_not_found = True
|
||||
count += 1
|
||||
continue
|
||||
@ -910,8 +910,8 @@ class BibleMediaItem(MediaManagerItem):
|
||||
elif old_verse + 1 != verse and old_chapter == chapter:
|
||||
# We are still in the same chapter, but a verse has been skipped.
|
||||
return True
|
||||
elif old_chapter + 1 == chapter and (verse != 1 or
|
||||
old_verse != self.plugin.manager.get_verse_count(old_bible, old_book, old_chapter)):
|
||||
elif old_chapter + 1 == chapter and (verse != 1 or old_verse !=
|
||||
self.plugin.manager.get_verse_count(old_bible, old_book, old_chapter)):
|
||||
# We are in the following chapter, but the last verse was not the
|
||||
# last verse of the chapter or the current verse is not the
|
||||
# first one of the chapter.
|
||||
|
@ -50,7 +50,8 @@ class AddGroupForm(QtGui.QDialog, Ui_AddGroupDialog):
|
||||
Show the form.
|
||||
|
||||
:param clear: Set to False if the text input box should not be cleared when showing the dialog (default: True).
|
||||
:param show_top_level_group: Set to True when "-- Top level group --" should be showed as first item (default: False).
|
||||
:param show_top_level_group: Set to True when "-- Top level group --" should be showed as first item
|
||||
(default: False).
|
||||
:param selected_group: The ID of the group that should be selected by default when showing the dialog.
|
||||
"""
|
||||
if clear:
|
||||
|
@ -327,7 +327,8 @@ class ImageMediaItem(MediaManagerItem):
|
||||
|
||||
:param images: A List of Image Filenames objects that will be used to reload the mediamanager list.
|
||||
:param initial_load: When set to False, the busy cursor and progressbar will be shown while loading images.
|
||||
:param open_group: ImageGroups object of the group that must be expanded after reloading the list in the interface.
|
||||
:param open_group: ImageGroups object of the group that must be expanded after reloading the list in the
|
||||
interface.
|
||||
"""
|
||||
if not initial_load:
|
||||
self.application.set_busy_cursor()
|
||||
@ -462,7 +463,8 @@ class ImageMediaItem(MediaManagerItem):
|
||||
|
||||
:param images_list: A List of strings containing image filenames
|
||||
:param group_id: The ID of the group to save the images in
|
||||
:param reload_list: This boolean is set to True when the list in the interface should be reloaded after saving the new images
|
||||
:param reload_list: This boolean is set to True when the list in the interface should be reloaded after saving
|
||||
the new images
|
||||
"""
|
||||
for filename in images_list:
|
||||
if not isinstance(filename, str):
|
||||
|
@ -34,7 +34,7 @@ from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.common import Registry, RegistryProperties, AppLocation, Settings, check_directory_exists, UiStrings,\
|
||||
translate
|
||||
from openlp.core.lib import ItemCapabilities, MediaManagerItem,MediaType, ServiceItem, ServiceItemContext, \
|
||||
from openlp.core.lib import ItemCapabilities, MediaManagerItem, MediaType, ServiceItem, ServiceItemContext, \
|
||||
build_icon, check_item_selected
|
||||
from openlp.core.lib.ui import critical_error_message_box, create_horizontal_adjusting_combo_box
|
||||
from openlp.core.ui import DisplayController, Display, DisplayControllerType
|
||||
@ -161,7 +161,7 @@ class MediaMediaItem(MediaManagerItem, RegistryProperties):
|
||||
Called to replace Live background with the media selected.
|
||||
"""
|
||||
if check_item_selected(self.list_view,
|
||||
translate('MediaPlugin.MediaItem',
|
||||
translate('MediaPlugin.MediaItem',
|
||||
'You must select a media file to replace the background with.')):
|
||||
item = self.list_view.currentItem()
|
||||
filename = item.data(QtCore.Qt.UserRole)
|
||||
@ -170,12 +170,12 @@ class MediaMediaItem(MediaManagerItem, RegistryProperties):
|
||||
service_item.title = 'webkit'
|
||||
service_item.processor = 'webkit'
|
||||
(path, name) = os.path.split(filename)
|
||||
service_item.add_from_command(path, name,CLAPPERBOARD)
|
||||
service_item.add_from_command(path, name, CLAPPERBOARD)
|
||||
if self.media_controller.video(DisplayControllerType.Live, service_item, video_behind_text=True):
|
||||
self.reset_action.setVisible(True)
|
||||
else:
|
||||
critical_error_message_box(UiStrings().LiveBGError,
|
||||
translate('MediaPlugin.MediaItem',
|
||||
translate('MediaPlugin.MediaItem',
|
||||
'There was no display item to amend.'))
|
||||
else:
|
||||
critical_error_message_box(UiStrings().LiveBGError,
|
||||
|
@ -70,4 +70,4 @@ class SongUsageDeleteForm(QtGui.QDialog, Ui_SongUsageDeleteDialog, RegistryPrope
|
||||
)
|
||||
self.accept()
|
||||
else:
|
||||
self.reject()
|
||||
self.reject()
|
||||
|
@ -87,15 +87,14 @@ class SongUsageDetailForm(QtGui.QDialog, Ui_SongUsageDetailDialog, RegistryPrope
|
||||
)
|
||||
return
|
||||
check_directory_exists(path)
|
||||
file_name = translate('SongUsagePlugin.SongUsageDetailForm', 'usage_detail_%s_%s.txt') % (
|
||||
self.from_date_calendar.selectedDate().toString('ddMMyyyy'),
|
||||
self.to_date_calendar.selectedDate().toString('ddMMyyyy'))
|
||||
file_name = translate('SongUsagePlugin.SongUsageDetailForm', 'usage_detail_%s_%s.txt') % \
|
||||
(self.from_date_calendar.selectedDate().toString('ddMMyyyy'),
|
||||
self.to_date_calendar.selectedDate().toString('ddMMyyyy'))
|
||||
Settings().setValue(self.plugin.settings_section + '/from date', self.from_date_calendar.selectedDate())
|
||||
Settings().setValue(self.plugin.settings_section + '/to date', self.to_date_calendar.selectedDate())
|
||||
usage = self.plugin.manager.get_all_objects(
|
||||
SongUsageItem, and_(
|
||||
SongUsageItem.usagedate >= self.from_date_calendar.selectedDate().toPyDate(),
|
||||
SongUsageItem.usagedate < self.to_date_calendar.selectedDate().toPyDate()),
|
||||
SongUsageItem, and_(SongUsageItem.usagedate >= self.from_date_calendar.selectedDate().toPyDate(),
|
||||
SongUsageItem.usagedate < self.to_date_calendar.selectedDate().toPyDate()),
|
||||
[SongUsageItem.usagedate, SongUsageItem.usagetime])
|
||||
report_file_name = os.path.join(path, file_name)
|
||||
file_handle = None
|
||||
@ -103,9 +102,9 @@ class SongUsageDetailForm(QtGui.QDialog, Ui_SongUsageDetailDialog, RegistryPrope
|
||||
file_handle = open(report_file_name, 'w')
|
||||
for instance in usage:
|
||||
record = '\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",' \
|
||||
'\"%s\",\"%s\"\n' % (instance.usagedate,
|
||||
instance.usagetime, instance.title, instance.copyright,
|
||||
instance.ccl_number, instance.authors, instance.plugin_name, instance.source)
|
||||
'\"%s\",\"%s\"\n' % \
|
||||
(instance.usagedate, instance.usagetime, instance.title, instance.copyright,
|
||||
instance.ccl_number, instance.authors, instance.plugin_name, instance.source)
|
||||
file_handle.write(record.encode('utf-8'))
|
||||
self.main_window.information_message(
|
||||
translate('SongUsagePlugin.SongUsageDetailForm', 'Report Creation'),
|
||||
|
@ -62,7 +62,7 @@ def init_schema(url):
|
||||
Column('ccl_number', types.Unicode(65)),
|
||||
Column('plugin_name', types.Unicode(20)),
|
||||
Column('source', types.Unicode(10))
|
||||
)
|
||||
)
|
||||
|
||||
mapper(SongUsageItem, songusage_table)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user