diff --git a/openlp/core/lib/eventreceiver.py b/openlp/core/lib/eventreceiver.py index 35459e9dd..4252d5adf 100644 --- a/openlp/core/lib/eventreceiver.py +++ b/openlp/core/lib/eventreceiver.py @@ -217,6 +217,9 @@ class EventReceiver(QtCore.QObject): Ask the plugin to process an individual service item after it has been loaded. + ``{plugin}_config_updated`` + The config has changed so tell the plugin about it. + ``alerts_text`` Displays an alert message. diff --git a/openlp/core/lib/plugin.py b/openlp/core/lib/plugin.py index f3bfb68c6..f704bd9cd 100644 --- a/openlp/core/lib/plugin.py +++ b/openlp/core/lib/plugin.py @@ -173,6 +173,9 @@ class Plugin(QtCore.QObject): QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'%s_add_service_item' % self.name), self.processAddServiceEvent) + QtCore.QObject.connect(Receiver.get_receiver(), + QtCore.SIGNAL(u'%s_config_updated' % self.name), + self.configUpdated) def checkPreConditions(self): """ @@ -395,3 +398,9 @@ class Plugin(QtCore.QObject): Add html code to htmlbuilder. """ return u'' + + def configUpdated(self): + """ + The plugin's config has changed + """ + pass diff --git a/openlp/plugins/remotes/html/index.html b/openlp/plugins/remotes/html/index.html index 7a2da3bea..fd1b37472 100644 --- a/openlp/plugins/remotes/html/index.html +++ b/openlp/plugins/remotes/html/index.html @@ -4,12 +4,12 @@ ############################################################################### # OpenLP - Open Source Lyrics Projection # # --------------------------------------------------------------------------- # -# Copyright (c) 2008-2011 Raoul Snyman # -# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, # -# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, # -# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode # -# Woldsund # +# Copyright (c) 2008-2012 Raoul Snyman # +# Portions copyright (c) 2008-2012 Tim Bentley, Gerald Britton, Jonathan # +# Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, # +# Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias # +# Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, # +# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund # # --------------------------------------------------------------------------- # # This program is free software; you can redistribute it and/or modify it # # under the terms of the GNU General Public License as published by the Free # diff --git a/openlp/plugins/remotes/html/openlp.css b/openlp/plugins/remotes/html/openlp.css index af52d69c3..126c0e0b4 100644 --- a/openlp/plugins/remotes/html/openlp.css +++ b/openlp/plugins/remotes/html/openlp.css @@ -1,12 +1,12 @@ /***************************************************************************** * OpenLP - Open Source Lyrics Projection * * ------------------------------------------------------------------------- * - * Copyright (c) 2008-2010 Raoul Snyman * - * Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael * - * Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, * - * Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, * - * Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode * - * Woldsund * + * Copyright (c) 2008-2012 Raoul Snyman * + * Portions copyright (c) 2008-2012 Tim Bentley, Gerald Britton, Jonathan * + * Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, * + * Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias * + * Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, * + * Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund * * ------------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify it * * under the terms of the GNU General Public License as published by the * diff --git a/openlp/plugins/remotes/html/openlp.js b/openlp/plugins/remotes/html/openlp.js index 56c0c5859..0c15d9c07 100644 --- a/openlp/plugins/remotes/html/openlp.js +++ b/openlp/plugins/remotes/html/openlp.js @@ -1,12 +1,12 @@ /***************************************************************************** * OpenLP - Open Source Lyrics Projection * * ------------------------------------------------------------------------- * - * Copyright (c) 2008-2010 Raoul Snyman * - * Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael * - * Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, * - * Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, * - * Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode * - * Woldsund * + * Copyright (c) 2008-2012 Raoul Snyman * + * Portions copyright (c) 2008-2012 Tim Bentley, Gerald Britton, Jonathan * + * Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, * + * Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias * + * Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, * + * Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund * * ------------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify it * * under the terms of the GNU General Public License as published by the * diff --git a/openlp/plugins/remotes/html/stage.css b/openlp/plugins/remotes/html/stage.css index f5a8453f4..cce015092 100644 --- a/openlp/plugins/remotes/html/stage.css +++ b/openlp/plugins/remotes/html/stage.css @@ -1,12 +1,12 @@ /***************************************************************************** * OpenLP - Open Source Lyrics Projection * * ------------------------------------------------------------------------- * - * Copyright (c) 2008-2010 Raoul Snyman * - * Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael * - * Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, * - * Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, * - * Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode * - * Woldsund * + * Copyright (c) 2008-2012 Raoul Snyman * + * Portions copyright (c) 2008-2012 Tim Bentley, Gerald Britton, Jonathan * + * Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, * + * Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias * + * Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, * + * Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund * * ------------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify it * * under the terms of the GNU General Public License as published by the * @@ -46,7 +46,7 @@ body { } #clock { - font-size: 40pt; + font-size: 30pt; color: yellow; text-align: right; } diff --git a/openlp/plugins/remotes/html/stage.html b/openlp/plugins/remotes/html/stage.html index c5d0872d0..067a8e485 100644 --- a/openlp/plugins/remotes/html/stage.html +++ b/openlp/plugins/remotes/html/stage.html @@ -4,12 +4,12 @@ ############################################################################### # OpenLP - Open Source Lyrics Projection # # --------------------------------------------------------------------------- # -# Copyright (c) 2008-2011 Raoul Snyman # -# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, # -# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, # -# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode # -# Woldsund # +# Copyright (c) 2008-2012 Raoul Snyman # +# Portions copyright (c) 2008-2012 Tim Bentley, Gerald Britton, Jonathan # +# Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, # +# Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias # +# Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, # +# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund # # --------------------------------------------------------------------------- # # This program is free software; you can redistribute it and/or modify it # # under the terms of the GNU General Public License as published by the Free # diff --git a/openlp/plugins/remotes/html/stage.js b/openlp/plugins/remotes/html/stage.js index 925a850a4..4dbde34c1 100644 --- a/openlp/plugins/remotes/html/stage.js +++ b/openlp/plugins/remotes/html/stage.js @@ -1,12 +1,12 @@ /***************************************************************************** * OpenLP - Open Source Lyrics Projection * * ------------------------------------------------------------------------- * - * Copyright (c) 2008-2010 Raoul Snyman * - * Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael * - * Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, * - * Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, * - * Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode * - * Woldsund * + * Copyright (c) 2008-2012 Raoul Snyman * + * Portions copyright (c) 2008-2012 Tim Bentley, Gerald Britton, Jonathan * + * Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, * + * Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias * + * Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, * + * Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund * * ------------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify it * * under the terms of the GNU General Public License as published by the * diff --git a/openlp/plugins/remotes/lib/httpserver.py b/openlp/plugins/remotes/lib/httpserver.py index 8daa1c7b0..b9df5ebd3 100644 --- a/openlp/plugins/remotes/lib/httpserver.py +++ b/openlp/plugins/remotes/lib/httpserver.py @@ -427,7 +427,9 @@ class HttpConnection(object): Send an alert. """ text = json.loads(self.url_params[u'data'][0])[u'request'][u'text'] - Receiver.send_message(u'alerts_text', [text]) + plugin = self.parent.plugin.pluginManager.get_plugin_by_name("alerts") + if plugin.status == PluginStatus.Active: + Receiver.send_message(u'alerts_text', [text]) return HttpResponse(json.dumps({u'results': {u'success': True}}), {u'Content-Type': u'application/json'}) diff --git a/openlp/plugins/remotes/lib/remotetab.py b/openlp/plugins/remotes/lib/remotetab.py index 70005226c..e4f258cd3 100644 --- a/openlp/plugins/remotes/lib/remotetab.py +++ b/openlp/plugins/remotes/lib/remotetab.py @@ -27,7 +27,7 @@ from PyQt4 import QtCore, QtGui, QtNetwork -from openlp.core.lib import SettingsTab, translate +from openlp.core.lib import SettingsTab, translate, Receiver ZERO_URL = u'0.0.0.0' @@ -160,12 +160,20 @@ class RemoteTab(SettingsTab): self.setUrls() def save(self): + changed = False + if QtCore.QSettings().value(self.settingsSection + u'/ip address', + QtCore.QVariant(ZERO_URL).toString() != self.addressEdit.text() or + QtCore.QSettings().value(self.settingsSection + u'/port', + QtCore.QVariant(4316).toInt()[0]) != self.portSpinBox.value()): + changed = True QtCore.QSettings().setValue(self.settingsSection + u'/port', QtCore.QVariant(self.portSpinBox.value())) QtCore.QSettings().setValue(self.settingsSection + u'/ip address', QtCore.QVariant(self.addressEdit.text())) QtCore.QSettings().setValue(self.settingsSection + u'/twelve hour', QtCore.QVariant(self.twelveHour)) + if changed: + Receiver.send_message(u'remotes_config_updated') def onTwelveHourCheckBoxChanged(self, check_state): self.twelveHour = False diff --git a/openlp/plugins/remotes/remoteplugin.py b/openlp/plugins/remotes/remoteplugin.py index d51c3b147..0b1200481 100644 --- a/openlp/plugins/remotes/remoteplugin.py +++ b/openlp/plugins/remotes/remoteplugin.py @@ -86,3 +86,11 @@ class RemotesPlugin(Plugin): self.textStrings[StringContent.VisibleName] = { u'title': translate('RemotePlugin', 'Remote', 'container title') } + + def configUpdated(self): + """ + Called when Config is changed to restart the server on new address or + port + """ + self.finalise() + self.initialise()