openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #22696
[Merge] lp:~trb143/openlp/mixins into lp:openlp
Tim Bentley has proposed merging lp:~trb143/openlp/mixins into lp:openlp.
Requested reviews:
OpenLP Core (openlp-core)
For more details, see:
https://code.launchpad.net/~trb143/openlp/mixins/+merge/210659
Clean up all the duplicate values cut and pasted over the code.
Well start of it!
--
https://code.launchpad.net/~trb143/openlp/mixins/+merge/210659
Your team OpenLP Core is requested to review the proposed merge of lp:~trb143/openlp/mixins into lp:openlp.
=== modified file 'openlp/core/common/__init__.py'
--- openlp/core/common/__init__.py 2014-03-11 18:58:49 +0000
+++ openlp/core/common/__init__.py 2014-03-12 17:55:48 +0000
@@ -131,6 +131,7 @@
from .openlpmixin import OpenLPMixin
from .registry import Registry
from .registrymixin import RegistryMixin
+from .registryproperties import RegistryProperties
from .uistrings import UiStrings
from .settings import Settings
from .applocation import AppLocation
=== added file 'openlp/core/common/registryproperties.py'
--- openlp/core/common/registryproperties.py 1970-01-01 00:00:00 +0000
+++ openlp/core/common/registryproperties.py 2014-03-12 17:55:48 +0000
@@ -0,0 +1,124 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4
+
+###############################################################################
+# OpenLP - Open Source Lyrics Projection #
+# --------------------------------------------------------------------------- #
+# Copyright (c) 2008-2014 Raoul Snyman #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan #
+# Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub, #
+# Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer. #
+# Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru, #
+# Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, #
+# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Dave Warnock, #
+# Frode Woldsund, Martin Zibricky, Patrick Zimmermann #
+# --------------------------------------------------------------------------- #
+# 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 #
+# Software Foundation; version 2 of the License. #
+# #
+# This program is distributed in the hope that it will be useful, but WITHOUT #
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
+# more details. #
+# #
+# You should have received a copy of the GNU General Public License along #
+# with this program; if not, write to the Free Software Foundation, Inc., 59 #
+# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
+###############################################################################
+"""
+Provide Registry values for adding to classes
+"""
+import os
+
+from openlp.core.common import Registry
+
+
+class RegistryProperties(object):
+ """
+ This adds registry components to classes to use at run time.
+ """
+
+ def _get_application(self):
+ """
+ Adds the openlp to the class dynamically.
+ Windows needs to access the application in a dynamic manner.
+ """
+ if os.name == 'nt':
+ return Registry().get('application')
+ else:
+ if not hasattr(self, '_application') or not self._application:
+ self._application = Registry().get('application')
+ return self._application
+
+ application = property(_get_application)
+
+ def _get_plugin_manager(self):
+ """
+ Adds the plugin manager to the class dynamically
+ """
+ if not hasattr(self, '_plugin_manager') or not self._plugin_manager:
+ self._plugin_manager = Registry().get('plugin_manager')
+ return self._plugin_manager
+
+ plugin_manager = property(_get_plugin_manager)
+
+ def _get_image_manager(self):
+ """
+ Adds the image manager to the class dynamically
+ """
+ if not hasattr(self, '_image_manager') or not self._image_manager:
+ self._image_manager = Registry().get('image_manager')
+ return self._image_manager
+
+ image_manager = property(_get_image_manager)
+
+ def _get_media_controller(self):
+ """
+ Adds the media controller to the class dynamically
+ """
+ if not hasattr(self, '_media_controller') or not self._media_controller:
+ self._media_controller = Registry().get('media_controller')
+ return self._media_controller
+
+ media_controller = property(_get_media_controller)
+
+ def _get_service_manager(self):
+ """
+ Adds the service manager to the class dynamically
+ """
+ if not hasattr(self, '_service_manager') or not self._service_manager:
+ self._service_manager = Registry().get('service_manager')
+ return self._service_manager
+
+ service_manager = property(_get_service_manager)
+
+ def _get_preview_controller(self):
+ """
+ Adds the live controller to the class dynamically
+ """
+ if not hasattr(self, '_preview_controller') or not self._preview_controller:
+ self._preview_controller = Registry().get('preview_controller')
+ return self._preview_controller
+
+ preview_controller = property(_get_preview_controller)
+
+ def _get_live_controller(self):
+ """
+ Adds the live controller to the class dynamically
+ """
+ if not hasattr(self, '_live_controller') or not self._live_controller:
+ self._live_controller = Registry().get('live_controller')
+ return self._live_controller
+
+ live_controller = property(_get_live_controller)
+
+ def _get_main_window(self):
+ """
+ Adds the main window to the class dynamically
+ """
+ if not hasattr(self, '_main_window') or not self._main_window:
+ self._main_window = Registry().get('main_window')
+ return self._main_window
+
+ main_window = property(_get_main_window)
=== modified file 'openlp/core/ui/mainwindow.py'
--- openlp/core/ui/mainwindow.py 2014-02-27 21:39:44 +0000
+++ openlp/core/ui/mainwindow.py 2014-03-12 17:55:48 +0000
@@ -41,7 +41,7 @@
from PyQt4 import QtCore, QtGui
-from openlp.core.common import Registry, AppLocation, Settings, check_directory_exists, translate
+from openlp.core.common import Registry, RegistryProperties, AppLocation, Settings, check_directory_exists, translate
from openlp.core.lib import Renderer, OpenLPDockWidget, PluginManager, ImageManager, PluginStatus, ScreenList, \
build_icon
from openlp.core.lib.ui import UiStrings, create_action
@@ -106,8 +106,8 @@
self.control_splitter.setObjectName('control_splitter')
self.main_content_layout.addWidget(self.control_splitter)
# Create slide controllers
- self.preview_controller = PreviewController(self)
- self.live_controller = LiveController(self)
+ PreviewController(self)
+ LiveController(self)
preview_visible = Settings().value('user interface/preview panel')
live_visible = Settings().value('user interface/live panel')
panel_locked = Settings().value('user interface/lock panel')
@@ -460,7 +460,7 @@
self.mode_live_item.setStatusTip(translate('OpenLP.MainWindow', 'Set the view mode to Live.'))
-class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
+class MainWindow(RegistryProperties, QtGui.QMainWindow, Ui_MainWindow):
"""
The main window.
"""
@@ -492,13 +492,13 @@
self.copy_data = False
Settings().set_up_default_values()
self.about_form = AboutForm(self)
- self.media_controller = MediaController()
+ MediaController()
self.settings_form = SettingsForm(self)
self.formatting_tag_form = FormattingTagForm(self)
self.shortcut_form = ShortcutListForm(self)
# Set up the path with plugins
- self.plugin_manager = PluginManager(self)
- self.image_manager = ImageManager()
+ PluginManager(self)
+ ImageManager()
self.renderer = Renderer()
# Set up the interface
self.setupUi(self)
@@ -1380,16 +1380,4 @@
settings.remove('advanced/data path')
self.application.set_normal_cursor()
- def _get_application(self):
- """
- Adds the openlp to the class dynamically.
- Windows needs to access the application in a dynamic manner.
- """
- if os.name == 'nt':
- return Registry().get('application')
- else:
- if not hasattr(self, '_application'):
- self._application = Registry().get('application')
- return self._application
- application = property(_get_application)
=== modified file 'openlp/core/ui/slidecontroller.py'
--- openlp/core/ui/slidecontroller.py 2014-02-25 20:11:48 +0000
+++ openlp/core/ui/slidecontroller.py 2014-03-12 17:55:48 +0000
@@ -36,7 +36,8 @@
from PyQt4 import QtCore, QtGui
-from openlp.core.common import Registry, Settings, SlideLimits, UiStrings, translate, RegistryMixin, OpenLPMixin
+from openlp.core.common import Registry, RegistryProperties, Settings, SlideLimits, UiStrings, translate, \
+ RegistryMixin, OpenLPMixin
from openlp.core.lib import OpenLPToolbar, ItemCapabilities, ServiceItem, ImageSource, ServiceItemAction, \
ScreenList, build_icon, build_html
from openlp.core.ui import HideMode, MainDisplay, Display, DisplayControllerType
@@ -101,7 +102,7 @@
Registry().execute('%s' % sender, [controller, args])
-class SlideController(DisplayController):
+class SlideController(RegistryProperties, DisplayController):
"""
SlideController is the slide controller widget. This widget is what the
user uses to control the displaying of verses/slides/etc on the screen.
@@ -1338,66 +1339,6 @@
action = self.sender()
self.display.audio_player.go_to(action.data())
- def _get_plugin_manager(self):
- """
- Adds the plugin manager to the class dynamically
- """
- if not hasattr(self, '_plugin_manager'):
- self._plugin_manager = Registry().get('plugin_manager')
- return self._plugin_manager
-
- plugin_manager = property(_get_plugin_manager)
-
- def _get_image_manager(self):
- """
- Adds the image manager to the class dynamically
- """
- if not hasattr(self, '_image_manager'):
- self._image_manager = Registry().get('image_manager')
- return self._image_manager
-
- image_manager = property(_get_image_manager)
-
- def _get_media_controller(self):
- """
- Adds the media controller to the class dynamically
- """
- if not hasattr(self, '_media_controller'):
- self._media_controller = Registry().get('media_controller')
- return self._media_controller
-
- media_controller = property(_get_media_controller)
-
- def _get_service_manager(self):
- """
- Adds the service manager to the class dynamically
- """
- if not hasattr(self, '_service_manager') or not self._service_manager:
- self._service_manager = Registry().get('service_manager')
- return self._service_manager
-
- service_manager = property(_get_service_manager)
-
- def _get_live_controller(self):
- """
- Adds the live controller to the class dynamically
- """
- if not hasattr(self, '_live_controller'):
- self._live_controller = Registry().get('live_controller')
- return self._live_controller
-
- live_controller = property(_get_live_controller)
-
- def _get_main_window(self):
- """
- Adds the main window to the class dynamically
- """
- if not hasattr(self, '_main_window'):
- self._main_window = Registry().get('main_window')
- return self._main_window
-
- main_window = property(_get_main_window)
-
class PreviewController(RegistryMixin, OpenLPMixin, SlideController):
"""
Follow ups