← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~springermac/openlp/new_signals into lp:openlp

 

Jonathan Springer has proposed merging lp:~springermac/openlp/new_signals into lp:openlp.

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~springermac/openlp/new_signals/+merge/249114

For comment only

Replace all old style signals with new style signals.
-- 
Your team OpenLP Core is requested to review the proposed merge of lp:~springermac/openlp/new_signals into lp:openlp.
=== modified file 'openlp/core/lib/mediamanageritem.py'
--- openlp/core/lib/mediamanageritem.py	2015-01-30 21:15:03 +0000
+++ openlp/core/lib/mediamanageritem.py	2015-02-09 20:23:35 +0000
@@ -104,8 +104,8 @@
         self.retranslateUi()
         self.auto_select_id = -1
         # Need to use event as called across threads and UI is updated
-        QtCore.QObject.connect(self, QtCore.SIGNAL('%s_go_live' % self.plugin.name), self.go_live_remote)
-        QtCore.QObject.connect(self, QtCore.SIGNAL('%s_add_to_service' % self.plugin.name), self.add_to_service_remote)
+        # QtCore.QObject.connect(self, QtCore.SIGNAL('%s_go_live' % self.plugin.name), self.go_live_remote)
+        # QtCore.QObject.connect(self, QtCore.SIGNAL('%s_add_to_service' % self.plugin.name), self.add_to_service_remote)
 
     def setup_item(self):
         """

=== modified file 'openlp/core/lib/searchedit.py'
--- openlp/core/lib/searchedit.py	2015-01-18 13:39:21 +0000
+++ openlp/core/lib/searchedit.py	2015-02-09 20:23:35 +0000
@@ -34,6 +34,8 @@
     """
     This is a specialised QLineEdit with a "clear" button inside for searches.
     """
+    searchTypeChanged = QtCore.pyqtSignal(QtCore.QVariant)
+    cleared = QtCore.pyqtSignal()
 
     def __init__(self, parent):
         """
@@ -105,7 +107,8 @@
                     pass
                 self.menu_button.setDefaultAction(action)
                 self._current_search_type = identifier
-                self.emit(QtCore.SIGNAL('searchTypeChanged(int)'), identifier)
+                self.searchTypeChanged.emit(identifier)
+                # self.emit(QtCore.SIGNAL('searchTypeChanged(int)'), identifier)
                 return True
 
     def set_search_types(self, items):
@@ -163,7 +166,8 @@
         line edit.
         """
         self.clear()
-        self.emit(QtCore.SIGNAL('cleared()'))
+        self.cleared.emit()
+        # self.emit(QtCore.SIGNAL('cleared()'))
 
     def _on_menu_action_triggered(self):
         """

=== modified file 'openlp/core/ui/mainwindow.py'
--- openlp/core/ui/mainwindow.py	2015-01-18 13:39:21 +0000
+++ openlp/core/ui/mainwindow.py	2015-02-09 20:23:35 +0000
@@ -489,6 +489,7 @@
     """
     The main window.
     """
+    openlp_version_check = QtCore.pyqtSignal(QtCore.QVariant)
     log.info('MainWindow loaded')
 
     def __init__(self):
@@ -559,7 +560,8 @@
         self.application.set_busy_cursor()
         # Simple message boxes
         Registry().register_function('theme_update_global', self.default_theme_changed)
-        QtCore.QObject.connect(self, QtCore.SIGNAL('openlp_version_check'),  self.version_notice)
+        self.openlp_version_check.connect(self.version_notice)
+        # QtCore.QObject.connect(self, QtCore.SIGNAL('openlp_version_check'),  self.version_notice)
         Registry().register_function('config_screen_changed', self.screen_changed)
         Registry().register_function('bootstrap_post_set_up', self.bootstrap_post_set_up)
         # Reset the cursor

=== modified file 'openlp/core/ui/servicemanager.py'
--- openlp/core/ui/servicemanager.py	2015-01-21 20:35:36 +0000
+++ openlp/core/ui/servicemanager.py	2015-02-09 20:23:35 +0000
@@ -308,6 +308,10 @@
     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.
     """
+    servicemanager_set_item = QtCore.pyqtSignal(int)
+    servicemanager_next_item = QtCore.pyqtSignal()
+    servicemanager_previous_item = QtCore.pyqtSignal()
+
     def __init__(self, parent=None):
         """
         Sets up the service manager, toolbars, list view, et al.
@@ -330,9 +334,12 @@
         """
         self.setup_ui(self)
         # Need to use event as called across threads and UI is updated
-        QtCore.QObject.connect(self, QtCore.SIGNAL('servicemanager_set_item'), self.on_set_item)
-        QtCore.QObject.connect(self, QtCore.SIGNAL('servicemanager_next_item'), self.next_item)
-        QtCore.QObject.connect(self, QtCore.SIGNAL('servicemanager_previous_item'), self.previous_item)
+        self.servicemanager_set_item.connect(self.on_set_item)
+        self.servicemanager_next_item.connect(self.next_item)
+        self.servicemanager_previous_item.connect(self.previous_item)
+        # QtCore.QObject.connect(self, QtCore.SIGNAL('servicemanager_set_item'), self.on_set_item)
+        # QtCore.QObject.connect(self, QtCore.SIGNAL('servicemanager_next_item'), self.next_item)
+        # QtCore.QObject.connect(self, QtCore.SIGNAL('servicemanager_previous_item'), self.previous_item)
 
     def bootstrap_post_set_up(self):
         """

=== modified file 'openlp/core/ui/slidecontroller.py'
--- openlp/core/ui/slidecontroller.py	2015-01-29 21:21:03 +0000
+++ openlp/core/ui/slidecontroller.py	2015-02-09 20:23:35 +0000
@@ -401,7 +401,8 @@
         self.preview_widget.verticalHeader().sectionClicked.connect(self.on_slide_selected)
         if self.is_live:
             # Need to use event as called across threads and UI is updated
-            QtCore.QObject.connect(self, QtCore.SIGNAL('slidecontroller_toggle_display'), self.toggle_display)
+            self.slidecontroller_toggle_display.connect(self.toggle_display)
+            # QtCore.QObject.connect(self, QtCore.SIGNAL('slidecontroller_toggle_display'), self.toggle_display)
             Registry().register_function('slidecontroller_live_spin_delay', self.receive_spin_delay)
             self.toolbar.set_widget_visible(LOOP_LIST, False)
             self.toolbar.set_widget_visible(WIDE_MENU, False)
@@ -416,12 +417,15 @@
         Registry().register_function('slidecontroller_%s_blank' % self.type_prefix, self.on_slide_blank)
         Registry().register_function('slidecontroller_%s_unblank' % self.type_prefix, self.on_slide_unblank)
         Registry().register_function('slidecontroller_update_slide_limits', self.update_slide_limits)
-        QtCore.QObject.connect(self, QtCore.SIGNAL('slidecontroller_%s_set' % self.type_prefix),
-                               self.on_slide_selected_index)
-        QtCore.QObject.connect(self, QtCore.SIGNAL('slidecontroller_%s_next' % self.type_prefix),
-                               self.on_slide_selected_next)
-        QtCore.QObject.connect(self, QtCore.SIGNAL('slidecontroller_%s_previous' % self.type_prefix),
-                               self.on_slide_selected_previous)
+        getattr(self, 'slidecontroller_%s_set' % self.type_prefix).connect(self.on_slide_selected_index)
+        getattr(self, 'slidecontroller_%s_next' % self.type_prefix).connect(self.on_slide_selected_next)
+        getattr(self, 'slidecontroller_%s_previous' % self.type_prefix).connect(self.on_slide_selected_previous)
+        # QtCore.QObject.connect(self, QtCore.SIGNAL('slidecontroller_%s_set' % self.type_prefix),
+        #                        self.on_slide_selected_index)
+        # QtCore.QObject.connect(self, QtCore.SIGNAL('slidecontroller_%s_next' % self.type_prefix),
+        #                        self.on_slide_selected_next)
+        # QtCore.QObject.connect(self, QtCore.SIGNAL('slidecontroller_%s_previous' % self.type_prefix),
+        #                        self.on_slide_selected_previous)
 
     def _slide_shortcut_activated(self):
         """
@@ -581,7 +585,8 @@
         if self.is_live:
             self.__add_actions_to_widget(self.display)
         if self.display.audio_player:
-            self.display.audio_player.connectSlot(QtCore.SIGNAL('tick(qint64)'), self.on_audio_time_remaining)
+            self.display.audio_player.media_object.tick.connect(self.on_audio_time_remaining)
+            # self.display.audio_player.connectSlot(QtCore.SIGNAL('tick(qint64)'), self.on_audio_time_remaining)
         # The SlidePreview's ratio.
         try:
             self.ratio = self.screens.current['size'].width() / self.screens.current['size'].height()
@@ -1411,6 +1416,10 @@
     """
     Set up the Live Controller.
     """
+    slidecontroller_preview_set = QtCore.pyqtSignal(list)
+    slidecontroller_preview_next = QtCore.pyqtSignal()
+    slidecontroller_preview_previous = QtCore.pyqtSignal()
+
     def __init__(self, parent):
         """
         Set up the general Controller.
@@ -1431,6 +1440,11 @@
     """
     Set up the Live Controller.
     """
+    slidecontroller_live_set = QtCore.pyqtSignal(list)
+    slidecontroller_live_next = QtCore.pyqtSignal()
+    slidecontroller_live_previous = QtCore.pyqtSignal()
+    slidecontroller_toggle_display = QtCore.pyqtSignal(str)
+
     def __init__(self, parent):
         """
         Set up the general Controller.

=== modified file 'openlp/core/ui/themewizard.py'
--- openlp/core/ui/themewizard.py	2015-01-18 13:39:21 +0000
+++ openlp/core/ui/themewizard.py	2015-02-09 20:23:35 +0000
@@ -361,32 +361,45 @@
         self.preview_layout.addWidget(self.preview_area)
         theme_wizard.addPage(self.preview_page)
         self.retranslateUi(theme_wizard)
-        QtCore.QObject.connect(self.background_combo_box, QtCore.SIGNAL('currentIndexChanged(int)'),
-                               self.background_stack, QtCore.SLOT('setCurrentIndex(int)'))
-        QtCore.QObject.connect(self.outline_check_box, QtCore.SIGNAL('toggled(bool)'), self.outline_color_button,
-                               QtCore.SLOT('setEnabled(bool)'))
-        QtCore.QObject.connect(self.outline_check_box, QtCore.SIGNAL('toggled(bool)'), self.outline_size_spin_box,
-                               QtCore.SLOT('setEnabled(bool)'))
-        QtCore.QObject.connect(self.shadow_check_box, QtCore.SIGNAL('toggled(bool)'), self.shadow_color_button,
-                               QtCore.SLOT('setEnabled(bool)'))
-        QtCore.QObject.connect(self.shadow_check_box, QtCore.SIGNAL('toggled(bool)'), self.shadow_size_spin_box,
-                               QtCore.SLOT('setEnabled(bool)'))
-        QtCore.QObject.connect(self.main_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.main_x_spin_box,
-                               QtCore.SLOT('setDisabled(bool)'))
-        QtCore.QObject.connect(self.main_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.main_y_spin_box,
-                               QtCore.SLOT('setDisabled(bool)'))
-        QtCore.QObject.connect(self.main_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.main_width_spin_box,
-                               QtCore.SLOT('setDisabled(bool)'))
-        QtCore.QObject.connect(self.main_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.main_height_spin_box,
-                               QtCore.SLOT('setDisabled(bool)'))
-        QtCore.QObject.connect(self.footer_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.footer_x_spin_box,
-                               QtCore.SLOT('setDisabled(bool)'))
-        QtCore.QObject.connect(self.footer_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.footer_y_spin_box,
-                               QtCore.SLOT('setDisabled(bool)'))
-        QtCore.QObject.connect(self.footer_position_check_box, QtCore.SIGNAL('toggled(bool)'),
-                               self.footer_width_spin_box, QtCore.SLOT('setDisabled(bool)'))
-        QtCore.QObject.connect(self.footer_position_check_box, QtCore.SIGNAL('toggled(bool)'),
-                               self.footer_height_spin_box, QtCore.SLOT('setDisabled(bool)'))
+        self.background_combo_box.currentIndexChanged.connect(self.background_stack.setCurrentIndex)
+        self.outline_check_box.toggled.connect(self.outline_color_button.setEnabled)
+        self.outline_check_box.toggled.connect(self.outline_size_spin_box.setEnabled)
+        self.shadow_check_box.toggled.connect(self.shadow_color_button.setEnabled)
+        self.shadow_check_box.toggled.connect(self.shadow_size_spin_box.setEnabled)
+        self.main_position_check_box.toggled.connect(self.main_x_spin_box.setDisabled)
+        self.main_position_check_box.toggled.connect(self.main_y_spin_box.setDisabled)
+        self.main_position_check_box.toggled.connect(self.main_width_spin_box.setDisabled)
+        self.main_position_check_box.toggled.connect(self.main_height_spin_box.setDisabled)
+        self.footer_position_check_box.toggled.connect(self.footer_x_spin_box.setDisabled)
+        self.footer_position_check_box.toggled.connect(self.footer_y_spin_box.setDisabled)
+        self.footer_position_check_box.toggled.connect(self.footer_width_spin_box.setDisabled)
+        self.footer_position_check_box.toggled.connect(self.footer_height_spin_box.setDisabled)
+        # QtCore.QObject.connect(self.background_combo_box, QtCore.SIGNAL('currentIndexChanged(int)'),
+        #                        self.background_stack, QtCore.SLOT('setCurrentIndex(int)'))
+        # QtCore.QObject.connect(self.outline_check_box, QtCore.SIGNAL('toggled(bool)'), self.outline_color_button,
+        #                        QtCore.SLOT('setEnabled(bool)'))
+        # QtCore.QObject.connect(self.outline_check_box, QtCore.SIGNAL('toggled(bool)'), self.outline_size_spin_box,
+        #                        QtCore.SLOT('setEnabled(bool)'))
+        # QtCore.QObject.connect(self.shadow_check_box, QtCore.SIGNAL('toggled(bool)'), self.shadow_color_button,
+        #                        QtCore.SLOT('setEnabled(bool)'))
+        # QtCore.QObject.connect(self.shadow_check_box, QtCore.SIGNAL('toggled(bool)'), self.shadow_size_spin_box,
+        #                        QtCore.SLOT('setEnabled(bool)'))
+        # QtCore.QObject.connect(self.main_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.main_x_spin_box,
+        #                        QtCore.SLOT('setDisabled(bool)'))
+        # QtCore.QObject.connect(self.main_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.main_y_spin_box,
+        #                        QtCore.SLOT('setDisabled(bool)'))
+        # QtCore.QObject.connect(self.main_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.main_width_spin_box,
+        #                        QtCore.SLOT('setDisabled(bool)'))
+        # QtCore.QObject.connect(self.main_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.main_height_spin_box,
+        #                        QtCore.SLOT('setDisabled(bool)'))
+        # QtCore.QObject.connect(self.footer_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.footer_x_spin_box,
+        #                        QtCore.SLOT('setDisabled(bool)'))
+        # QtCore.QObject.connect(self.footer_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.footer_y_spin_box,
+        #                        QtCore.SLOT('setDisabled(bool)'))
+        # QtCore.QObject.connect(self.footer_position_check_box, QtCore.SIGNAL('toggled(bool)'),
+        #                        self.footer_width_spin_box, QtCore.SLOT('setDisabled(bool)'))
+        # QtCore.QObject.connect(self.footer_position_check_box, QtCore.SIGNAL('toggled(bool)'),
+        #                        self.footer_height_spin_box, QtCore.SLOT('setDisabled(bool)'))
 
     def retranslateUi(self, theme_wizard):
         """

=== modified file 'openlp/core/utils/__init__.py'
--- openlp/core/utils/__init__.py	2015-01-19 08:34:29 +0000
+++ openlp/core/utils/__init__.py	2015-02-09 20:23:35 +0000
@@ -115,7 +115,8 @@
         version = check_latest_version(app_version)
         log.debug("Versions %s and %s " % (LooseVersion(str(version)), LooseVersion(str(app_version['full']))))
         if LooseVersion(str(version)) > LooseVersion(str(app_version['full'])):
-            self.main_window.emit(QtCore.SIGNAL('openlp_version_check'), '%s' % version)
+            self.main_window.openlp_version_check.emit('%s' % version)
+            # self.main_window.emit(QtCore.SIGNAL('openlp_version_check'), '%s' % version)
 
 
 class HTTPRedirectHandlerFixed(urllib.request.HTTPRedirectHandler):

=== modified file 'openlp/plugins/alerts/lib/alertsmanager.py'
--- openlp/plugins/alerts/lib/alertsmanager.py	2015-01-18 13:39:21 +0000
+++ openlp/plugins/alerts/lib/alertsmanager.py	2015-02-09 20:23:35 +0000
@@ -33,13 +33,16 @@
     """
     AlertsManager manages the settings of Alerts.
     """
+    alerts_text = QtCore.pyqtSignal(list)
+
     def __init__(self, parent):
         super(AlertsManager, self).__init__(parent)
         self.timer_id = 0
         self.alert_list = []
         Registry().register_function('live_display_active', self.generate_alert)
         Registry().register_function('alerts_text', self.alert_text)
-        QtCore.QObject.connect(self, QtCore.SIGNAL('alerts_text'), self.alert_text)
+        self.alerts_text.connect(self.alert_text)
+        # QtCore.QObject.connect(self, QtCore.SIGNAL('alerts_text'), self.alert_text)
 
     def alert_text(self, message):
         """

=== modified file 'openlp/plugins/bibles/lib/mediaitem.py'
--- openlp/plugins/bibles/lib/mediaitem.py	2015-01-18 13:39:21 +0000
+++ openlp/plugins/bibles/lib/mediaitem.py	2015-02-09 20:23:35 +0000
@@ -50,6 +50,8 @@
     """
     This is the custom media manager item for Bibles.
     """
+    bibles_go_live = QtCore.pyqtSignal(list)
+    bibles_add_to_service = QtCore.pyqtSignal(list)
     log.info('Bible Media Item loaded')
 
     def __init__(self, parent, plugin):
@@ -61,6 +63,8 @@
         """
         Do some additional setup.
         """
+        self.bibles_go_live.connect(self.go_live_remote)
+        self.bibles_add_to_service.connect(self.add_to_service_remote)
         # Place to store the search results for both bibles.
         self.settings = self.plugin.settings_tab
         self.quick_preview_allowed = True
@@ -235,8 +239,9 @@
         self.advanced_from_chapter.activated.connect(self.on_advanced_from_chapter)
         self.advanced_from_verse.activated.connect(self.on_advanced_from_verse)
         self.advanced_to_chapter.activated.connect(self.on_advanced_to_chapter)
-        QtCore.QObject.connect(self.quick_search_edit, QtCore.SIGNAL('searchTypeChanged(int)'),
-                               self.update_auto_completer)
+        self.quick_search_edit.searchTypeChanged.connect(self.update_auto_completer)
+        # QtCore.QObject.connect(self.quick_search_edit, QtCore.SIGNAL('searchTypeChanged(int)'),
+        #                        self.update_auto_completer)
         self.quickVersionComboBox.activated.connect(self.update_auto_completer)
         self.quickStyleComboBox.activated.connect(self.on_quick_style_combo_box_changed)
         self.advancedStyleComboBox.activated.connect(self.on_advanced_style_combo_box_changed)

=== modified file 'openlp/plugins/custom/lib/mediaitem.py'
--- openlp/plugins/custom/lib/mediaitem.py	2015-01-18 13:39:21 +0000
+++ openlp/plugins/custom/lib/mediaitem.py	2015-02-09 20:23:35 +0000
@@ -47,6 +47,8 @@
     """
     This is the custom media manager item for Custom Slides.
     """
+    custom_go_live = QtCore.pyqtSignal(list)
+    custom_add_to_service = QtCore.pyqtSignal(list)
     log.info('Custom Media Item loaded')
 
     def __init__(self, parent, plugin):
@@ -57,6 +59,8 @@
         """
         Do some additional setup.
         """
+        self.custom_go_live.connect(self.go_live_remote)
+        self.custom_add_to_service.connect(self.add_to_service_remote)
         self.edit_custom_form = EditCustomForm(self, self.main_window, self.plugin.db_manager)
         self.single_service_item = False
         self.quick_preview_allowed = True
@@ -72,9 +76,11 @@
         self.toolbar.addSeparator()
         self.add_search_to_toolbar()
         # Signals and slots
-        QtCore.QObject.connect(self.search_text_edit, QtCore.SIGNAL('cleared()'), self.on_clear_text_button_click)
-        QtCore.QObject.connect(self.search_text_edit, QtCore.SIGNAL('searchTypeChanged(int)'),
-                               self.on_search_text_button_clicked)
+        self.search_text_edit.cleared.connect(self.on_clear_text_button_click)
+        self.search_text_edit.searchTypeChanged.connect(self.on_search_text_button_clicked)
+        # QtCore.QObject.connect(self.search_text_edit, QtCore.SIGNAL('cleared()'), self.on_clear_text_button_click)
+        # QtCore.QObject.connect(self.search_text_edit, QtCore.SIGNAL('searchTypeChanged(int)'),
+        #                        self.on_search_text_button_clicked)
         Registry().register_function('custom_load_list', self.load_list)
         Registry().register_function('custom_preview', self.on_preview_click)
         Registry().register_function('custom_create_from_service', self.create_from_service_item)

=== modified file 'openlp/plugins/images/lib/mediaitem.py'
--- openlp/plugins/images/lib/mediaitem.py	2015-01-30 21:03:53 +0000
+++ openlp/plugins/images/lib/mediaitem.py	2015-02-09 20:23:35 +0000
@@ -41,6 +41,8 @@
     """
     This is the custom media manager item for images.
     """
+    images_go_live = QtCore.pyqtSignal(list)
+    images_add_to_service = QtCore.pyqtSignal(list)
     log.info('Image Media Item loaded')
 
     def __init__(self, parent, plugin):
@@ -54,6 +56,8 @@
         """
         Do some additional setup.
         """
+        self.images_go_live.connect(self.go_live_remote)
+        self.images_add_to_service.connect(self.add_to_service_remote)
         self.quick_preview_allowed = True
         self.has_search = True
         self.manager = self.plugin.manager

=== modified file 'openlp/plugins/media/lib/mediaitem.py'
--- openlp/plugins/media/lib/mediaitem.py	2015-01-18 13:39:21 +0000
+++ openlp/plugins/media/lib/mediaitem.py	2015-02-09 20:23:35 +0000
@@ -53,6 +53,8 @@
     """
     This is the custom media manager item for Media Slides.
     """
+    media_go_live = QtCore.pyqtSignal(list)
+    media_add_to_service = QtCore.pyqtSignal(list)
     log.info('%s MediaMediaItem loaded', __name__)
 
     def __init__(self, parent, plugin):
@@ -65,6 +67,8 @@
         """
         Do some additional setup.
         """
+        self.media_go_live.connect(self.go_live_remote)
+        self.media_add_to_service.connect(self.add_to_service_remote)
         self.single_service_item = False
         self.has_search = True
         self.media_object = None

=== modified file 'openlp/plugins/presentations/lib/mediaitem.py'
--- openlp/plugins/presentations/lib/mediaitem.py	2015-01-22 18:01:54 +0000
+++ openlp/plugins/presentations/lib/mediaitem.py	2015-02-09 20:23:35 +0000
@@ -44,6 +44,8 @@
     This is the Presentation media manager item for Presentation Items. It can present files using Openoffice and
     Powerpoint
     """
+    presentations_go_live = QtCore.pyqtSignal(list)
+    presentations_add_to_service = QtCore.pyqtSignal(list)
     log.info('Presentations Media Item loaded')
 
     def __init__(self, parent, plugin, controllers):
@@ -66,6 +68,8 @@
         """
         Do some additional setup.
         """
+        self.presentations_go_live.connect(self.go_live_remote)
+        self.presentations_add_to_service.connect(self.add_to_service_remote)
         self.message_listener = MessageListener(self)
         self.has_search = True
         self.single_service_item = False

=== modified file 'openlp/plugins/presentations/lib/pptviewlib/ppttest.py'
--- openlp/plugins/presentations/lib/pptviewlib/ppttest.py	2015-01-18 13:39:21 +0000
+++ openlp/plugins/presentations/lib/pptviewlib/ppttest.py	2015-02-09 20:23:35 +0000
@@ -96,17 +96,28 @@
         row += 1
         grid.addWidget(stop, row, 0)
         grid.addWidget(resume, row, 1)
-        self.connect(ppt_btn, QtCore.SIGNAL('clicked()'), self.openClick)
-        self.connect(ppt_dlg_btn, QtCore.SIGNAL('clicked()'), self.openDialog)
-        self.connect(slide_btn, QtCore.SIGNAL('clicked()'), self.gotoClick)
-        self.connect(prev, QtCore.SIGNAL('clicked()'), self.prevClick)
-        self.connect(next, QtCore.SIGNAL('clicked()'), self.nextClick)
-        self.connect(blank, QtCore.SIGNAL('clicked()'), self.blankClick)
-        self.connect(unblank, QtCore.SIGNAL('clicked()'), self.unblankClick)
-        self.connect(restart, QtCore.SIGNAL('clicked()'), self.restartClick)
-        self.connect(close, QtCore.SIGNAL('clicked()'), self.closeClick)
-        self.connect(stop, QtCore.SIGNAL('clicked()'), self.stopClick)
-        self.connect(resume, QtCore.SIGNAL('clicked()'), self.resumeClick)
+        ppt_btn.clicked.connect(self.openClick)
+        ppt_dlg_btn.clicked.connect(self.openDialog)
+        slide_btn.clicked.connect(self.gotoClick)
+        prev.clicked.connect(self.prevClick)
+        next.clicked.connect(self.nextClick)
+        blank.clicked.connect(self.blankClick)
+        unblank.clicked.connect(self.unblankClick)
+        restart.clicked.connect(self.restartClick)
+        close.clicked.connect(self.closeClick)
+        stop.clicked.connect(self.stopClick)
+        resume.clicked.connect(self.resumeClick)
+        # self.connect(ppt_btn, QtCore.SIGNAL('clicked()'), self.openClick)
+        # self.connect(ppt_dlg_btn, QtCore.SIGNAL('clicked()'), self.openDialog)
+        # self.connect(slide_btn, QtCore.SIGNAL('clicked()'), self.gotoClick)
+        # self.connect(prev, QtCore.SIGNAL('clicked()'), self.prevClick)
+        # self.connect(next, QtCore.SIGNAL('clicked()'), self.nextClick)
+        # self.connect(blank, QtCore.SIGNAL('clicked()'), self.blankClick)
+        # self.connect(unblank, QtCore.SIGNAL('clicked()'), self.unblankClick)
+        # self.connect(restart, QtCore.SIGNAL('clicked()'), self.restartClick)
+        # self.connect(close, QtCore.SIGNAL('clicked()'), self.closeClick)
+        # self.connect(stop, QtCore.SIGNAL('clicked()'), self.stopClick)
+        # self.connect(resume, QtCore.SIGNAL('clicked()'), self.resumeClick)
         self.setLayout(grid)
         self.resize(300, 150)
 

=== modified file 'openlp/plugins/remotes/lib/httprouter.py'
--- openlp/plugins/remotes/lib/httprouter.py	2015-01-18 13:39:21 +0000
+++ openlp/plugins/remotes/lib/httprouter.py	2015-02-09 20:23:35 +0000
@@ -457,7 +457,8 @@
 
         :param action: This is the action, either ``hide`` or ``show``.
         """
-        self.live_controller.emit(QtCore.SIGNAL('slidecontroller_toggle_display'), action)
+        self.live_controller.slidecontroller_toggle_display.emit(action)
+        # self.live_controller.emit(QtCore.SIGNAL('slidecontroller_toggle_display'), action)
         self.do_json_header()
         return json.dumps({'results': {'success': True}}).encode()
 
@@ -472,7 +473,8 @@
             except KeyError:
                 return self.do_http_error()
             text = urllib.parse.unquote(text)
-            self.alerts_manager.emit(QtCore.SIGNAL('alerts_text'), [text])
+            self.alerts_manager.alerts_text.emit([text])
+            # self.alerts_manager.emit(QtCore.SIGNAL('alerts_text'), [text])
             success = True
         else:
             success = False
@@ -538,7 +540,8 @@
         :param display_type: This is the type of slide controller, either ``preview`` or ``live``.
         :param action: The action to perform.
         """
-        event = 'slidecontroller_%s_%s' % (display_type, action)
+        event = getattr(self.live_controller, 'slidecontroller_%s_%s' % (display_type, action))
+        # event = 'slidecontroller_%s_%s' % (display_type, action)
         if self.request_data:
             try:
                 data = json.loads(self.request_data)['request']['id']
@@ -546,9 +549,11 @@
                 return self.do_http_error()
             log.info(data)
             # This slot expects an int within a list.
-            self.live_controller.emit(QtCore.SIGNAL(event), [data])
+            event.emit([data])
+            # self.live_controller.emit(QtCore.SIGNAL(event), [data])
         else:
-            self.live_controller.emit(QtCore.SIGNAL(event))
+            event.emit()
+            # self.live_controller.emit(QtCore.SIGNAL(event))
         json_data = {'results': {'success': True}}
         self.do_json_header()
         return json.dumps(json_data).encode()
@@ -567,15 +572,18 @@
 
         :param action: The action to perform.
         """
-        event = 'servicemanager_%s_item' % action
+        event = getattr(self.service_manager, 'servicemanager_%s_item' % action)
+        # event = 'servicemanager_%s_item' % action
         if self.request_data:
             try:
                 data = json.loads(self.request_data)['request']['id']
             except KeyError:
                 return self.do_http_error()
-            self.service_manager.emit(QtCore.SIGNAL(event), data)
+            event.emit(data)
+            # self.service_manager.emit(QtCore.SIGNAL(event), data)
         else:
-            self.service_manager.emit(QtCore.SIGNAL(event))
+            event.emit()
+            # self.service_manager.emit(QtCore.SIGNAL(event))
         self.do_json_header()
         return json.dumps({'results': {'success': True}}).encode()
 
@@ -622,7 +630,8 @@
             return self.do_http_error()
         plugin = self.plugin_manager.get_plugin_by_name(plugin_name)
         if plugin.status == PluginStatus.Active and plugin.media_item:
-            plugin.media_item.emit(QtCore.SIGNAL('%s_go_live' % plugin_name), [request_id, True])
+            getattr(plugin.media_item, '%s_go_live' % plugin_name).emit([request_id, True])
+            # plugin.media_item.emit(QtCore.SIGNAL('%s_go_live' % plugin_name), [request_id, True])
         return self.do_http_success()
 
     def add_to_service(self, plugin_name):
@@ -636,5 +645,6 @@
         plugin = self.plugin_manager.get_plugin_by_name(plugin_name)
         if plugin.status == PluginStatus.Active and plugin.media_item:
             item_id = plugin.media_item.create_item_from_id(request_id)
-            plugin.media_item.emit(QtCore.SIGNAL('%s_add_to_service' % plugin_name), [item_id, True])
+            getattr(plugin.media_item, '%s_add_to_service' % plugin_name).emit([item_id, True])
+            # plugin.media_item.emit(QtCore.SIGNAL('%s_add_to_service' % plugin_name), [item_id, True])
         self.do_http_success()

=== modified file 'openlp/plugins/songs/forms/songimportform.py'
--- openlp/plugins/songs/forms/songimportform.py	2015-01-18 13:39:21 +0000
+++ openlp/plugins/songs/forms/songimportform.py	2015-02-09 20:23:35 +0000
@@ -42,6 +42,7 @@
     This is the Song Import Wizard, which allows easy importing of Songs
     into OpenLP from other formats like OpenLyrics, OpenSong and CCLI.
     """
+    completeChanged = QtCore.pyqtSignal()
     log.info('SongImportForm loaded')
 
     def __init__(self, parent, plugin):
@@ -70,7 +71,8 @@
         """
         self.current_format = index
         self.format_stack.setCurrentIndex(index)
-        self.source_page.emit(QtCore.SIGNAL('completeChanged()'))
+        self.source_page.completeChanged.emit()
+        # self.source_page.emit(QtCore.SIGNAL('completeChanged()'))
 
     def custom_init(self):
         """
@@ -198,6 +200,7 @@
         Re-implement the validateCurrentPage() method. Validate the current page before moving on to the next page.
         Provide each song format class with a chance to validate its input by overriding is_valid_source().
         """
+        completeChanged = QtCore.pyqtSignal()
         if self.currentPage() == self.welcome_page:
             return True
         elif self.currentPage() == self.source_page:
@@ -282,20 +285,23 @@
         title = custom_title if custom_title else WizardStrings.OpenTypeFile % format_name
         if select_mode == SongFormatSelect.MultipleFiles:
             self.get_files(title, self.format_widgets[this_format]['file_list_widget'], ext_filter)
-            self.source_page.emit(QtCore.SIGNAL('completeChanged()'))
+            self.source_page.completeChanged.emit()
+            # self.source_page.emit(QtCore.SIGNAL('completeChanged()'))
 
     def on_remove_button_clicked(self):
         """
         Remove a file from the list.
         """
         self.remove_selected_items(self.format_widgets[self.current_format]['file_list_widget'])
-        self.source_page.emit(QtCore.SIGNAL('completeChanged()'))
+        self.source_page.completeChanged.emit()
+        # self.source_page.emit(QtCore.SIGNAL('completeChanged()'))
 
     def on_filepath_edit_text_changed(self):
         """
         Called when the content of the Filename/Folder edit box changes.
         """
-        self.source_page.emit(QtCore.SIGNAL('completeChanged()'))
+        self.source_page.completeChanged.emit()
+        # self.source_page.emit(QtCore.SIGNAL('completeChanged()'))
 
     def set_defaults(self):
         """

=== modified file 'openlp/plugins/songs/lib/mediaitem.py'
--- openlp/plugins/songs/lib/mediaitem.py	2015-01-18 13:39:21 +0000
+++ openlp/plugins/songs/lib/mediaitem.py	2015-02-09 20:23:35 +0000
@@ -60,6 +60,8 @@
     """
     This is the custom media manager item for Songs.
     """
+    songs_go_live = QtCore.pyqtSignal(list)
+    songs_add_to_service = QtCore.pyqtSignal(list)
     log.info('Song Media Item loaded')
 
     def __init__(self, parent, plugin):
@@ -70,6 +72,8 @@
         """
         Do some additional setup.
         """
+        self.songs_go_live.connect(self.go_live_remote)
+        self.songs_add_to_service.connect(self.add_to_service_remote)
         self.single_service_item = False
         # Holds information about whether the edit is remotely triggered and which Song is required.
         self.remote_song = -1
@@ -97,9 +101,11 @@
         # Signals and slots
         Registry().register_function('songs_load_list', self.on_song_list_load)
         Registry().register_function('songs_preview', self.on_preview_click)
-        QtCore.QObject.connect(self.search_text_edit, QtCore.SIGNAL('cleared()'), self.on_clear_text_button_click)
-        QtCore.QObject.connect(
-            self.search_text_edit, QtCore.SIGNAL('searchTypeChanged(int)'), self.on_search_text_button_clicked)
+        # QtCore.QObject.connect(self.search_text_edit, QtCore.SIGNAL('cleared()'), self.on_clear_text_button_click)
+        # QtCore.QObject.connect(
+        #     self.search_text_edit, QtCore.SIGNAL('searchTypeChanged(int)'), self.on_search_text_button_clicked)
+        self.search_text_edit.cleared.connect(self.on_clear_text_button_click)
+        self.search_text_edit.searchTypeChanged.connect(self.on_search_text_button_clicked)
 
     def add_custom_context_actions(self):
         create_widget_action(self.list_view, separator=True)

=== modified file 'openlp/plugins/songusage/songusageplugin.py'
--- openlp/plugins/songusage/songusageplugin.py	2015-01-18 13:39:21 +0000
+++ openlp/plugins/songusage/songusageplugin.py	2015-02-09 20:23:35 +0000
@@ -114,8 +114,9 @@
         self.main_window.status_bar.insertPermanentWidget(1, self.song_usage_active_button)
         self.song_usage_active_button.hide()
         # Signals and slots
-        QtCore.QObject.connect(self.song_usage_status, QtCore.SIGNAL('visibilityChanged(bool)'),
-                               self.song_usage_status.setChecked)
+        self.song_usage_status.changed.connect(self.toggle_song_usage_state)
+        # QtCore.QObject.connect(self.song_usage_status, QtCore.SIGNAL('visibilityChanged(bool)'),
+        #                        self.song_usage_status.setChecked)
         self.song_usage_active_button.toggled.connect(self.toggle_song_usage_state)
         self.song_usage_menu.menuAction().setVisible(False)
 

=== modified file 'tests/functional/openlp_core_utils/test_init.py'
--- tests/functional/openlp_core_utils/test_init.py	2015-01-19 08:34:29 +0000
+++ tests/functional/openlp_core_utils/test_init.py	2015-02-09 20:23:35 +0000
@@ -59,7 +59,8 @@
             version_thread = VersionThread(mocked_main_window)
             version_thread.run()
         # THEN: If the version has changed the main window is notified
-        self.assertTrue(mocked_main_window.emit.called, 'The main windows should have been notified')
+        self.assertTrue(mocked_main_window.openlp_version_check.emit.called,
+                        'The main windows should have been notified')
 
     def get_uno_command_libreoffice_command_exists_test(self):
         """


References