From f239b2345d223ab65fa733795083a2cb9de88cd8 Mon Sep 17 00:00:00 2001 From: Patrick Zimmermann Date: Tue, 11 Dec 2012 00:35:53 +0100 Subject: [PATCH 01/17] Move changes to new branch. --- openlp/core/__init__.py | 9 ++++--- openlp/core/ui/advancedtab.py | 50 +++++++++++++++++++++++++++++------ 2 files changed, 48 insertions(+), 11 deletions(-) diff --git a/openlp/core/__init__.py b/openlp/core/__init__.py index 4dde8a970..e98438160 100644 --- a/openlp/core/__init__.py +++ b/openlp/core/__init__.py @@ -124,11 +124,14 @@ class OpenLP(QtGui.QApplication): if FirstTimeForm(screens).exec_() == QtGui.QDialog.Accepted: Settings().setValue(u'general/has run wizard', QtCore.QVariant(True)) # Correct stylesheet bugs + application_stylesheet = u'' + if Settings().value(u'advanced/stylesheet fix', QtCore.QVariant(False)).toBool(): + alternate_background_repair_stylesheet = \ + u'QTableWidget, QListWidget, QTreeWidget {alternate-background-color: ' + base_color.name() + ';}\n' + application_stylesheet += alternate_background_repair_stylesheet if os.name == u'nt': - base_color = self.palette().color(QtGui.QPalette.Active, QtGui.QPalette.Base) - application_stylesheet = \ - u'QTableWidget, QListWidget, QTreeWidget {alternate-background-color: ' + base_color.name() + ';}\n' application_stylesheet += nt_repair_stylesheet + if application_stylesheet: self.setStyleSheet(application_stylesheet) # show the splashscreen show_splash = Settings().value(u'general/show splash', QtCore.QVariant(True)).toBool() diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index 93c8f4999..af83509e6 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -276,14 +276,18 @@ class AdvancedTab(SettingsTab): self.nextItemRadioButton.setObjectName(u'nextItemRadioButton') self.slideLayout.addWidget(self.nextItemRadioButton) self.rightLayout.addWidget(self.slideGroupBox) - self.x11GroupBox = QtGui.QGroupBox(self.leftColumn) - self.x11GroupBox.setObjectName(u'x11GroupBox') - self.x11Layout = QtGui.QVBoxLayout(self.x11GroupBox) - self.x11Layout.setObjectName(u'x11Layout') - self.x11BypassCheckBox = QtGui.QCheckBox(self.x11GroupBox) + # Workarounds + self.workaroundGroupBox = QtGui.QGroupBox(self.leftColumn) + self.workaroundGroupBox.setObjectName(u'workaroundGroupBox') + self.workaroundLayout = QtGui.QVBoxLayout(self.workaroundGroupBox) + self.workaroundLayout.setObjectName(u'workaroundLayout') + self.x11BypassCheckBox = QtGui.QCheckBox(self.workaroundGroupBox) self.x11BypassCheckBox.setObjectName(u'x11BypassCheckBox') - self.x11Layout.addWidget(self.x11BypassCheckBox) - self.rightLayout.addWidget(self.x11GroupBox) + self.workaroundLayout.addWidget(self.x11BypassCheckBox) + self.stylesheetFixCheckBox = QtGui.QCheckBox(self.workaroundGroupBox) + self.stylesheetFixCheckBox.setObjectName(u'stylesheetFixCheckBox') + self.workaroundLayout.addWidget(self.stylesheetFixCheckBox) + self.rightLayout.addWidget(self.workaroundGroupBox) self.rightLayout.addStretch() self.shouldUpdateServiceNameExample = False QtCore.QObject.connect(self.serviceNameCheckBox, @@ -308,6 +312,8 @@ class AdvancedTab(SettingsTab): QtCore.SIGNAL(u'clicked()'), self.onDefaultRevertButtonClicked) QtCore.QObject.connect(self.x11BypassCheckBox, QtCore.SIGNAL(u'toggled(bool)'), self.onX11BypassCheckBoxToggled) + QtCore.QObject.connect(self.stylesheetFixCheckBox, + QtCore.SIGNAL(u'toggled(bool)'), self.onStylesheetFixCheckBoxToggled) QtCore.QObject.connect(self.dataDirectoryBrowseButton, QtCore.SIGNAL(u'clicked()'), self.onDataDirectoryBrowseButtonClicked) @@ -424,9 +430,11 @@ class AdvancedTab(SettingsTab): translate('OpenLP.AdvancedTab', 'WARNING: New data directory location contains ' 'OpenLP data files. These files WILL be replaced during a copy.')) - self.x11GroupBox.setTitle(translate('OpenLP.AdvancedTab', 'X11')) + self.workaroundGroupBox.setTitle(translate('OpenLP.AdvancedTab', 'Workarounds')) self.x11BypassCheckBox.setText(translate('OpenLP.AdvancedTab', 'Bypass X11 Window Manager')) + self.stylesheetFixCheckBox.setText(translate('OpenLP.AdvancedTab', + 'Disable alternating row colors in lists')) # Slide Limits self.slideGroupBox.setTitle( translate('OpenLP.GeneralTab', 'Service Item Slide Limits')) @@ -492,6 +500,17 @@ class AdvancedTab(SettingsTab): os.environ.get(u'GNOME_DESKTOP_SESSION_ID')) self.x11BypassCheckBox.setChecked(settings.value( u'x11 bypass wm', QtCore.QVariant(x11_bypass_default)).toBool()) + # Fix for bug #936281. + if sys.platform.startswith(u'win'): + stylesheet_fix_default = True + else: + stylesheet_fix_default = False + # Prevent the dialog displayed by the stylesheetFixCheckBox to display. + signalsBlocked = self.stylesheetFixCheckBox.blockSignals(True) + self.stylesheetFixCheckBox.setChecked(settings.value( + u'stylesheet fix', QtCore.QVariant( + stylesheet_fix_default)).toBool()) + self.stylesheetFixCheckBox.blockSignals(signalsBlocked) self.defaultColor = settings.value(u'default color', QtCore.QVariant(u'#ffffff')).toString() self.defaultFileEdit.setText(settings.value(u'default image', @@ -582,6 +601,8 @@ class AdvancedTab(SettingsTab): QtCore.QVariant(self.hideMouseCheckBox.isChecked())) settings.setValue(u'x11 bypass wm', QtCore.QVariant(self.x11BypassCheckBox.isChecked())) + settings.setValue(u'stylesheet fix', + QtCore.QVariant(self.stylesheetFixCheckBox.isChecked())) settings.setValue(u'default color', self.defaultColor) settings.setValue(u'default image', self.defaultFileEdit.text()) settings.setValue(u'slide limits', QtCore.QVariant(self.slide_limits)) @@ -786,6 +807,18 @@ class AdvancedTab(SettingsTab): The state of the check box (boolean). """ self.displayChanged = True + + def onStylesheetFixCheckBoxToggled(self, checked): + """ + Notify user about required restart. + + ``checked`` + The state of the check box (boolean). + """ + QtGui.QMessageBox.information(self, + translate('OpenLP.AdvancedTab', 'Restart Required'), + translate('OpenLP.AdvancedTab', + 'The change will take effect when OpenLP is restarted.')) def onEndSlideButtonClicked(self): self.slide_limits = SlideLimits.End @@ -795,3 +828,4 @@ class AdvancedTab(SettingsTab): def onnextItemButtonClicked(self): self.slide_limits = SlideLimits.Next + From 97ecefedff11cdb1e6dfe06c58a51ec2a36bedb8 Mon Sep 17 00:00:00 2001 From: Patrick Zimmermann Date: Tue, 11 Dec 2012 20:46:18 +0100 Subject: [PATCH 02/17] Correct an indentation. --- openlp/core/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/__init__.py b/openlp/core/__init__.py index e98438160..c3aee1688 100644 --- a/openlp/core/__init__.py +++ b/openlp/core/__init__.py @@ -127,7 +127,7 @@ class OpenLP(QtGui.QApplication): application_stylesheet = u'' if Settings().value(u'advanced/stylesheet fix', QtCore.QVariant(False)).toBool(): alternate_background_repair_stylesheet = \ - u'QTableWidget, QListWidget, QTreeWidget {alternate-background-color: ' + base_color.name() + ';}\n' + u'QTableWidget, QListWidget, QTreeWidget {alternate-background-color: ' + base_color.name() + ';}\n' application_stylesheet += alternate_background_repair_stylesheet if os.name == u'nt': application_stylesheet += nt_repair_stylesheet From e87fe825728e2ba83d2de6e7b6863abc15546ff3 Mon Sep 17 00:00:00 2001 From: Patrick Zimmermann Date: Tue, 11 Dec 2012 21:02:41 +0100 Subject: [PATCH 03/17] Add missing base_color. --- openlp/core/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/openlp/core/__init__.py b/openlp/core/__init__.py index c3aee1688..531ea2b07 100644 --- a/openlp/core/__init__.py +++ b/openlp/core/__init__.py @@ -126,6 +126,7 @@ class OpenLP(QtGui.QApplication): # Correct stylesheet bugs application_stylesheet = u'' if Settings().value(u'advanced/stylesheet fix', QtCore.QVariant(False)).toBool(): + base_color = self.palette().color(QtGui.QPalette.Active, QtGui.QPalette.Base) alternate_background_repair_stylesheet = \ u'QTableWidget, QListWidget, QTreeWidget {alternate-background-color: ' + base_color.name() + ';}\n' application_stylesheet += alternate_background_repair_stylesheet From c9624ab37845bd529e13f601a35d06f236ab259a Mon Sep 17 00:00:00 2001 From: Patrick Zimmermann Date: Mon, 17 Dec 2012 20:50:09 +0100 Subject: [PATCH 04/17] Default stylesheet logic to true on Windows even without existing configuration. --- openlp/core/__init__.py | 2 +- openlp/core/ui/advancedtab.py | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/openlp/core/__init__.py b/openlp/core/__init__.py index 531ea2b07..32db93d15 100644 --- a/openlp/core/__init__.py +++ b/openlp/core/__init__.py @@ -125,7 +125,7 @@ class OpenLP(QtGui.QApplication): Settings().setValue(u'general/has run wizard', QtCore.QVariant(True)) # Correct stylesheet bugs application_stylesheet = u'' - if Settings().value(u'advanced/stylesheet fix', QtCore.QVariant(False)).toBool(): + if Settings().value(u'advanced/stylesheet fix', QtCore.QVariant(sys.platform.startswith(u'win'))).toBool(): base_color = self.palette().color(QtGui.QPalette.Active, QtGui.QPalette.Base) alternate_background_repair_stylesheet = \ u'QTableWidget, QListWidget, QTreeWidget {alternate-background-color: ' + base_color.name() + ';}\n' diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index af83509e6..0a4b14a15 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -501,15 +501,11 @@ class AdvancedTab(SettingsTab): self.x11BypassCheckBox.setChecked(settings.value( u'x11 bypass wm', QtCore.QVariant(x11_bypass_default)).toBool()) # Fix for bug #936281. - if sys.platform.startswith(u'win'): - stylesheet_fix_default = True - else: - stylesheet_fix_default = False # Prevent the dialog displayed by the stylesheetFixCheckBox to display. signalsBlocked = self.stylesheetFixCheckBox.blockSignals(True) self.stylesheetFixCheckBox.setChecked(settings.value( u'stylesheet fix', QtCore.QVariant( - stylesheet_fix_default)).toBool()) + sys.platform.startswith(u'win'))).toBool()) self.stylesheetFixCheckBox.blockSignals(signalsBlocked) self.defaultColor = settings.value(u'default color', QtCore.QVariant(u'#ffffff')).toString() @@ -828,4 +824,3 @@ class AdvancedTab(SettingsTab): def onnextItemButtonClicked(self): self.slide_limits = SlideLimits.Next - From cf36197993d5c863628fa75ddfe6c2edc77f66b8 Mon Sep 17 00:00:00 2001 From: Patrick Zimmermann Date: Wed, 19 Dec 2012 23:22:11 +0100 Subject: [PATCH 05/17] Rename stylesheetFix -> alternateRows. --- openlp/core/__init__.py | 6 +++--- openlp/core/ui/advancedtab.py | 30 +++++++++++++++--------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/openlp/core/__init__.py b/openlp/core/__init__.py index 32db93d15..c32a633e5 100644 --- a/openlp/core/__init__.py +++ b/openlp/core/__init__.py @@ -125,11 +125,11 @@ class OpenLP(QtGui.QApplication): Settings().setValue(u'general/has run wizard', QtCore.QVariant(True)) # Correct stylesheet bugs application_stylesheet = u'' - if Settings().value(u'advanced/stylesheet fix', QtCore.QVariant(sys.platform.startswith(u'win'))).toBool(): + if Settings().value(u'advanced/alternate rows', QtCore.QVariant(sys.platform.startswith(u'win'))).toBool(): base_color = self.palette().color(QtGui.QPalette.Active, QtGui.QPalette.Base) - alternate_background_repair_stylesheet = \ + alternate_rows_repair_stylesheet = \ u'QTableWidget, QListWidget, QTreeWidget {alternate-background-color: ' + base_color.name() + ';}\n' - application_stylesheet += alternate_background_repair_stylesheet + application_stylesheet += alternate_rows_repair_stylesheet if os.name == u'nt': application_stylesheet += nt_repair_stylesheet if application_stylesheet: diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index 0a4b14a15..52cbdf019 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -284,9 +284,9 @@ class AdvancedTab(SettingsTab): self.x11BypassCheckBox = QtGui.QCheckBox(self.workaroundGroupBox) self.x11BypassCheckBox.setObjectName(u'x11BypassCheckBox') self.workaroundLayout.addWidget(self.x11BypassCheckBox) - self.stylesheetFixCheckBox = QtGui.QCheckBox(self.workaroundGroupBox) - self.stylesheetFixCheckBox.setObjectName(u'stylesheetFixCheckBox') - self.workaroundLayout.addWidget(self.stylesheetFixCheckBox) + self.alternateRowsCheckBox = QtGui.QCheckBox(self.workaroundGroupBox) + self.alternateRowsCheckBox.setObjectName(u'alternateRowsCheckBox') + self.workaroundLayout.addWidget(self.alternateRowsCheckBox) self.rightLayout.addWidget(self.workaroundGroupBox) self.rightLayout.addStretch() self.shouldUpdateServiceNameExample = False @@ -312,8 +312,8 @@ class AdvancedTab(SettingsTab): QtCore.SIGNAL(u'clicked()'), self.onDefaultRevertButtonClicked) QtCore.QObject.connect(self.x11BypassCheckBox, QtCore.SIGNAL(u'toggled(bool)'), self.onX11BypassCheckBoxToggled) - QtCore.QObject.connect(self.stylesheetFixCheckBox, - QtCore.SIGNAL(u'toggled(bool)'), self.onStylesheetFixCheckBoxToggled) + QtCore.QObject.connect(self.alternateRowsCheckBox, + QtCore.SIGNAL(u'toggled(bool)'), self.onAlternateRowsCheckBoxToggled) QtCore.QObject.connect(self.dataDirectoryBrowseButton, QtCore.SIGNAL(u'clicked()'), self.onDataDirectoryBrowseButtonClicked) @@ -433,7 +433,7 @@ class AdvancedTab(SettingsTab): self.workaroundGroupBox.setTitle(translate('OpenLP.AdvancedTab', 'Workarounds')) self.x11BypassCheckBox.setText(translate('OpenLP.AdvancedTab', 'Bypass X11 Window Manager')) - self.stylesheetFixCheckBox.setText(translate('OpenLP.AdvancedTab', + self.alternateRowsCheckBox.setText(translate('OpenLP.AdvancedTab', 'Disable alternating row colors in lists')) # Slide Limits self.slideGroupBox.setTitle( @@ -501,12 +501,12 @@ class AdvancedTab(SettingsTab): self.x11BypassCheckBox.setChecked(settings.value( u'x11 bypass wm', QtCore.QVariant(x11_bypass_default)).toBool()) # Fix for bug #936281. - # Prevent the dialog displayed by the stylesheetFixCheckBox to display. - signalsBlocked = self.stylesheetFixCheckBox.blockSignals(True) - self.stylesheetFixCheckBox.setChecked(settings.value( - u'stylesheet fix', QtCore.QVariant( + # Prevent the dialog displayed by the alternateRowsCheckBox to display. + signalsBlocked = self.alternateRowsCheckBox.blockSignals(True) + self.alternateRowsCheckBox.setChecked(settings.value( + u'alternate rows', QtCore.QVariant( sys.platform.startswith(u'win'))).toBool()) - self.stylesheetFixCheckBox.blockSignals(signalsBlocked) + self.alternateRowsCheckBox.blockSignals(signalsBlocked) self.defaultColor = settings.value(u'default color', QtCore.QVariant(u'#ffffff')).toString() self.defaultFileEdit.setText(settings.value(u'default image', @@ -597,8 +597,8 @@ class AdvancedTab(SettingsTab): QtCore.QVariant(self.hideMouseCheckBox.isChecked())) settings.setValue(u'x11 bypass wm', QtCore.QVariant(self.x11BypassCheckBox.isChecked())) - settings.setValue(u'stylesheet fix', - QtCore.QVariant(self.stylesheetFixCheckBox.isChecked())) + settings.setValue(u'alternate rows', + QtCore.QVariant(self.alternateRowsCheckBox.isChecked())) settings.setValue(u'default color', self.defaultColor) settings.setValue(u'default image', self.defaultFileEdit.text()) settings.setValue(u'slide limits', QtCore.QVariant(self.slide_limits)) @@ -804,7 +804,7 @@ class AdvancedTab(SettingsTab): """ self.displayChanged = True - def onStylesheetFixCheckBoxToggled(self, checked): + def onAlternateRowsCheckBoxToggled(self, checked): """ Notify user about required restart. @@ -814,7 +814,7 @@ class AdvancedTab(SettingsTab): QtGui.QMessageBox.information(self, translate('OpenLP.AdvancedTab', 'Restart Required'), translate('OpenLP.AdvancedTab', - 'The change will take effect when OpenLP is restarted.')) + 'This change will only take effect once OpenLP has been restarted.')) def onEndSlideButtonClicked(self): self.slide_limits = SlideLimits.End From f156c37e907c123babda9f7ff57999d59bc1bb38 Mon Sep 17 00:00:00 2001 From: Patrick Zimmermann Date: Wed, 19 Dec 2012 23:25:52 +0100 Subject: [PATCH 06/17] Fix indentation. --- openlp/core/ui/advancedtab.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index 52cbdf019..b6dda7340 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -312,7 +312,7 @@ class AdvancedTab(SettingsTab): QtCore.SIGNAL(u'clicked()'), self.onDefaultRevertButtonClicked) QtCore.QObject.connect(self.x11BypassCheckBox, QtCore.SIGNAL(u'toggled(bool)'), self.onX11BypassCheckBoxToggled) - QtCore.QObject.connect(self.alternateRowsCheckBox, + QtCore.QObject.connect(self.alternateRowsCheckBox, QtCore.SIGNAL(u'toggled(bool)'), self.onAlternateRowsCheckBoxToggled) QtCore.QObject.connect(self.dataDirectoryBrowseButton, QtCore.SIGNAL(u'clicked()'), From cf9f55d5d28bb17400e18145d037ddbeb41efca2 Mon Sep 17 00:00:00 2001 From: Patrick Zimmermann Date: Tue, 1 Jan 2013 14:38:36 +0100 Subject: [PATCH 07/17] Change blockSignals() to use True & False. Correct line length. --- openlp/core/ui/advancedtab.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index abcecb231..d48cafce0 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -389,9 +389,9 @@ class AdvancedTab(SettingsTab): self.x11BypassCheckBox.setChecked(settings.value(u'x11 bypass wm', x11_bypass_default)) # Fix for bug #936281. # Prevent the dialog displayed by the alternateRowsCheckBox to display. - signalsBlocked = self.alternateRowsCheckBox.blockSignals(True) + self.alternateRowsCheckBox.blockSignals(True) self.alternateRowsCheckBox.setChecked(settings.value(u'alternate rows', sys.platform.startswith(u'win'))) - self.alternateRowsCheckBox.blockSignals(signalsBlocked) + self.alternateRowsCheckBox.blockSignals(False) self.defaultColor = settings.value(u'default color', u'#ffffff') self.defaultFileEdit.setText(settings.value(u'default image', u':/graphics/openlp-splash-screen.png')) self.slide_limits = settings.value(u'slide limits', SlideLimits.End) @@ -659,8 +659,7 @@ class AdvancedTab(SettingsTab): """ QtGui.QMessageBox.information(self, translate('OpenLP.AdvancedTab', 'Restart Required'), - translate('OpenLP.AdvancedTab', - 'This change will only take effect once OpenLP has been restarted.')) + translate('OpenLP.AdvancedTab', 'This change will only take effect once OpenLP has been restarted.')) def onEndSlideButtonClicked(self): self.slide_limits = SlideLimits.End From 33bad251048f6a89633e1960bc39f62c6dca719b Mon Sep 17 00:00:00 2001 From: Patrick Zimmermann Date: Tue, 1 Jan 2013 21:03:12 +0100 Subject: [PATCH 08/17] Rename "workarounds" -> "display workarounds". --- openlp/core/ui/advancedtab.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index d48cafce0..1cefac2d1 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -240,18 +240,18 @@ class AdvancedTab(SettingsTab): self.nextItemRadioButton.setObjectName(u'nextItemRadioButton') self.slideLayout.addWidget(self.nextItemRadioButton) self.rightLayout.addWidget(self.slideGroupBox) - # Workarounds - self.workaroundGroupBox = QtGui.QGroupBox(self.leftColumn) - self.workaroundGroupBox.setObjectName(u'workaroundGroupBox') - self.workaroundLayout = QtGui.QVBoxLayout(self.workaroundGroupBox) - self.workaroundLayout.setObjectName(u'workaroundLayout') - self.x11BypassCheckBox = QtGui.QCheckBox(self.workaroundGroupBox) + # Display Workarounds + self.displayWorkaroundGroupBox = QtGui.QGroupBox(self.leftColumn) + self.displayWorkaroundGroupBox.setObjectName(u'displayWorkaroundGroupBox') + self.displayWorkaroundLayout = QtGui.QVBoxLayout(self.displayWorkaroundGroupBox) + self.displayWorkaroundLayout.setObjectName(u'displayWorkaroundLayout') + self.x11BypassCheckBox = QtGui.QCheckBox(self.displayWorkaroundGroupBox) self.x11BypassCheckBox.setObjectName(u'x11BypassCheckBox') - self.workaroundLayout.addWidget(self.x11BypassCheckBox) - self.alternateRowsCheckBox = QtGui.QCheckBox(self.workaroundGroupBox) + self.displayWorkaroundLayout.addWidget(self.x11BypassCheckBox) + self.alternateRowsCheckBox = QtGui.QCheckBox(self.displayWorkaroundGroupBox) self.alternateRowsCheckBox.setObjectName(u'alternateRowsCheckBox') - self.workaroundLayout.addWidget(self.alternateRowsCheckBox) - self.rightLayout.addWidget(self.workaroundGroupBox) + self.displayWorkaroundLayout.addWidget(self.alternateRowsCheckBox) + self.rightLayout.addWidget(self.displayWorkaroundGroupBox) self.rightLayout.addStretch() self.shouldUpdateServiceNameExample = False QtCore.QObject.connect(self.serviceNameCheckBox, QtCore.SIGNAL(u'toggled(bool)'), @@ -340,7 +340,7 @@ class AdvancedTab(SettingsTab): self.newDataDirectoryHasFilesLabel.setText( translate('OpenLP.AdvancedTab', 'WARNING: New data directory location contains ' 'OpenLP data files. These files WILL be replaced during a copy.')) - self.workaroundGroupBox.setTitle(translate('OpenLP.AdvancedTab', 'Workarounds')) + self.displayWorkaroundGroupBox.setTitle(translate('OpenLP.AdvancedTab', 'Display Workarounds')) self.x11BypassCheckBox.setText(translate('OpenLP.AdvancedTab','Bypass X11 Window Manager')) self.alternateRowsCheckBox.setText(translate('OpenLP.AdvancedTab', 'Disable alternating row colors in lists')) From 024ba1aac933e91d150fe2581669a3e3b9494278 Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Sat, 12 Jan 2013 00:23:06 +0400 Subject: [PATCH 09/17] Auto separating blank buttons, if width allows this. Fixes: https://launchpad.net/bugs/718797 --- openlp/core/ui/slidecontroller.py | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index bacb6ea60..2f8b48d8d 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -98,6 +98,14 @@ class SlideController(DisplayController): u'audioPauseItem', u'audioTimeLabel' ] + self.wideMenu = [ + u'wideMenu1', + u'wideMenu2', + u'wideMenu3' + ] + self.hideMenuList = [ + u'hideMenu' + ] self.timer_id = 0 self.songEdit = False self.selectedRow = 0 @@ -197,6 +205,19 @@ class SlideController(DisplayController): self.hideMenu.menu().addAction(self.blankScreen) self.hideMenu.menu().addAction(self.themeScreen) self.hideMenu.menu().addAction(self.desktopScreen) + #Wide menu of display control buttons + self.wideMenu1 = QtGui.QToolButton(self.toolbar) + self.wideMenu1.setObjectName(u'wideMenu1') + self.toolbar.addToolbarWidget(self.wideMenu1) + self.wideMenu1.setDefaultAction(self.blankScreen) + self.wideMenu2 = QtGui.QToolButton(self.toolbar) + self.wideMenu2.setObjectName(u'wideMenu2') + self.toolbar.addToolbarWidget(self.wideMenu2) + self.wideMenu2.setDefaultAction(self.themeScreen) + self.wideMenu3 = QtGui.QToolButton(self.toolbar) + self.wideMenu3.setObjectName(u'wideMenu3') + self.toolbar.addToolbarWidget(self.wideMenu3) + self.wideMenu3.setDefaultAction(self.desktopScreen) self.toolbar.addToolbarAction(u'loopSeparator', separator=True) # Play Slides Menu self.playSlidesMenu = QtGui.QToolButton(self.toolbar) @@ -349,6 +370,7 @@ class SlideController(DisplayController): QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'slidecontroller_toggle_display'), self.toggleDisplay) self.toolbar.setWidgetVisible(self.loopList, False) + self.toolbar.setWidgetVisible(self.wideMenu, False) else: QtCore.QObject.connect(self.previewListWidget, QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onGoLiveClick) @@ -568,7 +590,20 @@ class SlideController(DisplayController): width = self.parent().controlSplitter.sizes()[self.split] for framenumber in range(len(self.serviceItem.get_frames())): self.previewListWidget.setRowHeight(framenumber, width / self.ratio) + self.onControllerSizeChanged(self.controller.width() , self.controller.height()) + def onControllerSizeChanged(self, width, height): + """ + Change layout of display control buttons on controller size change + """ + if self.isLive: + if width > 300 and self.hideMenu.isVisible(): + self.toolbar.setWidgetVisible(self.hideMenuList, False) + self.toolbar.setWidgetVisible(self.wideMenu) + elif width < 300 and not self.hideMenu.isVisible(): + self.toolbar.setWidgetVisible(self.wideMenu, False) + self.toolbar.setWidgetVisible(self.hideMenuList) + def onSongBarHandler(self): request = self.sender().text() slide_no = self.slideList[request] From 4af3798cd34b273b8bb1a330837ae6df68307d9d Mon Sep 17 00:00:00 2001 From: Patrick Zimmermann Date: Sat, 12 Jan 2013 21:51:14 +0100 Subject: [PATCH 10/17] Fix a comment indentation. --- openlp/core/ui/advancedtab.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index 1cefac2d1..c0e88beba 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -655,7 +655,7 @@ class AdvancedTab(SettingsTab): Notify user about required restart. ``checked`` - The state of the check box (boolean). + The state of the check box (boolean). """ QtGui.QMessageBox.information(self, translate('OpenLP.AdvancedTab', 'Restart Required'), From ef947355c50cfbfff9417050b3668ce18b6f5e3d Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Wed, 16 Jan 2013 03:59:04 +0400 Subject: [PATCH 11/17] style fixing --- openlp/core/ui/slidecontroller.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 2f8b48d8d..d3c59c783 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -205,7 +205,7 @@ class SlideController(DisplayController): self.hideMenu.menu().addAction(self.blankScreen) self.hideMenu.menu().addAction(self.themeScreen) self.hideMenu.menu().addAction(self.desktopScreen) - #Wide menu of display control buttons + # Wide menu of display control buttons. self.wideMenu1 = QtGui.QToolButton(self.toolbar) self.wideMenu1.setObjectName(u'wideMenu1') self.toolbar.addToolbarWidget(self.wideMenu1) @@ -590,15 +590,15 @@ class SlideController(DisplayController): width = self.parent().controlSplitter.sizes()[self.split] for framenumber in range(len(self.serviceItem.get_frames())): self.previewListWidget.setRowHeight(framenumber, width / self.ratio) - self.onControllerSizeChanged(self.controller.width() , self.controller.height()) + self.onControllerSizeChanged(self.controller.width(), self.controller.height()) - def onControllerSizeChanged(self, width, height): + def onControllerSizeChanged(self, width, height): """ Change layout of display control buttons on controller size change """ if self.isLive: if width > 300 and self.hideMenu.isVisible(): - self.toolbar.setWidgetVisible(self.hideMenuList, False) + self.toolbar.setWidgetVisible(self.hideMenuList, False) self.toolbar.setWidgetVisible(self.wideMenu) elif width < 300 and not self.hideMenu.isVisible(): self.toolbar.setWidgetVisible(self.wideMenu, False) From e3e8693bcccb68be376d9d598a7183aaede52661 Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Fri, 18 Jan 2013 23:00:13 +0400 Subject: [PATCH 12/17] name fix --- openlp/core/ui/slidecontroller.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index d3c59c783..afc0c0492 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -99,9 +99,9 @@ class SlideController(DisplayController): u'audioTimeLabel' ] self.wideMenu = [ - u'wideMenu1', - u'wideMenu2', - u'wideMenu3' + u'buttonBlankScreen', + u'buttonThemeScreen', + u'buttonDesktopScreen' ] self.hideMenuList = [ u'hideMenu' @@ -206,18 +206,18 @@ class SlideController(DisplayController): self.hideMenu.menu().addAction(self.themeScreen) self.hideMenu.menu().addAction(self.desktopScreen) # Wide menu of display control buttons. - self.wideMenu1 = QtGui.QToolButton(self.toolbar) - self.wideMenu1.setObjectName(u'wideMenu1') - self.toolbar.addToolbarWidget(self.wideMenu1) - self.wideMenu1.setDefaultAction(self.blankScreen) - self.wideMenu2 = QtGui.QToolButton(self.toolbar) - self.wideMenu2.setObjectName(u'wideMenu2') - self.toolbar.addToolbarWidget(self.wideMenu2) - self.wideMenu2.setDefaultAction(self.themeScreen) - self.wideMenu3 = QtGui.QToolButton(self.toolbar) - self.wideMenu3.setObjectName(u'wideMenu3') - self.toolbar.addToolbarWidget(self.wideMenu3) - self.wideMenu3.setDefaultAction(self.desktopScreen) + self.buttonBlankScreen = QtGui.QToolButton(self.toolbar) + self.buttonBlankScreen.setObjectName(u'buttonBlankScreen') + self.toolbar.addToolbarWidget(self.buttonBlankScreen) + self.buttonBlankScreen.setDefaultAction(self.blankScreen) + self.buttonThemeScreen = QtGui.QToolButton(self.toolbar) + self.buttonThemeScreen.setObjectName(u'buttonThemeScreen') + self.toolbar.addToolbarWidget(self.buttonThemeScreen) + self.buttonThemeScreen.setDefaultAction(self.themeScreen) + self.buttonDesktopScreen = QtGui.QToolButton(self.toolbar) + self.buttonDesktopScreen.setObjectName(u'buttonDesktopScreen') + self.toolbar.addToolbarWidget(self.buttonDesktopScreen) + self.buttonDesktopScreen.setDefaultAction(self.desktopScreen) self.toolbar.addToolbarAction(u'loopSeparator', separator=True) # Play Slides Menu self.playSlidesMenu = QtGui.QToolButton(self.toolbar) From 768b27101e7c1dc12e1a318eb0b573473018da15 Mon Sep 17 00:00:00 2001 From: Patrick Zimmermann Date: Fri, 18 Jan 2013 22:41:11 +0100 Subject: [PATCH 13/17] Reverse option logic. Now it's "enable alternating row colors". --- openlp/core/__init__.py | 2 +- openlp/core/ui/advancedtab.py | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/openlp/core/__init__.py b/openlp/core/__init__.py index f1dfe4846..7bdeaebda 100644 --- a/openlp/core/__init__.py +++ b/openlp/core/__init__.py @@ -124,7 +124,7 @@ class OpenLP(QtGui.QApplication): Settings().setValue(u'general/has run wizard', True) # Correct stylesheet bugs application_stylesheet = u'' - if Settings().value(u'advanced/alternate rows', sys.platform.startswith(u'win')): + if not Settings().value(u'advanced/alternate rows', not sys.platform.startswith(u'win')): base_color = self.palette().color(QtGui.QPalette.Active, QtGui.QPalette.Base) alternate_rows_repair_stylesheet = \ u'QTableWidget, QListWidget, QTreeWidget {alternate-background-color: ' + base_color.name() + ';}\n' diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index 4dd0d3588..b50c582d7 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -342,8 +342,7 @@ class AdvancedTab(SettingsTab): 'OpenLP data files. These files WILL be replaced during a copy.')) self.displayWorkaroundGroupBox.setTitle(translate('OpenLP.AdvancedTab', 'Display Workarounds')) self.x11BypassCheckBox.setText(translate('OpenLP.AdvancedTab','Bypass X11 Window Manager')) - self.alternateRowsCheckBox.setText(translate('OpenLP.AdvancedTab', - 'Disable alternating row colors in lists')) + self.alternateRowsCheckBox.setText(translate('OpenLP.AdvancedTab', 'Enable alternating row colors in lists')) # Slide Limits self.slideGroupBox.setTitle(translate('OpenLP.GeneralTab', 'Service Item Slide Limits')) self.slideLabel.setText(translate('OpenLP.GeneralTab', 'Behavior of next/previous on the last/first slide:')) @@ -390,7 +389,7 @@ class AdvancedTab(SettingsTab): # Fix for bug #936281. # Prevent the dialog displayed by the alternateRowsCheckBox to display. self.alternateRowsCheckBox.blockSignals(True) - self.alternateRowsCheckBox.setChecked(settings.value(u'alternate rows', sys.platform.startswith(u'win'))) + self.alternateRowsCheckBox.setChecked(settings.value(u'alternate rows', not sys.platform.startswith(u'win'))) self.alternateRowsCheckBox.blockSignals(False) self.defaultColor = settings.value(u'default color', u'#ffffff') self.defaultFileEdit.setText(settings.value(u'default image', u':/graphics/openlp-splash-screen.png')) From 6e925473982db908205cf4a8c0f2b2fc3e92369d Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Thu, 24 Jan 2013 07:07:41 +0400 Subject: [PATCH 14/17] styling fix --- openlp/core/ui/slidecontroller.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index afc0c0492..67b2e62c4 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -99,9 +99,9 @@ class SlideController(DisplayController): u'audioTimeLabel' ] self.wideMenu = [ - u'buttonBlankScreen', - u'buttonThemeScreen', - u'buttonDesktopScreen' + u'blankScreenButton', + u'themeScreenButton', + u'desktopScreenButton' ] self.hideMenuList = [ u'hideMenu' @@ -206,18 +206,18 @@ class SlideController(DisplayController): self.hideMenu.menu().addAction(self.themeScreen) self.hideMenu.menu().addAction(self.desktopScreen) # Wide menu of display control buttons. - self.buttonBlankScreen = QtGui.QToolButton(self.toolbar) - self.buttonBlankScreen.setObjectName(u'buttonBlankScreen') - self.toolbar.addToolbarWidget(self.buttonBlankScreen) - self.buttonBlankScreen.setDefaultAction(self.blankScreen) - self.buttonThemeScreen = QtGui.QToolButton(self.toolbar) - self.buttonThemeScreen.setObjectName(u'buttonThemeScreen') - self.toolbar.addToolbarWidget(self.buttonThemeScreen) - self.buttonThemeScreen.setDefaultAction(self.themeScreen) - self.buttonDesktopScreen = QtGui.QToolButton(self.toolbar) - self.buttonDesktopScreen.setObjectName(u'buttonDesktopScreen') - self.toolbar.addToolbarWidget(self.buttonDesktopScreen) - self.buttonDesktopScreen.setDefaultAction(self.desktopScreen) + self.blankScreenButton = QtGui.QToolButton(self.toolbar) + self.blankScreenButton.setObjectName(u'blankScreenButton') + self.toolbar.addToolbarWidget(self.blankScreenButton) + self.blankScreenButton.setDefaultAction(self.blankScreen) + self.themeScreenButton = QtGui.QToolButton(self.toolbar) + self.themeScreenButton.setObjectName(u'themeScreenButton') + self.toolbar.addToolbarWidget(self.themeScreenButton) + self.themeScreenButton.setDefaultAction(self.themeScreen) + self.desktopScreenButton = QtGui.QToolButton(self.toolbar) + self.desktopScreenButton.setObjectName(u'desktopScreenButton') + self.toolbar.addToolbarWidget(self.desktopScreenButton) + self.desktopScreenButton.setDefaultAction(self.desktopScreen) self.toolbar.addToolbarAction(u'loopSeparator', separator=True) # Play Slides Menu self.playSlidesMenu = QtGui.QToolButton(self.toolbar) From 6e1f9cd3c1f8d6ee14535d04957956ae08c23ee9 Mon Sep 17 00:00:00 2001 From: Patrick Zimmermann Date: Sun, 27 Jan 2013 23:07:30 +0100 Subject: [PATCH 15/17] Adapt code for new Settings() infrastructure. --- openlp/core/__init__.py | 2 +- openlp/core/lib/settings.py | 1 + openlp/core/ui/advancedtab.py | 3 +-- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/openlp/core/__init__.py b/openlp/core/__init__.py index 31353121e..e31ff0c5d 100644 --- a/openlp/core/__init__.py +++ b/openlp/core/__init__.py @@ -122,7 +122,7 @@ class OpenLP(QtGui.QApplication): Settings().setValue(u'general/has run wizard', True) # Correct stylesheet bugs application_stylesheet = u'' - if not Settings().value(u'advanced/alternate rows', not sys.platform.startswith(u'win')): + if not Settings().value(u'advanced/alternate rows'): base_color = self.palette().color(QtGui.QPalette.Active, QtGui.QPalette.Base) alternate_rows_repair_stylesheet = \ u'QTableWidget, QListWidget, QTreeWidget {alternate-background-color: ' + base_color.name() + ';}\n' diff --git a/openlp/core/lib/settings.py b/openlp/core/lib/settings.py index aad851dca..37a1c9feb 100644 --- a/openlp/core/lib/settings.py +++ b/openlp/core/lib/settings.py @@ -87,6 +87,7 @@ class Settings(QtCore.QSettings): """ __default_settings__ = { u'advanced/x11 bypass wm': X11_BYPASS_DEFAULT, + u'advanced/alternate rows': not sys.platform.startswith(u'win'), u'advanced/default service enabled': True, u'advanced/enable exit confirmation': True, u'advanced/save current plugin': False, diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index cec1b646d..cb11c0b63 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -368,10 +368,9 @@ class AdvancedTab(SettingsTab): self.defaultColor = settings.value(u'default color') self.defaultFileEdit.setText(settings.value(u'default image')) self.slide_limits = settings.value(u'slide limits') - # Fix for bug #936281. # Prevent the dialog displayed by the alternateRowsCheckBox to display. self.alternateRowsCheckBox.blockSignals(True) - self.alternateRowsCheckBox.setChecked(settings.value(u'alternate rows', not sys.platform.startswith(u'win'))) + self.alternateRowsCheckBox.setChecked(settings.value(u'alternate rows')) self.alternateRowsCheckBox.blockSignals(False) if self.slide_limits == SlideLimits.End: self.endSlideRadioButton.setChecked(True) From cd89c4de9a867ca30ce5434fe9596a9b8c48de5d Mon Sep 17 00:00:00 2001 From: Patrick Zimmermann Date: Sun, 27 Jan 2013 23:10:03 +0100 Subject: [PATCH 16/17] Enable -> Use and British spelling. --- openlp/core/ui/advancedtab.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index cb11c0b63..21a414dbf 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -331,7 +331,7 @@ class AdvancedTab(SettingsTab): 'OpenLP data files. These files WILL be replaced during a copy.')) self.displayWorkaroundGroupBox.setTitle(translate('OpenLP.AdvancedTab', 'Display Workarounds')) self.x11BypassCheckBox.setText(translate('OpenLP.AdvancedTab','Bypass X11 Window Manager')) - self.alternateRowsCheckBox.setText(translate('OpenLP.AdvancedTab', 'Enable alternating row colors in lists')) + self.alternateRowsCheckBox.setText(translate('OpenLP.AdvancedTab', 'Use alternating row colours in lists')) # Slide Limits self.slideGroupBox.setTitle(translate('OpenLP.GeneralTab', 'Service Item Slide Limits')) self.slideLabel.setText(translate('OpenLP.GeneralTab', 'Behavior of next/previous on the last/first slide:')) From 6ef4db5ce840052f563a353bd76ea31e1c350bdb Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Thu, 31 Jan 2013 19:41:45 +0000 Subject: [PATCH 17/17] Tests restructure --- tests/interfaces/openlp_core_ui/__init__.py | 0 .../openlp_core_ui/test_servicenotedialog.py | 0 .../openlp_core_ui/test_starttimedialog.py | 0 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/interfaces/openlp_core_ui/__init__.py rename tests/{functional => interfaces}/openlp_core_ui/test_servicenotedialog.py (100%) rename tests/{functional => interfaces}/openlp_core_ui/test_starttimedialog.py (100%) diff --git a/tests/interfaces/openlp_core_ui/__init__.py b/tests/interfaces/openlp_core_ui/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/functional/openlp_core_ui/test_servicenotedialog.py b/tests/interfaces/openlp_core_ui/test_servicenotedialog.py similarity index 100% rename from tests/functional/openlp_core_ui/test_servicenotedialog.py rename to tests/interfaces/openlp_core_ui/test_servicenotedialog.py diff --git a/tests/functional/openlp_core_ui/test_starttimedialog.py b/tests/interfaces/openlp_core_ui/test_starttimedialog.py similarity index 100% rename from tests/functional/openlp_core_ui/test_starttimedialog.py rename to tests/interfaces/openlp_core_ui/test_starttimedialog.py