From 76a58001b7d058f92359dd59337b73c2ace01c29 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 25 Mar 2013 07:22:11 +0100 Subject: [PATCH 01/19] fixed bible manager regression --- openlp/plugins/bibles/lib/mediaitem.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index 2bb3fb383..bb3bd01cb 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -516,13 +516,13 @@ class BibleMediaItem(MediaManagerItem): def onQuickStyleComboBoxChanged(self): self.settings.layout_style = self.quickStyleComboBox.currentIndex() self.advancedStyleComboBox.setCurrentIndex(self.settings.layout_style) - self.settings.layoutStyleComboBox.setCurrentIndex(self.settings.layout_style) + self.settings.layout_style_combo_box.setCurrentIndex(self.settings.layout_style) Settings().setValue(self.settings_section + u'/verse layout style', self.settings.layout_style) def onAdvancedStyleComboBoxChanged(self): self.settings.layout_style = self.advancedStyleComboBox.currentIndex() self.quickStyleComboBox.setCurrentIndex(self.settings.layout_style) - self.settings.layoutStyleComboBox.setCurrentIndex(self.settings.layout_style) + self.settings.layout_style_combo_box.setCurrentIndex(self.settings.layout_style) Settings().setValue(self.settings_section + u'/verse layout style', self.settings.layout_style) def onAdvancedVersionComboBox(self): From 52cecd44a2fea40066f78ca685521751a124c0ec Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 25 Mar 2013 07:40:47 +0100 Subject: [PATCH 02/19] fixed remotetab regression --- openlp/plugins/remotes/lib/remotetab.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/remotes/lib/remotetab.py b/openlp/plugins/remotes/lib/remotetab.py index 55c8f9bb0..483b3461b 100644 --- a/openlp/plugins/remotes/lib/remotetab.py +++ b/openlp/plugins/remotes/lib/remotetab.py @@ -150,7 +150,7 @@ class RemoteTab(SettingsTab): Settings().setValue(self.settings_section + u'/ip address', self.address_edit.text()) Settings().setValue(self.settings_section + u'/twelve hour', self.twelve_hour) if changed: - Registry().register_function(u'remotes_config_updated') + Registry().execute(u'remotes_config_updated') def onTwelveHourCheckBoxChanged(self, check_state): self.twelve_hour = False From 4283742081eba5078815197f131aa1ac39662369 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 25 Mar 2013 08:13:40 +0100 Subject: [PATCH 03/19] fixed settingsTab rename --- openlp/core/ui/maindisplay.py | 2 +- openlp/plugins/alerts/alertsplugin.py | 6 +++--- openlp/plugins/alerts/lib/alertsmanager.py | 4 ++-- openlp/plugins/media/mediaplugin.py | 3 ++- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 15a915da5..9b4037875 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -175,7 +175,7 @@ class MainDisplay(Display): We need to rebuild the CSS on the live display. """ for plugin in self.plugin_manager.plugins: - plugin.refreshCss(self.frame) + plugin.refresh_css(self.frame) def retranslateUi(self): """ diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index 452b45713..8d8530918 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -225,7 +225,7 @@ class AlertsPlugin(Plugin): ``frame`` The Web frame holding the page. """ - align = VerticalType.Names[self.settingsTab.location] + align = VerticalType.Names[self.settings_tab.location] frame.evaluateJavaScript(u'update_css("%s", "%s", "%s", "%s", "%s")' % - (align, self.settingsTab.font_face, self.settingsTab.font_size, - self.settingsTab.font_color, self.settingsTab.background_color)) + (align, self.settings_tab.font_face, self.settings_tab.font_size, + self.settings_tab.font_color, self.settings_tab.background_color)) diff --git a/openlp/plugins/alerts/lib/alertsmanager.py b/openlp/plugins/alerts/lib/alertsmanager.py index f760288f1..1e88c0916 100644 --- a/openlp/plugins/alerts/lib/alertsmanager.py +++ b/openlp/plugins/alerts/lib/alertsmanager.py @@ -87,7 +87,7 @@ class AlertsManager(QtCore.QObject): if not self.alert_list: return text = self.alert_list.pop(0) - alertTab = self.parent().settingsTab + alertTab = self.parent().settings_tab self.live_controller.display.alert(text, alertTab.location) # Check to see if we have a timer running. if self.timer_id == 0: @@ -103,7 +103,7 @@ class AlertsManager(QtCore.QObject): """ log.debug(u'timer event') if event.timerId() == self.timer_id: - alertTab = self.parent().settingsTab + alertTab = self.parent().settings_tab self.live_controller.display.alert(u'', alertTab.location) self.killTimer(self.timer_id) self.timer_id = 0 diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index 3e685f4c6..8bfc2b52f 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -127,6 +127,7 @@ class MediaPlugin(Plugin): Plugin.app_startup(self) settings = Settings() settings.beginGroup(self.settings_section) + # FIXME: Probably broken due to Settings rewrite. if settings.contains(u'use phonon'): log.info(u'Found old Phonon setting') players = self.media_controller.mediaPlayers.keys() @@ -139,7 +140,7 @@ class MediaPlugin(Plugin): new_players.insert(0, u'phonon') self.media_controller.mediaPlayers[u'phonon'].is_active = True settings.setValue(u'players', u','.join(new_players)) - self.settingsTab.load() + self.settings_tab.load() settings.remove(u'use phonon') settings.endGroup() From fa43759d8d39a5e484cdd48654c80429cdbf9712 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 25 Mar 2013 08:27:54 +0100 Subject: [PATCH 04/19] more regression fixes --- openlp/core/ui/themestab.py | 2 +- openlp/plugins/bibles/lib/biblestab.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/themestab.py b/openlp/core/ui/themestab.py index 2dc7ad7b6..f0f821494 100644 --- a/openlp/core/ui/themestab.py +++ b/openlp/core/ui/themestab.py @@ -184,7 +184,7 @@ class ThemesTab(SettingsTab): """ self.global_theme = self.default_combo_box.currentText() self.renderer.set_global_theme() - self._previewGlobalTheme() + self._preview_global_theme() def update_theme_list(self, theme_list): """ diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py index ab6796f94..17182d7e2 100644 --- a/openlp/plugins/bibles/lib/biblestab.py +++ b/openlp/plugins/bibles/lib/biblestab.py @@ -206,7 +206,7 @@ class BiblesTab(SettingsTab): self.layout_style = self.layout_style_combo_box.currentIndex() def on_language_selection_combo_box_changed(self): - self.language_selection = self.language_selectioncombo_box.currentIndex() + self.language_selection = self.language_selection_combo_box.currentIndex() def on_new_chapters_check_box_changed(self, check_state): self.show_new_chapters = False From 30a7034ac9648b28ebae124d9c9fe96cc8e4eff4 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Thu, 28 Mar 2013 21:03:58 +0100 Subject: [PATCH 05/19] fixed regression + added test for it --- openlp/plugins/custom/forms/__init__.py | 3 -- openlp/plugins/custom/forms/editcustomform.py | 12 ++--- openlp/plugins/custom/lib/mediaitem.py | 2 +- .../openlp_plugins_custom_forms/__init__.py | 0 .../test_customform.py | 53 +++++++++++++++++++ 5 files changed, 60 insertions(+), 10 deletions(-) create mode 100644 tests/interfaces/openlp_plugins_custom_forms/__init__.py create mode 100644 tests/interfaces/openlp_plugins_custom_forms/test_customform.py diff --git a/openlp/plugins/custom/forms/__init__.py b/openlp/plugins/custom/forms/__init__.py index aa0d21fd1..64d028205 100644 --- a/openlp/plugins/custom/forms/__init__.py +++ b/openlp/plugins/custom/forms/__init__.py @@ -26,6 +26,3 @@ # with this program; if not, write to the Free Software Foundation, Inc., 59 # # Temple Place, Suite 330, Boston, MA 02111-1307 USA # ############################################################################### - -from editcustomform import EditCustomForm -from editcustomslideform import EditCustomSlideForm diff --git a/openlp/plugins/custom/forms/editcustomform.py b/openlp/plugins/custom/forms/editcustomform.py index 5146a0e05..85a536ba5 100644 --- a/openlp/plugins/custom/forms/editcustomform.py +++ b/openlp/plugins/custom/forms/editcustomform.py @@ -35,8 +35,8 @@ from openlp.core.lib import Registry, translate from openlp.core.lib.ui import critical_error_message_box, find_and_set_in_combo_box from openlp.plugins.custom.lib import CustomXMLBuilder, CustomXMLParser from openlp.plugins.custom.lib.db import CustomSlide -from editcustomdialog import Ui_CustomEditDialog from editcustomslideform import EditCustomSlideForm +from editcustomdialog import Ui_CustomEditDialog log = logging.getLogger(__name__) @@ -91,8 +91,8 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog): self.slide_list_view.clear() if id == 0: self.custom_slide = CustomSlide() - self.title_edit.set_text(u'') - self.credit_edit.set_text(u'') + self.title_edit.setText(u'') + self.credit_edit.setText(u'') self.theme_combo_box.setCurrentIndex(0) else: self.custom_slide = self.manager.get_object(CustomSlide, id) @@ -158,7 +158,7 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog): """ Add a new blank slide. """ - self.edit_slide_form.set_text(u'') + self.edit_slide_form.setText(u'') if self.edit_slide_form.exec_(): self.slide_list_view.addItems(self.edit_slide_form.get_text()) @@ -166,7 +166,7 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog): """ Edit the currently selected slide. """ - self.edit_slide_form.set_text(self.slide_list_view.currentItem().text()) + self.edit_slide_form.setText(self.slide_list_view.currentItem().text()) if self.edit_slide_form.exec_(): self.update_slide_list(self.edit_slide_form.get_text()) @@ -180,7 +180,7 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog): slide_text += item.text() if row != self.slide_list_view.count() - 1: slide_text += u'\n[===]\n' - self.edit_slide_form.set_text(slide_text) + self.edit_slide_form.setText(slide_text) if self.edit_slide_form.exec_(): self.update_slide_list(self.edit_slide_form.get_text(), True) diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py index 8e95b038b..46e4291cd 100644 --- a/openlp/plugins/custom/lib/mediaitem.py +++ b/openlp/plugins/custom/lib/mediaitem.py @@ -34,7 +34,7 @@ from sqlalchemy.sql import or_, func, and_ from openlp.core.lib import Registry, MediaManagerItem, ItemCapabilities, ServiceItemContext, Settings, PluginStatus,\ UiStrings, check_item_selected, translate -from openlp.plugins.custom.forms import EditCustomForm +from openlp.plugins.custom.forms.editcustomform import EditCustomForm from openlp.plugins.custom.lib import CustomXMLParser, CustomXMLBuilder from openlp.plugins.custom.lib.db import CustomSlide diff --git a/tests/interfaces/openlp_plugins_custom_forms/__init__.py b/tests/interfaces/openlp_plugins_custom_forms/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/interfaces/openlp_plugins_custom_forms/test_customform.py b/tests/interfaces/openlp_plugins_custom_forms/test_customform.py new file mode 100644 index 000000000..2ad97da14 --- /dev/null +++ b/tests/interfaces/openlp_plugins_custom_forms/test_customform.py @@ -0,0 +1,53 @@ +""" +Module to the custom edit form. +""" +from unittest import TestCase +from mock import MagicMock, patch + +from PyQt4 import QtGui + +from openlp.core.lib import Registry +# Import needed due to import problems. +from openlp.plugins.custom.lib.mediaitem import CustomMediaItem +from openlp.plugins.custom.forms.editcustomform import EditCustomForm + + +class TestCustomFrom(TestCase): + """ + Test the EditCustomForm. + """ + def setUp(self): + """ + Create the UI + """ + Registry.create() + self.app = QtGui.QApplication([]) + self.main_window = QtGui.QMainWindow() + Registry().register(u'main_window', self.main_window) + media_item = MagicMock() + manager = MagicMock() + self.form = EditCustomForm(media_item, self.main_window, manager) + + def tearDown(self): + """ + Delete all the C++ objects at the end so that we don't have a segfault + """ + del self.form + del self.main_window + del self.app + + def load_custom_test(self): + """ + Test the EditCustomForm defaults are correct + """ + # GIVEN: A mocked QDialog.exec_() method + with patch(u'PyQt4.QtGui.QDialog.exec_') as mocked_exec: + # WHEN: Show the dialog. + self.form.exec_() + # Create a new custom item. + self.form.load_custom(0) + + #THEN: The line edits should not contain any text. + self.assertEqual(self.form.title_edit.text(), u'', u'The title edit should be empty') + self.assertEqual(self.form.credit_edit.text(), u'', u'The credit edit should be empty') + From 6c7d608fbb8ae95d4301e8c86c4fcba5a7b45fce Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Thu, 28 Mar 2013 21:05:46 +0100 Subject: [PATCH 06/19] fixed FTW regression --- openlp/core/ui/mainwindow.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 6567ae9ba..69439c1b1 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -328,7 +328,7 @@ class Ui_MainWindow(object): # Order things differently in OS X so that Preferences menu item in the # app menu is correct (this gets picked up automatically by Qt). if sys.platform == u'darwin': - add_actions(self.settings_menu, (self.settingsPluginListItem, self.settings_language_menu.menuAction(), + add_actions(self.settings_menu, (self.settingsPluginListItem, self.settings_language_menu.menuAction(), None, self.settings_configure_item, self.settings_shortcuts_item, self.formatting_tag_item)) else: add_actions(self.settings_menu, (self.settingsPluginListItem, self.settings_language_menu.menuAction(), @@ -342,7 +342,7 @@ class Ui_MainWindow(object): self.about_item)) else: add_actions(self.help_menu, (self.on_line_help_item, None, self.web_site_item, self.about_item)) - add_actions(self.menuBar, (self.file_menu.menuAction(), self.view_menu.menuAction(), + add_actions(self.menuBar, (self.file_menu.menuAction(), self.view_menu.menuAction(), self.tools_menu.menuAction(), self.settings_menu.menuAction(), self.help_menu.menuAction())) # Initialise the translation self.retranslateUi(main_window) @@ -386,7 +386,7 @@ class Ui_MainWindow(object): self.file_save_item.setStatusTip(translate('OpenLP.MainWindow', 'Save the current service to disk.')) self.file_save_as_item.setText(translate('OpenLP.MainWindow', 'Save &As...')) self.file_save_as_item.setToolTip(translate('OpenLP.MainWindow', 'Save Service As')) - self.file_save_as_item.setStatusTip(translate('OpenLP.MainWindow', + self.file_save_as_item.setStatusTip(translate('OpenLP.MainWindow', 'Save the current service under a new name.')) self.print_service_order_item.setText(UiStrings().PrintService) self.print_service_order_item.setStatusTip(translate('OpenLP.MainWindow', 'Print the current service.')) @@ -449,7 +449,7 @@ class Ui_MainWindow(object): self.tools_first_time_wizard.setStatusTip(translate('OpenLP.MainWindow', 'Re-run the First Time Wizard, importing songs, Bibles and themes.')) self.update_theme_images.setText(translate('OpenLP.MainWindow', 'Update Theme Images')) - self.update_theme_images.setStatusTip(translate('OpenLP.MainWindow', + self.update_theme_images.setStatusTip(translate('OpenLP.MainWindow', 'Update the preview images for all themes.')) self.mode_default_Item.setText(translate('OpenLP.MainWindow', '&Default')) self.mode_default_Item.setStatusTip(translate('OpenLP.MainWindow', 'Set the view mode back to the default.')) @@ -651,7 +651,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): for plugin in self.plugin_manager.plugins: self.activePlugin = plugin oldStatus = self.activePlugin.status - self.activePlugin.setStatus() + self.activePlugin.set_status() if oldStatus != self.activePlugin.status: if self.activePlugin.status == PluginStatus.Active: self.activePlugin.toggle_status(PluginStatus.Active) From 06cf4e1cd6dc2ad7a43fa70786aca414afc55a22 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Thu, 28 Mar 2013 21:23:53 +0100 Subject: [PATCH 07/19] fixed spelling --- tests/interfaces/openlp_plugins_custom_forms/test_customform.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/interfaces/openlp_plugins_custom_forms/test_customform.py b/tests/interfaces/openlp_plugins_custom_forms/test_customform.py index 2ad97da14..24fefeafb 100644 --- a/tests/interfaces/openlp_plugins_custom_forms/test_customform.py +++ b/tests/interfaces/openlp_plugins_custom_forms/test_customform.py @@ -1,5 +1,5 @@ """ -Module to the custom edit form. +Module to test the custom edit form. """ from unittest import TestCase from mock import MagicMock, patch From 77bd7325a6015bf55155b0e22b805be775a24297 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Thu, 28 Mar 2013 21:24:38 +0100 Subject: [PATCH 08/19] reverted code --- openlp/plugins/media/mediaplugin.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index 8bfc2b52f..3e685f4c6 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -127,7 +127,6 @@ class MediaPlugin(Plugin): Plugin.app_startup(self) settings = Settings() settings.beginGroup(self.settings_section) - # FIXME: Probably broken due to Settings rewrite. if settings.contains(u'use phonon'): log.info(u'Found old Phonon setting') players = self.media_controller.mediaPlayers.keys() @@ -140,7 +139,7 @@ class MediaPlugin(Plugin): new_players.insert(0, u'phonon') self.media_controller.mediaPlayers[u'phonon'].is_active = True settings.setValue(u'players', u','.join(new_players)) - self.settings_tab.load() + self.settingsTab.load() settings.remove(u'use phonon') settings.endGroup() From 696f359cb0e4e8bc22b917b5f2946d3b4994964d Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Thu, 28 Mar 2013 21:25:35 +0100 Subject: [PATCH 09/19] changed order back --- openlp/plugins/custom/forms/editcustomform.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/custom/forms/editcustomform.py b/openlp/plugins/custom/forms/editcustomform.py index 85a536ba5..3c2b06f86 100644 --- a/openlp/plugins/custom/forms/editcustomform.py +++ b/openlp/plugins/custom/forms/editcustomform.py @@ -35,8 +35,8 @@ from openlp.core.lib import Registry, translate from openlp.core.lib.ui import critical_error_message_box, find_and_set_in_combo_box from openlp.plugins.custom.lib import CustomXMLBuilder, CustomXMLParser from openlp.plugins.custom.lib.db import CustomSlide -from editcustomslideform import EditCustomSlideForm from editcustomdialog import Ui_CustomEditDialog +from editcustomslideform import EditCustomSlideForm log = logging.getLogger(__name__) From 818fa367346b9e9bd4c9ab2440c4e3a6d5c1aae3 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Thu, 28 Mar 2013 22:24:19 +0100 Subject: [PATCH 10/19] fixed comment --- .../interfaces/openlp_plugins_custom_forms/test_customform.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/interfaces/openlp_plugins_custom_forms/test_customform.py b/tests/interfaces/openlp_plugins_custom_forms/test_customform.py index 24fefeafb..029244220 100644 --- a/tests/interfaces/openlp_plugins_custom_forms/test_customform.py +++ b/tests/interfaces/openlp_plugins_custom_forms/test_customform.py @@ -42,9 +42,8 @@ class TestCustomFrom(TestCase): """ # GIVEN: A mocked QDialog.exec_() method with patch(u'PyQt4.QtGui.QDialog.exec_') as mocked_exec: - # WHEN: Show the dialog. + # WHEN: Show the dialog and create a new custom item. self.form.exec_() - # Create a new custom item. self.form.load_custom(0) #THEN: The line edits should not contain any text. From 643fa9436c1fe6174c52d9c52fa53c2f00fadf14 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Thu, 28 Mar 2013 22:36:18 +0100 Subject: [PATCH 11/19] fixed song editor regression --- openlp/plugins/songs/forms/editsongform.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index f5a0f0cac..49a20762a 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -256,8 +256,8 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): A QtGui.QKeyEvent event. """ if event.key() in (QtCore.Qt.Key_Enter, QtCore.Qt.Key_Return): - if self.authorsComboBox.hasFocus() and self.authorsComboBox.currentText(): - self.onAuthorAddButtonClicked() + if self.authors_combo_box.hasFocus() and self.authors_combo_box.currentText(): + self.on_author_add_button_clicked() return if self.topicsComboBox.hasFocus() and self.topicsComboBox.currentText(): self.on_topic_add_button_clicked() From b139b6a4ebc77a8665f969a5566ce7133710b58a Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Thu, 28 Mar 2013 22:49:11 +0100 Subject: [PATCH 12/19] fixed regression :/ --- openlp/plugins/custom/forms/editcustomform.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/custom/forms/editcustomform.py b/openlp/plugins/custom/forms/editcustomform.py index 3c2b06f86..c78baa974 100644 --- a/openlp/plugins/custom/forms/editcustomform.py +++ b/openlp/plugins/custom/forms/editcustomform.py @@ -158,7 +158,7 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog): """ Add a new blank slide. """ - self.edit_slide_form.setText(u'') + self.edit_slide_form.set_text(u'') if self.edit_slide_form.exec_(): self.slide_list_view.addItems(self.edit_slide_form.get_text()) @@ -166,7 +166,7 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog): """ Edit the currently selected slide. """ - self.edit_slide_form.setText(self.slide_list_view.currentItem().text()) + self.edit_slide_form.set_text(self.slide_list_view.currentItem().text()) if self.edit_slide_form.exec_(): self.update_slide_list(self.edit_slide_form.get_text()) @@ -180,7 +180,7 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog): slide_text += item.text() if row != self.slide_list_view.count() - 1: slide_text += u'\n[===]\n' - self.edit_slide_form.setText(slide_text) + self.edit_slide_form.set_text(slide_text) if self.edit_slide_form.exec_(): self.update_slide_list(self.edit_slide_form.get_text(), True) From 94b926d273849faa7fbde46f15039fc3a69a9816 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Thu, 28 Mar 2013 23:08:14 +0100 Subject: [PATCH 13/19] added test --- .../test_customform.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/tests/interfaces/openlp_plugins_custom_forms/test_customform.py b/tests/interfaces/openlp_plugins_custom_forms/test_customform.py index 029244220..166ccd672 100644 --- a/tests/interfaces/openlp_plugins_custom_forms/test_customform.py +++ b/tests/interfaces/openlp_plugins_custom_forms/test_customform.py @@ -4,7 +4,7 @@ Module to test the custom edit form. from unittest import TestCase from mock import MagicMock, patch -from PyQt4 import QtGui +from PyQt4 import QtGui, QtTest, QtCore from openlp.core.lib import Registry # Import needed due to import problems. @@ -36,9 +36,9 @@ class TestCustomFrom(TestCase): del self.main_window del self.app - def load_custom_test(self): + def load_custom(self): """ - Test the EditCustomForm defaults are correct + Test the load_custom() method. """ # GIVEN: A mocked QDialog.exec_() method with patch(u'PyQt4.QtGui.QDialog.exec_') as mocked_exec: @@ -50,3 +50,15 @@ class TestCustomFrom(TestCase): self.assertEqual(self.form.title_edit.text(), u'', u'The title edit should be empty') self.assertEqual(self.form.credit_edit.text(), u'', u'The credit edit should be empty') + + def on_add_button_clicked_test(self): + """ + Test the on_add_button_clicked_test method / add_button button. + """ + # GIVEN: A mocked QDialog.exec_() method + with patch(u'PyQt4.QtGui.QDialog.exec_') as mocked_exec: + # WHEN: Show the dialog and add a new slide. + self.form.exec_() + QtTest.QTest.mouseClick(self.form.add_button, QtCore.Qt.LeftButton) + #THEN: One slide should be added. + assert self.form.slide_list_view.count() == 1, u'There should be one slide be added.' From 219ab48277594bf1aaa7cca33a832ac5aafbccfe Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Thu, 28 Mar 2013 23:10:24 +0100 Subject: [PATCH 14/19] enabled test again --- tests/interfaces/openlp_plugins_custom_forms/test_customform.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/interfaces/openlp_plugins_custom_forms/test_customform.py b/tests/interfaces/openlp_plugins_custom_forms/test_customform.py index 166ccd672..ee0eb4137 100644 --- a/tests/interfaces/openlp_plugins_custom_forms/test_customform.py +++ b/tests/interfaces/openlp_plugins_custom_forms/test_customform.py @@ -36,7 +36,7 @@ class TestCustomFrom(TestCase): del self.main_window del self.app - def load_custom(self): + def load_custom_test(self): """ Test the load_custom() method. """ From ffd409d24ea55f2b7a0cfecce0a84e67d0140a75 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Thu, 28 Mar 2013 23:12:09 +0100 Subject: [PATCH 15/19] wording --- tests/interfaces/openlp_plugins_custom_forms/test_customform.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/interfaces/openlp_plugins_custom_forms/test_customform.py b/tests/interfaces/openlp_plugins_custom_forms/test_customform.py index ee0eb4137..ebd12f49d 100644 --- a/tests/interfaces/openlp_plugins_custom_forms/test_customform.py +++ b/tests/interfaces/openlp_plugins_custom_forms/test_customform.py @@ -61,4 +61,4 @@ class TestCustomFrom(TestCase): self.form.exec_() QtTest.QTest.mouseClick(self.form.add_button, QtCore.Qt.LeftButton) #THEN: One slide should be added. - assert self.form.slide_list_view.count() == 1, u'There should be one slide be added.' + assert self.form.slide_list_view.count() == 1, u'There should be one slide added.' From 48ffb04f5d1fede7cc64d5d2c7bd1612196c055e Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Fri, 29 Mar 2013 07:25:01 +0100 Subject: [PATCH 16/19] moved tests --- .../__init__.py | 0 tests/interfaces/openlp_plugins/__init__.pyc | Bin 0 -> 184 bytes .../custom}/__init__.py | 0 .../openlp_plugins/custom/forms/__init__.py | 0 .../custom/forms}/test_customform.py | 0 tests/interfaces/openlp_plugins/songs/__init__.py | 0 .../openlp_plugins/songs/forms/__init__.py | 0 .../songs/forms}/test_authorsform.py | 0 .../songs/forms}/test_editsongform.py | 0 .../songs/forms}/test_editverseform.py | 0 .../songs/forms}/test_topicsform.py | 0 11 files changed, 0 insertions(+), 0 deletions(-) rename tests/interfaces/{openlp_plugins_custom_forms => openlp_plugins}/__init__.py (100%) create mode 100644 tests/interfaces/openlp_plugins/__init__.pyc rename tests/interfaces/{openlp_plugins_songs_forms => openlp_plugins/custom}/__init__.py (100%) create mode 100644 tests/interfaces/openlp_plugins/custom/forms/__init__.py rename tests/interfaces/{openlp_plugins_custom_forms => openlp_plugins/custom/forms}/test_customform.py (100%) create mode 100644 tests/interfaces/openlp_plugins/songs/__init__.py create mode 100644 tests/interfaces/openlp_plugins/songs/forms/__init__.py rename tests/interfaces/{openlp_plugins_songs_forms => openlp_plugins/songs/forms}/test_authorsform.py (100%) rename tests/interfaces/{openlp_plugins_songs_forms => openlp_plugins/songs/forms}/test_editsongform.py (100%) rename tests/interfaces/{openlp_plugins_songs_forms => openlp_plugins/songs/forms}/test_editverseform.py (100%) rename tests/interfaces/{openlp_plugins_songs_forms => openlp_plugins/songs/forms}/test_topicsform.py (100%) diff --git a/tests/interfaces/openlp_plugins_custom_forms/__init__.py b/tests/interfaces/openlp_plugins/__init__.py similarity index 100% rename from tests/interfaces/openlp_plugins_custom_forms/__init__.py rename to tests/interfaces/openlp_plugins/__init__.py diff --git a/tests/interfaces/openlp_plugins/__init__.pyc b/tests/interfaces/openlp_plugins/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0d24c9eff54ac7d86f14523ef46194c4bbc24cad GIT binary patch literal 184 zcmZ9GO$q`r423JY5W#!QX3Pa-@BpGC9-x#qGe-JH(*ZrLhY(zw0apgz3w(L-vV3nh zpI3LW>NgA72NAEtoKn|jCZ|SB{TUl!a7zKfL|4!-^d;TVR)%xNc Date: Fri, 29 Mar 2013 13:18:02 +0100 Subject: [PATCH 17/19] removed not used images from resources dir --- resources/images/openlp-2.qrc | 1 - resources/images/song_topic_edit.png | Bin 830 -> 0 bytes resources/images/splash-screen-new.bmp | Bin 360054 -> 0 bytes 3 files changed, 1 deletion(-) delete mode 100644 resources/images/song_topic_edit.png delete mode 100644 resources/images/splash-screen-new.bmp diff --git a/resources/images/openlp-2.qrc b/resources/images/openlp-2.qrc index 8b8456b1f..82c763c6f 100644 --- a/resources/images/openlp-2.qrc +++ b/resources/images/openlp-2.qrc @@ -18,7 +18,6 @@ author_maintenance.png topic_maintenance.png song_author_edit.png - song_topic_edit.png song_book_edit.png diff --git a/resources/images/song_topic_edit.png b/resources/images/song_topic_edit.png deleted file mode 100644 index 22b6eeb6fb8ed836e99b0dfc0162c6c966768f10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 830 zcmX9+dq`7p6#m`Kna*v_t(s1)AtnBiB=lZEu4YYhwx&r+)-@}MviBPcGwosds1U5Q znGrY|i;Zmso3duWt9Au5>u(`@VAy=a0iV7Y!+E#X_YJAtX-J zX^k99ry_vQVN7grDo26)bs2{c3X)F+fo@cXaz(#fjb4M0r7YjO;To5#a&$&LLMP`U zRB#rd3E+4bp(Ak!jgSbbs}NG`ySlY~4MK$3kersl%>Y1u6&k7);XBePQ76H5Q^Hv* zcGLveZxMDAvYR**+f6dZ?GWc(B}xY=IVL6Ds_T7m1s@ETECy>snYFIG;b6J-mg(`% zHa+jzxNJ@j+6B)A@{Tu)+uw(7>7s>fdL_|vNJv`im=B&Xg>sE=Z*BbfRc zO7&(_gIB1byYz<;8b9;Cj`Y3>_jXHt@0C8Lp0O#INs{sAGrrS|uZUr7EUjYcIqbv| zc49d@xt5(=&-$ua-yN3y2A^g_$1Jc#LT4m=j({)W(4~Z~aQGGqJqqZFf}T0>Jq&th zLVp7s$U%JwjIJkfS8lNq^R;*OgC;OD};TC_FmOto=C_Lj1e zdVO@Tp`dNqTm42&R>qc&&NgCu%r(v4q>`qZhGUzPuPR?>`ltW#&~!_8Rn_*?^b4IC sM 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 CReFyA From addc126eaf8a6b47783ddc78eab7e8102091bd11 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Fri, 29 Mar 2013 13:19:40 +0100 Subject: [PATCH 18/19] updated resources.py fie --- scripts/generate_resources.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/generate_resources.sh b/scripts/generate_resources.sh index d1717507d..e525ee29b 100755 --- a/scripts/generate_resources.sh +++ b/scripts/generate_resources.sh @@ -1,5 +1,5 @@ #!/bin/sh -# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 +# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4 ############################################################################### # OpenLP - Open Source Lyrics Projection # @@ -47,8 +47,7 @@ mv openlp/core/resources.py openlp/core/resources.py.old pyrcc4 -o openlp/core/resources.py.new resources/images/openlp-2.qrc # Remove patch breaking lines -cat openlp/core/resources.py.new | sed '/# Created: /d;/# by: /d' \ - > openlp/core/resources.py +cat openlp/core/resources.py.new | sed '/# Created: /d;/# by: /d' > openlp/core/resources.py # Patch resources.py to OpenLP coding style patch --posix -s openlp/core/resources.py scripts/resources.patch From 2182f9c13cbff9b9ce3cc5eacbade4386d5cff8d Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Fri, 29 Mar 2013 13:53:07 +0100 Subject: [PATCH 19/19] fixed short lines --- openlp/core/ui/servicemanager.py | 121 ++++++++++++------------------- 1 file changed, 45 insertions(+), 76 deletions(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 7be147b8a..0ac711492 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -84,9 +84,8 @@ class ServiceManagerList(QtGui.QTreeWidget): def mouseMoveEvent(self, event): """ - Drag and drop event does not care what data is selected - as the recipient will use events to request the data move - just tell it what plugin to call + Drag and drop event does not care what data is selected as the recipient will use events to request the data + move just tell it what plugin to call """ if event.buttons() != QtCore.Qt.LeftButton: event.ignore() @@ -284,10 +283,9 @@ class ServiceManagerDialog(object): class ServiceManager(QtGui.QWidget, ServiceManagerDialog): """ - Manages the services. This involves taking text strings from plugins and - adding them to the service. This service can then be zipped up with all - the resources used into one OSZ or oszl file for use on any OpenLP v2 - installation. Also handles the UI tasks of moving things up and down etc. + Manages the services. This involves taking text strings from plugins and adding them to the service. This service + can then be zipped up with all the resources used into one OSZ or oszl file for use on any OpenLP v2 installation. + Also handles the UI tasks of moving things up and down etc. """ def __init__(self, parent=None): """ @@ -316,8 +314,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def set_modified(self, modified=True): """ - Setter for property "modified". Sets whether or not the current service - has been modified. + Setter for property "modified". Sets whether or not the current service has been modified. """ if modified: self.service_id += 1 @@ -361,7 +358,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def supported_suffixes(self, suffix): """ - Adds Suffixes supported to the master list. Called from Plugins. + Adds Suffixes supported to the master list. Called from Plugins. ``suffix`` New Suffix to be supported @@ -384,12 +381,10 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def on_load_service_clicked(self, load_file=None): """ - Loads the service file and saves the existing one it there is one - unchanged + Loads the service file and saves the existing one it there is one unchanged. ``load_file`` - The service file to the loaded. Will be None is from menu so - selection will be required. + The service file to the loaded. Will be None is from menu so selection will be required. """ if self.is_modified(): result = self.save_modified_service() @@ -445,10 +440,9 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): """ Save the current service file. - A temporary file is created so that we don't overwrite the existing one - and leave a mangled service file should there be an error when saving. - Audio files are also copied into the service manager directory, and - then packaged into the zip file. + A temporary file is created so that we don't overwrite the existing one and leave a mangled service file should + there be an error when saving. Audio files are also copied into the service manager directory, and then packaged + into the zip file. """ if not self.file_name(): return self.save_file_as() @@ -514,8 +508,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): total_size += file_size log.debug(u'ServiceManager.save_file - ZIP contents size is %i bytes' % total_size) service_content = cPickle.dumps(service) - # Usual Zip file cannot exceed 2GiB, file with Zip64 cannot be - # extracted using unzip in UNIX. + # Usual Zip file cannot exceed 2GiB, file with Zip64 cannot be extracted using unzip in UNIX. allow_zip_64 = (total_size > 2147483648 + len(service_content)) log.debug(u'ServiceManager.save_file - allowZip64 is %s' % allow_zip_64) zip_file = None @@ -523,18 +516,15 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): self.main_window.increment_progress_bar() try: zip_file = zipfile.ZipFile(temp_file_name, 'w', zipfile.ZIP_STORED, allow_zip_64) - # First we add service contents. - # We save ALL file_names into ZIP using UTF-8. + # First we add service contents. We save ALL file_names into ZIP using UTF-8. zip_file.writestr(service_file_name.encode(u'utf-8'), service_content) # Finally add all the listed media files. for write_from in write_list: zip_file.write(write_from, write_from.encode(u'utf-8')) for audio_from, audio_to in audio_files: if audio_from.startswith(u'audio'): - # When items are saved, they get new unique_identifier. Let's copy the - # file to the new location. Unused files can be ignored, - # OpenLP automatically cleans up the service manager dir on - # exit. + # When items are saved, they get new unique_identifier. Let's copy the file to the new location. + # Unused files can be ignored, OpenLP automatically cleans up the service manager dir on exit. audio_from = os.path.join(self.servicePath, audio_from) save_file = os.path.join(self.servicePath, audio_to) save_path = os.path.split(save_file)[0] @@ -587,7 +577,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): for item in self.service_items: self.main_window.increment_progress_bar() service_item = item[u'service_item'].get_service_repr(self._save_lite) - #@todo check for file item on save. + #TODO: check for file item on save. service.append({u'serviceitem': service_item}) self.main_window.increment_progress_bar() service_content = cPickle.dumps(service) @@ -622,8 +612,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def save_file_as(self): """ - Get a file name and then call :func:`ServiceManager.save_file` to - save the file. + Get a file name and then call :func:`ServiceManager.save_file` to save the file. """ default_service_enabled = Settings().value(u'advanced/default service enabled') if default_service_enabled: @@ -645,8 +634,8 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): default_file_name = u'' directory = Settings().value(self.main_window.service_manager_settings_section + u'/last directory') path = os.path.join(directory, default_file_name) - # SaveAs from osz to oszl is not valid as the files will be deleted - # on exit which is not sensible or usable in the long term. + # SaveAs from osz to oszl is not valid as the files will be deleted on exit which is not sensible or usable in + # the long term. if self._file_name.endswith(u'oszl') or self.service_has_all_original_files: file_name = QtGui.QFileDialog.getSaveFileName(self.main_window, UiStrings().SaveService, path, translate('OpenLP.ServiceManager', @@ -764,9 +753,8 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def load_Last_file(self): """ - Load the last service item from the service manager when the - service was last closed. Can be blank if there was no service - present. + Load the last service item from the service manager when the service was last closed. Can be blank if there was + no service present. """ file_name = Settings().value(u'servicemanager/last file') if file_name: @@ -860,8 +848,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def toggle_auto_play_slides_once(self): """ - Toggle Auto play slide once. - Inverts auto play once option for the item + Toggle Auto play slide once. Inverts auto play once option for the item """ item = self.find_service_item()[0] service_item = self.service_items[item][u'service_item'] @@ -922,8 +909,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def on_service_item_edit_form(self): """ - Opens a dialog to edit the service item and update the service - display if changes are saved. + Opens a dialog to edit the service item and update the service display if changes are saved. """ item = self.find_service_item()[0] self.service_item_edit_form.set_service_item(self.service_items[item][u'service_item']) @@ -933,17 +919,14 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def preview_live(self, unique_identifier, row): """ - Called by the SlideController to request a preview item be made live - and allows the next preview to be updated if relevant. - + Called by the SlideController to request a preview item be made live and allows the next preview to be updated + if relevant. ``unique_identifier`` Reference to the service_item - ``row`` individual row number - """ for sitem in self.service_items: if sitem[u'service_item'].unique_identifier == unique_identifier: @@ -1021,8 +1004,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def on_move_selection_up(self): """ - Moves the cursor selection up the window. - Called by the up arrow. + Moves the cursor selection up the window. Called by the up arrow. """ item = self.service_manager_list.currentItem() itemBefore = self.service_manager_list.itemAbove(item) @@ -1032,8 +1014,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def on_move_selection_down(self): """ - Moves the cursor selection down the window. - Called by the down arrow. + Moves the cursor selection down the window. Called by the down arrow. """ item = self.service_manager_list.currentItem() itemAfter = self.service_manager_list.itemBelow(item) @@ -1051,8 +1032,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def collapsed(self, item): """ - Record if an item is collapsed. Used when repainting the list to get the - correct state. + Record if an item is collapsed. Used when repainting the list to get the correct state. """ pos = item.data(0, QtCore.Qt.UserRole) self.service_items[pos - 1][u'expanded'] = False @@ -1067,8 +1047,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def expanded(self, item): """ - Record if an item is collapsed. Used when repainting the list to get the - correct state. + Record if an item is collapsed. Used when repainting the list to get the correct state. """ pos = item.data(0, QtCore.Qt.UserRole) self.service_items[pos - 1][u'expanded'] = True @@ -1133,9 +1112,8 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def repaint_service_list(self, service_item, service_item_child): """ - Clear the existing service list and prepaint all the items. This is - used when moving items as the move takes place in a supporting list, - and when regenerating all the items due to theme changes. + Clear the existing service list and prepaint all the items. This is used when moving items as the move takes + place in a supporting list, and when regenerating all the items due to theme changes. ``service_item`` The item which changed. (int) @@ -1233,8 +1211,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def theme_change(self): """ - The theme may have changed in the settings dialog so make - sure the theme combo box is in the correct state. + The theme may have changed in the settings dialog so make sure the theme combo box is in the correct state. """ log.debug(u'theme_change') visible = self.renderer.theme_level == ThemeLevel.Global @@ -1243,8 +1220,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def regenerate_service_Items(self, changed=False): """ - Rebuild the service list as things have changed and a - repaint is the easiest way to do this. + Rebuild the service list as things have changed and a repaint is the easiest way to do this. """ self.application.set_busy_cursor() log.debug(u'regenerate_service_Items') @@ -1272,8 +1248,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): for item in tempServiceItems: self.add_service_item(item[u'service_item'], False, expand=item[u'expanded'], repaint=False, selected=item[u'selected']) - # Set to False as items may have changed rendering - # does not impact the saved song so True may also be valid + # Set to False as items may have changed rendering does not impact the saved song so True may also be valid if changed: self.set_modified() # Repaint it once only at the end @@ -1282,8 +1257,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def service_item_update(self, edit_id, unique_identifier, temporary=False): """ - Triggered from plugins to update service items. - Save the values as they will be used as part of the service load + Triggered from plugins to update service items. Save the values as they will be used as part of the service load """ self.load_item_unique_identifier = unique_identifier self.load_item_edit_id = int(edit_id) @@ -1291,8 +1265,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def replace_service_item(self, newItem): """ - Using the service item passed replace the one with the same edit id - if found. + Using the service item passed replace the one with the same edit id if found. """ for item_count, item in enumerate(self.service_items): if item[u'service_item'].edit_id == newItem.edit_id and item[u'service_item'].name == newItem.name: @@ -1375,8 +1348,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def on_make_live(self): """ - Send the current item to the Live slide controller but triggered - by a tablewidget click event. + Send the current item to the Live slide controller but triggered by a tablewidget click event. """ self.make_live() @@ -1385,8 +1357,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): Send the current item to the Live slide controller ``row`` - Row number to be displayed if from preview. - -1 is passed if the value is not set + Row number to be displayed if from preview. -1 is passed if the value is not set """ item, child = self.find_service_item() # No items in service @@ -1431,10 +1402,9 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def find_service_item(self): """ - Finds the first selected ServiceItem in the list and returns the - position of the serviceitem and its selected child item. For example, - if the third child item (in the Slidecontroller known as slide) in the - second service item is selected this will return:: + Finds the first selected ServiceItem in the list and returns the position of the serviceitem and its selected + child item. For example, if the third child item (in the Slidecontroller known as slide) in the second service + item is selected this will return:: (1, 2) """ @@ -1456,8 +1426,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): def drop_event(self, event): """ - Receive drop event and trigger an internal event to get the - plugins to build and push the correct service item + Receive drop event and trigger an internal event to get the plugins to build and push the correct service item. The drag event payload carries the plugin name ``event`` @@ -1529,8 +1498,8 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): theme_group = QtGui.QActionGroup(self.theme_menu) theme_group.setExclusive(True) theme_group.setObjectName(u'theme_group') - # Create a "Default" theme, which allows the user to reset the item's - # theme to the service theme or global theme. + # Create a "Default" theme, which allows the user to reset the item's theme to the service theme or global + # theme. defaultTheme = create_widget_action(self.theme_menu, text=UiStrings().Default, checked=False, triggers=self.on_theme_change_action) self.theme_menu.setDefaultAction(defaultTheme)