openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #32357
[Merge] lp:~trb143/openlp/refactorfixes into lp:openlp
Tim Bentley has proposed merging lp:~trb143/openlp/refactorfixes into lp:openlp.
Requested reviews:
OpenLP Core (openlp-core)
Related bugs:
Bug #1668652 in OpenLP: "Error trace triggers each time a event runs and no handler defined"
https://bugs.launchpad.net/openlp/+bug/1668652
Bug #1730448 in OpenLP: "Add a "Send to Preview" button to the live slide controller"
https://bugs.launchpad.net/openlp/+bug/1730448
For more details, see:
https://code.launchpad.net/~trb143/openlp/refactorfixes/+merge/333574
fix a couple of small issues
lp:~trb143/openlp/refactorfixes (revision 2787)
https://ci.openlp.io/job/Branch-01-Pull/2278/ [SUCCESS]
https://ci.openlp.io/job/Branch-02-Functional-Tests/2180/ [SUCCESS]
https://ci.openlp.io/job/Branch-03-Interface-Tests/2061/ [SUCCESS]
https://ci.openlp.io/job/Branch-04a-Code_Analysis/1391/ [SUCCESS]
https://ci.openlp.io/job/Branch-04b-Test_Coverage/1216/ [SUCCESS]
https://ci.openlp.io/job/Branch-04c-Code_Analysis2/346/ [SUCCESS]
https://ci.openlp.io/job/Branch-05-AppVeyor-Tests/180/ [FAILURE]
Stopping after failure, see https://ci.openlp.io/job/Branch-05-AppVeyor-Tests/180/console for more details
--
Your team OpenLP Core is requested to review the proposed merge of lp:~trb143/openlp/refactorfixes into lp:openlp.
=== modified file 'openlp/core/api/endpoint/remote.py'
--- openlp/core/api/endpoint/remote.py 2017-09-26 21:04:39 +0000
+++ openlp/core/api/endpoint/remote.py 2017-11-11 08:44:18 +0000
@@ -27,7 +27,7 @@
log = logging.getLogger(__name__)
-remote_endpoint = Endpoint('remote', template_dir='remotes', static_dir='remotes')
+remote_endpoint = Endpoint('remote', template_dir='remotes')
@remote_endpoint.route('{view}')
=== modified file 'openlp/core/common/registry.py'
--- openlp/core/common/registry.py 2017-10-23 22:23:05 +0000
+++ openlp/core/common/registry.py 2017-11-11 08:44:18 +0000
@@ -151,8 +151,9 @@
trace_error_handler(log)
log.exception('Exception for function {function}'.format(function=function))
else:
- trace_error_handler(log)
- log.exception('Event {event} called but not registered'.format(event=event))
+ if log.getEffectiveLevel() == logging.DEBUG:
+ trace_error_handler(log)
+ log.exception('Event {event} called but not registered'.format(event=event))
return results
def get_flag(self, key):
=== modified file 'openlp/core/ui/slidecontroller.py'
--- openlp/core/ui/slidecontroller.py 2017-10-23 22:09:57 +0000
+++ openlp/core/ui/slidecontroller.py 2017-11-11 08:44:18 +0000
@@ -236,6 +236,9 @@
self.hide_menu.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup)
self.hide_menu.setMenu(QtWidgets.QMenu(translate('OpenLP.SlideController', 'Hide'), self.toolbar))
self.toolbar.add_toolbar_widget(self.hide_menu)
+ self.toolbar.add_toolbar_action('goPreview', icon=':/general/general_live.png',
+ tooltip=translate('OpenLP.SlideController', 'Move to preview.'),
+ triggers=self.on_go_preview)
# The order of the blank to modes in Shortcuts list comes from here.
self.desktop_screen_enable = create_action(self, 'desktopScreenEnable',
text=translate('OpenLP.SlideController', 'Show Desktop'),
@@ -1420,6 +1423,15 @@
self.live_controller.add_service_manager_item(self.service_item, row)
self.live_controller.preview_widget.setFocus()
+ def on_go_preview(self, field=None):
+ """
+ If live copy slide item to preview controller from live Controller
+ """
+ row = self.preview_widget.current_slide_number()
+ if -1 < row < self.preview_widget.slide_count():
+ self.preview_controller.add_service_manager_item(self.service_item, row)
+ self.preview_controller.preview_widget.setFocus()
+
def on_media_start(self, item):
"""
Respond to the arrival of a media service item
=== modified file 'tests/functional/openlp_core/ui/test_slidecontroller.py'
--- tests/functional/openlp_core/ui/test_slidecontroller.py 2017-10-29 06:01:25 +0000
+++ tests/functional/openlp_core/ui/test_slidecontroller.py 2017-11-11 08:44:18 +0000
@@ -208,6 +208,33 @@
mocked_on_theme_display.assert_called_once_with(False)
mocked_on_hide_display.assert_called_once_with(False)
+ def test_on_go_live_preview_controller(self):
+ """
+ Test that when the on_go_preview() method is called the message is sent to the preview controller and focus is
+ set correctly.
+ """
+ # GIVEN: A new SlideController instance and plugin preview then pressing go live should respond
+ mocked_display = MagicMock()
+ mocked_preview_controller = MagicMock()
+ mocked_preview_widget = MagicMock()
+ mocked_service_item = MagicMock()
+ mocked_service_item.from_service = False
+ mocked_preview_widget.current_slide_number.return_value = 1
+ mocked_preview_widget.slide_count = MagicMock(return_value=2)
+ mocked_preview_controller.preview_widget = MagicMock()
+ Registry.create()
+ Registry().register('preview_controller', mocked_preview_controller)
+ slide_controller = SlideController(None)
+ slide_controller.service_item = mocked_service_item
+ slide_controller.preview_widget = mocked_preview_widget
+ slide_controller.display = mocked_display
+
+ # WHEN: on_go_live() is called
+ slide_controller.on_go_preview()
+
+ # THEN: the preview controller should have the service item and the focus set to live
+ mocked_preview_controller.preview_widget.setFocus.assert_called_once_with()
+
def test_on_go_live_live_controller(self):
"""
Test that when the on_go_live() method is called the message is sent to the live controller and focus is
Follow ups