diff --git a/openlp/core/ui/settingsform.py b/openlp/core/ui/settingsform.py index 68ffcfbd3..b00e622cf 100644 --- a/openlp/core/ui/settingsform.py +++ b/openlp/core/ui/settingsform.py @@ -27,6 +27,7 @@ import logging from PyQt4 import QtGui from openlp.core.ui import GeneralTab, ThemesTab, AlertsTab +from openlp.core.lib import Receiver from settingsdialog import Ui_SettingsDialog log = logging.getLogger(u'SettingsForm') @@ -64,6 +65,7 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog): def accept(self): for tab_index in range(0, self.SettingsTabWidget.count()): self.SettingsTabWidget.widget(tab_index).save() + Receiver().send_message(u'config_updated') return QtGui.QDialog.accept(self) def postSetUp(self): diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py index f1ca6b860..8afb56422 100644 --- a/openlp/plugins/bibles/lib/biblestab.py +++ b/openlp/plugins/bibles/lib/biblestab.py @@ -97,7 +97,6 @@ class BiblesTab(SettingsTab): self.LayoutStyleComboBox.addItem(QtCore.QString()) self.LayoutStyleLayout.addWidget(self.LayoutStyleComboBox) self.VerseDisplayLayout.addWidget(self.LayoutStyleWidget, 2, 0, 1, 1) - self.BibleThemeWidget = QtGui.QWidget(self.VerseDisplayGroupBox) self.BibleThemeWidget.setObjectName(u'BibleThemeWidget') self.BibleThemeLayout = QtGui.QHBoxLayout(self.BibleThemeWidget) @@ -111,10 +110,13 @@ class BiblesTab(SettingsTab): self.BibleThemeComboBox.setObjectName(u'BibleThemeComboBox') self.BibleThemeComboBox.addItem(QtCore.QString()) self.BibleThemeLayout.addWidget(self.BibleThemeComboBox) - self.VerseDisplayLayout.addWidget(self.BibleThemeWidget, 3, 0, 1, 1) + self.BibleDuelCheckBox = QtGui.QCheckBox(self.VerseDisplayGroupBox) + self.BibleDuelCheckBox.setObjectName(u'BibleDuelCheckBox') + self.VerseDisplayLayout.addWidget(self.BibleDuelCheckBox, 3, 0, 1, 1) + self.VerseDisplayLayout.addWidget(self.BibleThemeWidget, 4, 0, 1, 1) self.ChangeNoteLabel = QtGui.QLabel(self.VerseDisplayGroupBox) self.ChangeNoteLabel.setObjectName(u'ChangeNoteLabel') - self.VerseDisplayLayout.addWidget(self.ChangeNoteLabel, 4, 0, 1, 1) + self.VerseDisplayLayout.addWidget(self.ChangeNoteLabel, 5, 0, 1, 1) self.BibleLeftLayout.addWidget(self.VerseDisplayGroupBox) self.BibleLeftSpacer = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) @@ -139,6 +141,9 @@ class BiblesTab(SettingsTab): QtCore.QObject.connect(self.LayoutStyleComboBox, QtCore.SIGNAL(u'activated(int)'), self.onLayoutStyleComboBoxChanged) + QtCore.QObject.connect(self.BibleDuelCheckBox, + QtCore.SIGNAL(u'stateChanged(int)'), + self.onBibleDuelCheckBox) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'update_themes'), self.updateThemeList) @@ -169,6 +174,8 @@ class BiblesTab(SettingsTab): 3, translate(u'SettingsForm', u'[ and ]')) self.ChangeNoteLabel.setText(translate(u'SettingsForm', u'Note:\nChanges don\'t affect verses already in the service')) + self.BibleDuelCheckBox.setText( + translate(u'SettingsForm', u'Display Duel Bible Verses')) def onBibleThemeComboBoxChanged(self): self.bible_theme = self.BibleThemeComboBox.currentText() @@ -179,13 +186,18 @@ class BiblesTab(SettingsTab): def onLayoutStyleComboBoxChanged(self): self.layout_style = self.LayoutStyleComboBox.currentIndex() - def onNewChaptersCheckBoxChanged(self): - check_state = self.NewChaptersCheckBox.checkState() + def onNewChaptersCheckBoxChanged(self, check_state): self.show_new_chapters = False # we have a set value convert to True/False if check_state == QtCore.Qt.Checked: self.show_new_chapters = True + def onBibleDuelCheckBox(self, check_state): + self.duel_bibles = False + # we have a set value convert to True/False + if check_state == QtCore.Qt.Checked: + self.duel_bibles = True + def load(self): self.show_new_chapters = str_to_bool( self.config.get_config(u'display new chapter', u'False')) @@ -194,9 +206,12 @@ class BiblesTab(SettingsTab): self.layout_style = int( self.config.get_config(u'verse layout style', u'0')) self.bible_theme = self.config.get_config(u'bible theme', u'0') + self.duel_bibles = str_to_bool( + self.config.get_config(u'duel bibles', u'True')) self.NewChaptersCheckBox.setChecked(self.show_new_chapters) self.DisplayStyleComboBox.setCurrentIndex(self.display_style) self.LayoutStyleComboBox.setCurrentIndex(self.layout_style) + self.BibleDuelCheckBox.setChecked(self.duel_bibles) def save(self): self.config.set_config( @@ -205,6 +220,7 @@ class BiblesTab(SettingsTab): u'display brackets', unicode(self.display_style)) self.config.set_config( u'verse layout style', unicode(self.layout_style)) + self.config.set_config(u'duel bibles', unicode(self.duel_bibles)) self.config.set_config(u'bible theme', unicode(self.bible_theme)) def updateThemeList(self, theme_list): diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index 462e3c34a..ccd1ede6c 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -28,7 +28,7 @@ import time from PyQt4 import QtCore, QtGui from openlp.core.lib import translate, MediaManagerItem, Receiver, \ - BaseListWithDnD + BaseListWithDnD, str_to_bool from openlp.plugins.bibles.forms import BibleImportForm from openlp.plugins.bibles.lib.manager import BibleMode @@ -203,6 +203,17 @@ class BibleMediaItem(MediaManagerItem): QtCore.SIGNAL(u'pressed()'), self.onAdvancedSearchButton) QtCore.QObject.connect(self.QuickSearchButton, QtCore.SIGNAL(u'pressed()'), self.onQuickSearchButton) + QtCore.QObject.connect(Receiver.get_receiver(), + QtCore.SIGNAL(u'config_updated'), self.configUpdated) + + def configUpdated(self): + if str_to_bool( + self.parent.config.get_config(u'duel bibles', u'False')): + self.AdvancedSecondBibleComboBox.setVisible(True) + self.QuickSecondBibleComboBox.setVisible(True) + else: + self.AdvancedSecondBibleComboBox.setVisible(False) + self.QuickSecondBibleComboBox.setVisible(False) def retranslateUi(self): log.debug(u'retranslateUi') @@ -242,6 +253,7 @@ class BibleMediaItem(MediaManagerItem): log.debug(u'bible manager initialise') self.loadBibles() self.parent.biblemanager.set_media_manager(self) + self.configUpdated() log.debug(u'bible manager initialise complete') def setQuickMessage(self, text): diff --git a/openlp/plugins/songs/lib/songstab.py b/openlp/plugins/songs/lib/songstab.py index ef375ce25..09ef75fab 100644 --- a/openlp/plugins/songs/lib/songstab.py +++ b/openlp/plugins/songs/lib/songstab.py @@ -24,7 +24,7 @@ from PyQt4 import QtCore, QtGui -from openlp.core.lib import SettingsTab, str_to_bool, translate, Receiver +from openlp.core.lib import SettingsTab, str_to_bool, translate class SongsTab(SettingsTab): """ @@ -70,5 +70,3 @@ class SongsTab(SettingsTab): def save(self): self.config.set_config(u'search as type', unicode(self.bible_search)) - Receiver().send_message(u'config_updated') -