openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #22767
[Merge] lp:~googol/openlp/plugin-api into lp:openlp
Andreas Preikschat has proposed merging lp:~googol/openlp/plugin-api into lp:openlp.
Requested reviews:
Tim Bentley (trb143)
For more details, see:
https://code.launchpad.net/~googol/openlp/plugin-api/+merge/212292
Hello,
- moved things to Plugin class
--
https://code.launchpad.net/~googol/openlp/plugin-api/+merge/212292
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/core/lib/plugin.py'
--- openlp/core/lib/plugin.py 2014-03-18 20:36:02 +0000
+++ openlp/core/lib/plugin.py 2014-03-22 18:24:12 +0000
@@ -35,6 +35,7 @@
from PyQt4 import QtCore
from openlp.core.common import Registry, RegistryProperties, Settings, UiStrings
+from openlp.core.lib import build_icon
from openlp.core.utils import get_application_version
log = logging.getLogger(__name__)
@@ -120,7 +121,8 @@
"""
log.info('loaded')
- def __init__(self, name, default_settings, media_item_class=None, settings_tab_class=None, version=None):
+ def __init__(self, name, default_settings, icon_path, media_item_class=None,
+ settings_tab_class=None, version=None):
"""
This is the constructor for the plugin object. This provides an easy way for descendant plugins to populate
common data. This method *must*
@@ -134,6 +136,7 @@
:param name: Defaults to *None*. The name of the plugin.
:param default_settings: A dict containing the plugin's settings. The value to each key is the default value
to be used.
+ :param icon_path: The path to the plugin's icon. For example ':/plugins/plugin_songs.png'
:param media_item_class: The class name of the plugin's media item.
:param settings_tab_class: The class name of the plugin's settings tab.
:param version: Defaults to *None*, which means that the same version number is used as OpenLP's version number.
@@ -149,7 +152,8 @@
else:
self.version = get_application_version()['version']
self.settings_section = self.name
- self.icon = None
+ self.icon_path = icon_path
+ self.icon = build_icon(self.icon_path)
self.media_item_class = media_item_class
self.settings_tab_class = settings_tab_class
self.settings_tab = None
=== modified file 'openlp/plugins/alerts/alertsplugin.py'
--- openlp/plugins/alerts/alertsplugin.py 2014-03-16 21:25:23 +0000
+++ openlp/plugins/alerts/alertsplugin.py 2014-03-22 18:24:12 +0000
@@ -32,7 +32,7 @@
from PyQt4 import QtGui
from openlp.core.common import Settings, translate
-from openlp.core.lib import Plugin, StringContent, build_icon
+from openlp.core.lib import Plugin, StringContent
from openlp.core.lib.db import Manager
from openlp.core.lib.ui import create_action, UiStrings
from openlp.core.lib.theme import VerticalType
@@ -136,11 +136,10 @@
"""
Class __init__ method
"""
- super(AlertsPlugin, self).__init__('alerts', __default_settings__, settings_tab_class=AlertsTab)
+ super(AlertsPlugin, self).__init__(
+ 'alerts', __default_settings__, ':/plugins/plugin_alerts.png', settings_tab_class=AlertsTab)
+ self.alerts_manager = AlertsManager(self)
self.weight = -3
- self.icon_path = ':/plugins/plugin_alerts.png'
- self.icon = build_icon(self.icon_path)
- AlertsManager(self)
self.manager = Manager('alerts', init_schema)
self.alert_form = AlertForm(self)
=== modified file 'openlp/plugins/bibles/bibleplugin.py'
--- openlp/plugins/bibles/bibleplugin.py 2014-03-17 19:05:55 +0000
+++ openlp/plugins/bibles/bibleplugin.py 2014-03-22 18:24:12 +0000
@@ -31,7 +31,7 @@
from PyQt4 import QtGui
-from openlp.core.lib import Plugin, StringContent, build_icon, translate
+from openlp.core.lib import Plugin, StringContent, translate
from openlp.core.lib.ui import UiStrings, create_action
from openlp.core.utils.actions import ActionList
from openlp.plugins.bibles.lib import BibleManager, BiblesTab, BibleMediaItem, LayoutStyle, DisplayStyle, \
@@ -73,10 +73,9 @@
log.info('Bible Plugin loaded')
def __init__(self):
- super(BiblePlugin, self).__init__('bibles', __default_settings__, BibleMediaItem, BiblesTab)
+ super(BiblePlugin, self).__init__(
+ 'bibles', __default_settings__, ':/plugins/plugin_bibles.png', BibleMediaItem, BiblesTab)
self.weight = -9
- self.icon_path = ':/plugins/plugin_bibles.png'
- self.icon = build_icon(self.icon_path)
self.manager = BibleManager(self)
def initialise(self):
=== modified file 'openlp/plugins/custom/customplugin.py'
--- openlp/plugins/custom/customplugin.py 2014-03-17 19:05:55 +0000
+++ openlp/plugins/custom/customplugin.py 2014-03-22 18:24:12 +0000
@@ -33,7 +33,7 @@
import logging
-from openlp.core.lib import Plugin, StringContent, build_icon, translate
+from openlp.core.lib import Plugin, StringContent, translate
from openlp.core.lib.db import Manager
from openlp.plugins.custom.lib import CustomMediaItem, CustomTab
from openlp.plugins.custom.lib.db import CustomSlide, init_schema
@@ -59,11 +59,10 @@
log.info('Custom Plugin loaded')
def __init__(self):
- super(CustomPlugin, self).__init__('custom', __default_settings__, CustomMediaItem, CustomTab)
+ super(CustomPlugin, self).__init__(
+ 'custom', __default_settings__, ':/plugins/plugin_custom.png', CustomMediaItem, CustomTab)
self.weight = -5
self.db_manager = Manager('custom', init_schema)
- self.icon_path = ':/plugins/plugin_custom.png'
- self.icon = build_icon(self.icon_path)
def about(self):
about_text = translate('CustomPlugin', '<strong>Custom Slide Plugin </strong><br />The custom slide plugin '
=== modified file 'openlp/plugins/images/imageplugin.py'
--- openlp/plugins/images/imageplugin.py 2014-03-18 20:36:02 +0000
+++ openlp/plugins/images/imageplugin.py 2014-03-22 18:24:12 +0000
@@ -32,7 +32,7 @@
import logging
from openlp.core.common import Registry, Settings, translate
-from openlp.core.lib import Plugin, StringContent, ImageSource, build_icon
+from openlp.core.lib import Plugin, StringContent, ImageSource
from openlp.core.lib.db import Manager
from openlp.plugins.images.lib import ImageMediaItem, ImageTab
from openlp.plugins.images.lib.db import init_schema
@@ -49,11 +49,10 @@
log.info('Image Plugin loaded')
def __init__(self):
- super(ImagePlugin, self).__init__('images', __default_settings__, ImageMediaItem, ImageTab)
+ super(ImagePlugin, self).__init__(
+ 'images', __default_settings__, ':/plugins/plugin_images.png', ImageMediaItem, ImageTab)
+ self.weight = -7
self.manager = Manager('images', init_schema)
- self.weight = -7
- self.icon_path = ':/plugins/plugin_images.png'
- self.icon = build_icon(self.icon_path)
def about(self):
about_text = translate('ImagePlugin', '<strong>Image Plugin</strong>'
=== modified file 'openlp/plugins/media/mediaplugin.py'
--- openlp/plugins/media/mediaplugin.py 2014-03-17 07:14:51 +0000
+++ openlp/plugins/media/mediaplugin.py 2014-03-22 18:24:12 +0000
@@ -50,10 +50,9 @@
log.info('%s MediaPlugin loaded', __name__)
def __init__(self):
- super(MediaPlugin, self).__init__('media', __default_settings__, MediaMediaItem)
+ super(MediaPlugin, self).__init__(
+ 'media', __default_settings__, ':/plugins/plugin_media.png', MediaMediaItem)
self.weight = -6
- self.icon_path = ':/plugins/plugin_media.png'
- self.icon = build_icon(self.icon_path)
# passed with drag and drop messages
self.dnd_id = 'Media'
=== modified file 'openlp/plugins/presentations/presentationplugin.py'
--- openlp/plugins/presentations/presentationplugin.py 2014-03-04 18:49:30 +0000
+++ openlp/plugins/presentations/presentationplugin.py 2014-03-22 18:24:12 +0000
@@ -59,18 +59,15 @@
This plugin allowed a Presentation to be opened, controlled and displayed on the output display. The plugin controls
third party applications such as OpenOffice.org Impress, Microsoft PowerPoint and the PowerPoint viewer.
"""
- log = logging.getLogger('PresentationPlugin')
+ log.info('Presentation Plugin loaded')
def __init__(self):
"""
PluginPresentation constructor.
"""
- log.debug('Initialised')
+ Plugin.__init__(self, 'presentations', __default_settings__, ':/plugins/plugin_presentations.png')
+ self.weight = -8
self.controllers = {}
- Plugin.__init__(self, 'presentations', __default_settings__, __default_settings__)
- self.weight = -8
- self.icon_path = ':/plugins/plugin_presentations.png'
- self.icon = build_icon(self.icon_path)
def create_settings_tab(self, parent):
"""
=== modified file 'openlp/plugins/remotes/remoteplugin.py'
--- openlp/plugins/remotes/remoteplugin.py 2014-03-17 19:05:55 +0000
+++ openlp/plugins/remotes/remoteplugin.py 2014-03-22 18:24:12 +0000
@@ -54,9 +54,8 @@
"""
remotes constructor
"""
- super(RemotesPlugin, self).__init__('remotes', __default_settings__, settings_tab_class=RemoteTab)
- self.icon_path = ':/plugins/plugin_remote.png'
- self.icon = build_icon(self.icon_path)
+ super(RemotesPlugin, self).__init__(
+ 'remotes', __default_settings__, ':/plugins/plugin_remote.png', settings_tab_class=RemoteTab)
self.weight = -1
self.server = None
=== modified file 'openlp/plugins/songs/songsplugin.py'
--- openlp/plugins/songs/songsplugin.py 2014-03-11 20:17:18 +0000
+++ openlp/plugins/songs/songsplugin.py 2014-03-22 18:24:12 +0000
@@ -82,11 +82,10 @@
"""
Create and set up the Songs plugin.
"""
- super(SongsPlugin, self).__init__('songs', __default_settings__, SongMediaItem, SongsTab)
+ super(SongsPlugin, self).__init__(
+ 'songs', __default_settings__, ':/plugins/plugin_songs.png', SongMediaItem, SongsTab)
self.manager = Manager('songs', init_schema, upgrade_mod=upgrade)
self.weight = -10
- self.icon_path = ':/plugins/plugin_songs.png'
- self.icon = build_icon(self.icon_path)
self.songselect_form = None
def check_pre_conditions(self):
=== modified file 'openlp/plugins/songusage/songusageplugin.py'
--- openlp/plugins/songusage/songusageplugin.py 2014-01-11 22:01:41 +0000
+++ openlp/plugins/songusage/songusageplugin.py 2014-03-22 18:24:12 +0000
@@ -64,10 +64,9 @@
log.info('SongUsage Plugin loaded')
def __init__(self):
- super(SongUsagePlugin, self).__init__('songusage', __default_settings__)
+ super(SongUsagePlugin, self).__init__('songusage', __default_settings__, ':/plugins/plugin_songusage.png')
+ self.weight = -4
self.manager = Manager('songusage', init_schema, upgrade_mod=upgrade)
- self.weight = -4
- self.icon = build_icon(':/plugins/plugin_songusage.png')
self.active_icon = build_icon(':/songusage/song_usage_active.png')
self.inactive_icon = build_icon(':/songusage/song_usage_inactive.png')
self.song_usage_active = False
References