From c1ca990a2bcca669922064e6abb1ab940d887834 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Wed, 14 Dec 2011 19:07:40 +0000 Subject: [PATCH 1/7] Fix up methods to do the changes --- openlp/core/ui/slidecontroller.py | 28 +++++++++++++++++++----- openlp/plugins/remotes/lib/httpserver.py | 27 +++++++++++++++++++++++ 2 files changed, 49 insertions(+), 6 deletions(-) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index cd4663297..1c427100f 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -95,7 +95,7 @@ class SlideController(Controller): u'Edit Song', ] self.nextPreviousList = [ - u'Previous Slide', + u'Previous Slide', u'Next Slide' ] self.timer_id = 0 @@ -114,8 +114,8 @@ class SlideController(Controller): self.typeLabel.setText(UiStrings().Live) self.split = 1 self.typePrefix = u'live' - self.keypress_queue = deque() - self.keypress_loop = False + self.keypress_queue = deque() + self.keypress_loop = False else: self.typeLabel.setText(UiStrings().Preview) self.split = 0 @@ -187,7 +187,7 @@ class SlideController(Controller): translate('OpenLP.SlideController', 'Hide'), self.toolbar)) self.blankScreen = shortcut_action(self.hideMenu, u'blankScreen', [QtCore.Qt.Key_Period], self.onBlankDisplay, - u':/slides/slide_blank.png', False, + u':/slides/slide_blank.png', False, unicode(UiStrings().LiveToolbar)) self.blankScreen.setText( translate('OpenLP.SlideController', 'Blank Screen')) @@ -412,6 +412,9 @@ class SlideController(Controller): QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'slidecontroller_live_spin_delay'), self.receiveSpinDelay) + QtCore.QObject.connect(Receiver.get_receiver(), + QtCore.SIGNAL(u'slidecontroller_toggle_display'), + self.toggleDisplay) self.toolbar.makeWidgetsInvisible(self.loopList) else: QtCore.QObject.connect(self.previewListWidget, @@ -570,6 +573,19 @@ class SlideController(Controller): self.display.setVisible(False) self.mediaController.video_stop([self]) + def toggleDisplay(self, action): + """ + Toggle the display settings triggered from remote messages. + """ + if action == u'blank': + self.onBlankDisplay(not self.blankScreen.isChecked()) + elif action == u'theme': + self.onThemeDisplay(not self.themeScreen.isChecked()) + if action == u'desktop': + self.onHideDisplay(not self.desktopScreen.isChecked()) + + + def servicePrevious(self): """ Live event to select the previous service item from the service manager. @@ -618,8 +634,8 @@ class SlideController(Controller): self.previewSizeChanged() self.previewDisplay.setup() serviceItem = ServiceItem() - self.previewDisplay.webView.setHtml(build_html(serviceItem, - self.previewDisplay.screen, None, self.isLive, None, + self.previewDisplay.webView.setHtml(build_html(serviceItem, + self.previewDisplay.screen, None, self.isLive, None, plugins=PluginManager.get_instance().plugins)) self.mediaController.setup_display(self.previewDisplay) if self.serviceItem: diff --git a/openlp/plugins/remotes/lib/httpserver.py b/openlp/plugins/remotes/lib/httpserver.py index acbe103a7..fb8e27cd3 100644 --- a/openlp/plugins/remotes/lib/httpserver.py +++ b/openlp/plugins/remotes/lib/httpserver.py @@ -252,6 +252,8 @@ class HttpConnection(object): (r'^/api/display/(hide|show)$', self.display), (r'^/api/alert$', self.alert), (r'^/api/plugin/(search)$', self.pluginInfo), + (r'^/api/status$', self.status), + (r'^/api/changeStatus/(blank|theme|desktop)$', self.changeStatus), (r'^/api/(.*)/search$', self.search), (r'^/api/(.*)/live$', self.go_live), (r'^/api/(.*)/add$', self.add_to_service) @@ -416,6 +418,31 @@ class HttpConnection(object): return HttpResponse(json.dumps({u'results': {u'success': True}}), {u'Content-Type': u'application/json'}) + def status(self): + """ + Obtain the status of system. + + """ + result = { + u'blank': self.parent.plugin.liveController.blankScreen.\ + isChecked(), + u'theme': self.parent.plugin.liveController.themeScreen.\ + isChecked(), + u'display': self.parent.plugin.liveController.desktopScreen.\ + isChecked() + } + return HttpResponse(json.dumps({u'results': result}), + {u'Content-Type': u'application/json'}) + + def changeStatus(self, action): + """ + Toggle the display of the system including the status button. + + """ + Receiver.send_message(u'slidecontroller_toggle_display', action) + return HttpResponse(json.dumps({u'results': {u'success': True}}), + {u'Content-Type': u'application/json'}) + def alert(self): """ Send an alert. From e450ea476d9b041df6a1d3e2c2ee0822bec15f63 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Wed, 14 Dec 2011 19:19:26 +0000 Subject: [PATCH 2/7] Remove blank line --- openlp/core/ui/slidecontroller.py | 1 - 1 file changed, 1 deletion(-) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 1c427100f..15cf14f1f 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -585,7 +585,6 @@ class SlideController(Controller): self.onHideDisplay(not self.desktopScreen.isChecked()) - def servicePrevious(self): """ Live event to select the previous service item from the service manager. From 58f7649cca7d4fc2863c2fac4725539a28b6030a Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Wed, 14 Dec 2011 20:04:38 +0000 Subject: [PATCH 3/7] Fix elif --- openlp/core/ui/slidecontroller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 15cf14f1f..a86f426d5 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -581,7 +581,7 @@ class SlideController(Controller): self.onBlankDisplay(not self.blankScreen.isChecked()) elif action == u'theme': self.onThemeDisplay(not self.themeScreen.isChecked()) - if action == u'desktop': + elif action == u'desktop': self.onHideDisplay(not self.desktopScreen.isChecked()) From a06a1dd24c7f11372d2dbbfbd932d09d34d18486 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Wed, 14 Dec 2011 20:26:23 +0000 Subject: [PATCH 4/7] Fix url messages --- openlp/plugins/remotes/lib/httpserver.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/remotes/lib/httpserver.py b/openlp/plugins/remotes/lib/httpserver.py index fb8e27cd3..ca4b4a45c 100644 --- a/openlp/plugins/remotes/lib/httpserver.py +++ b/openlp/plugins/remotes/lib/httpserver.py @@ -252,8 +252,8 @@ class HttpConnection(object): (r'^/api/display/(hide|show)$', self.display), (r'^/api/alert$', self.alert), (r'^/api/plugin/(search)$', self.pluginInfo), - (r'^/api/status$', self.status), - (r'^/api/changeStatus/(blank|theme|desktop)$', self.changeStatus), + (r'^/api/display-status$', self.status), + (r'^/api/display-status/(blank|theme|desktop)$', self.changeStatus), (r'^/api/(.*)/search$', self.search), (r'^/api/(.*)/live$', self.go_live), (r'^/api/(.*)/add$', self.add_to_service) From e141419cdcb63a61c01175b9d864f88802e1cfa3 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Thu, 15 Dec 2011 06:10:35 +0000 Subject: [PATCH 5/7] Fix method names and add to poll event --- openlp/plugins/remotes/lib/httpserver.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/openlp/plugins/remotes/lib/httpserver.py b/openlp/plugins/remotes/lib/httpserver.py index ca4b4a45c..37bcb3415 100644 --- a/openlp/plugins/remotes/lib/httpserver.py +++ b/openlp/plugins/remotes/lib/httpserver.py @@ -252,8 +252,9 @@ class HttpConnection(object): (r'^/api/display/(hide|show)$', self.display), (r'^/api/alert$', self.alert), (r'^/api/plugin/(search)$', self.pluginInfo), - (r'^/api/display-status$', self.status), - (r'^/api/display-status/(blank|theme|desktop)$', self.changeStatus), + (r'^/api/display-status$', self.displayStatus), + (r'^/api/display-status/(blank|theme|desktop)$', + self.changeDisplayStatus), (r'^/api/(.*)/search$', self.search), (r'^/api/(.*)/live$', self.go_live), (r'^/api/(.*)/add$', self.add_to_service) @@ -401,7 +402,13 @@ class HttpConnection(object): u'item': self.parent.current_item._uuid \ if self.parent.current_item else u'', u'twelve':QtCore.QSettings().value( - u'remotes/twelve hour', QtCore.QVariant(True)).toBool() + u'remotes/twelve hour', QtCore.QVariant(True)).toBool(), + u'blank': self.parent.plugin.liveController.blankScreen.\ + isChecked(), + u'theme': self.parent.plugin.liveController.themeScreen.\ + isChecked(), + u'display': self.parent.plugin.liveController.desktopScreen.\ + isChecked() } return HttpResponse(json.dumps({u'results': result}), {u'Content-Type': u'application/json'}) @@ -418,9 +425,9 @@ class HttpConnection(object): return HttpResponse(json.dumps({u'results': {u'success': True}}), {u'Content-Type': u'application/json'}) - def status(self): + def displayStatus(self): """ - Obtain the status of system. + Obtain the display status of system. """ result = { @@ -434,7 +441,7 @@ class HttpConnection(object): return HttpResponse(json.dumps({u'results': result}), {u'Content-Type': u'application/json'}) - def changeStatus(self, action): + def changeDisplayStatus(self, action): """ Toggle the display of the system including the status button. From acebb85055ffba7dc4cf47c6872df07dec5fee7f Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Thu, 15 Dec 2011 17:19:54 +0000 Subject: [PATCH 6/7] more changes --- openlp/core/ui/slidecontroller.py | 4 +++ openlp/plugins/remotes/lib/httpserver.py | 31 +----------------------- 2 files changed, 5 insertions(+), 30 deletions(-) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index a86f426d5..7f1139052 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -583,6 +583,10 @@ class SlideController(Controller): self.onThemeDisplay(not self.themeScreen.isChecked()) elif action == u'desktop': self.onHideDisplay(not self.desktopScreen.isChecked()) + elif action == u'show': + self.onBlankDisplay(False) + elif action == u'hide': + self.onBlankDisplay(True) def servicePrevious(self): diff --git a/openlp/plugins/remotes/lib/httpserver.py b/openlp/plugins/remotes/lib/httpserver.py index 37bcb3415..9e277f2d7 100644 --- a/openlp/plugins/remotes/lib/httpserver.py +++ b/openlp/plugins/remotes/lib/httpserver.py @@ -249,12 +249,9 @@ class HttpConnection(object): (r'^/api/poll$', self.poll), (r'^/api/controller/(live|preview)/(.*)$', self.controller), (r'^/api/service/(.*)$', self.service), - (r'^/api/display/(hide|show)$', self.display), + (r'^/api/display/(hide|show|blank|theme|desktop)$', self.display), (r'^/api/alert$', self.alert), (r'^/api/plugin/(search)$', self.pluginInfo), - (r'^/api/display-status$', self.displayStatus), - (r'^/api/display-status/(blank|theme|desktop)$', - self.changeDisplayStatus), (r'^/api/(.*)/search$', self.search), (r'^/api/(.*)/live$', self.go_live), (r'^/api/(.*)/add$', self.add_to_service) @@ -419,32 +416,6 @@ class HttpConnection(object): ``action`` This is the action, either ``hide`` or ``show``. - """ - event = u'live_display_%s' % action - Receiver.send_message(event, HideMode.Blank) - return HttpResponse(json.dumps({u'results': {u'success': True}}), - {u'Content-Type': u'application/json'}) - - def displayStatus(self): - """ - Obtain the display status of system. - - """ - result = { - u'blank': self.parent.plugin.liveController.blankScreen.\ - isChecked(), - u'theme': self.parent.plugin.liveController.themeScreen.\ - isChecked(), - u'display': self.parent.plugin.liveController.desktopScreen.\ - isChecked() - } - return HttpResponse(json.dumps({u'results': result}), - {u'Content-Type': u'application/json'}) - - def changeDisplayStatus(self, action): - """ - Toggle the display of the system including the status button. - """ Receiver.send_message(u'slidecontroller_toggle_display', action) return HttpResponse(json.dumps({u'results': {u'success': True}}), From 55353e54f0db84dc906a5ca44f56b22df7a3ed8a Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Thu, 15 Dec 2011 18:59:25 +0000 Subject: [PATCH 7/7] yet more changes --- openlp/core/ui/slidecontroller.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 7f1139052..b6e18c32a 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -577,17 +577,16 @@ class SlideController(Controller): """ Toggle the display settings triggered from remote messages. """ - if action == u'blank': - self.onBlankDisplay(not self.blankScreen.isChecked()) + if action == u'blank' or action == u'hide': + self.onBlankDisplay(True) elif action == u'theme': - self.onThemeDisplay(not self.themeScreen.isChecked()) + self.onThemeDisplay(True) elif action == u'desktop': - self.onHideDisplay(not self.desktopScreen.isChecked()) + self.onHideDisplay(True) elif action == u'show': self.onBlankDisplay(False) - elif action == u'hide': - self.onBlankDisplay(True) - + self.onThemeDisplay(False) + self.onHideDisplay(False) def servicePrevious(self): """