diff --git a/openlp/core/lib/plugin.py b/openlp/core/lib/plugin.py
index a5d712dfb..1450ef1fe 100644
--- a/openlp/core/lib/plugin.py
+++ b/openlp/core/lib/plugin.py
@@ -242,19 +242,22 @@ class Plugin(QtCore.QObject):
"""
if self.media_item:
self.media_item.initialise()
+ self.insert_toolbox_item()
def finalise(self):
"""
Called by the plugin Manager to cleanup things.
"""
- pass
+ self.remove_toolbox_item()
def remove_toolbox_item(self):
"""
Called by the plugin to remove toolbar
"""
- self.mediadock.remove_dock(self.name)
- self.settings_form.removeTab(self.name)
+ if self.media_item:
+ self.mediadock.remove_dock(self.name)
+ if self.settings_tab:
+ self.settings_form.removeTab(self.name)
def insert_toolbox_item(self):
"""
diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py
index 46d4e8cb7..57388c538 100644
--- a/openlp/plugins/alerts/alertsplugin.py
+++ b/openlp/plugins/alerts/alertsplugin.py
@@ -85,8 +85,8 @@ class alertsPlugin(Plugin):
def finalise(self):
log.info(u'Plugin Finalise')
+ Plugin.finalise(self)
self.toolsAlertItem.setVisible(False)
- #stop any events being processed
def togglealertsState(self):
self.alertsActive = not self.alertsActive
diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py
index b891b14ad..9f4f034ab 100644
--- a/openlp/plugins/bibles/bibleplugin.py
+++ b/openlp/plugins/bibles/bibleplugin.py
@@ -48,14 +48,12 @@ class BiblePlugin(Plugin):
if self.manager is None:
self.manager = BibleManager(self)
Plugin.initialise(self)
- self.insert_toolbox_item()
self.ImportBibleItem.setVisible(True)
self.ExportBibleItem.setVisible(True)
def finalise(self):
log.info(u'Plugin Finalise')
Plugin.finalise(self)
- self.remove_toolbox_item()
self.ImportBibleItem.setVisible(False)
self.ExportBibleItem.setVisible(False)
diff --git a/openlp/plugins/custom/customplugin.py b/openlp/plugins/custom/customplugin.py
index e65205351..60a0b312c 100644
--- a/openlp/plugins/custom/customplugin.py
+++ b/openlp/plugins/custom/customplugin.py
@@ -60,15 +60,6 @@ class CustomPlugin(Plugin):
# Create the CustomManagerItem object
return CustomMediaItem(self, self.icon, self.name)
- def initialise(self):
- log.info(u'Plugin Initialising')
- Plugin.initialise(self)
- self.insert_toolbox_item()
-
- def finalise(self):
- log.info(u'Plugin Finalise')
- self.remove_toolbox_item()
-
def about(self):
about_text = translate('CustomPlugin',
'Custom Plugin
This plugin '
diff --git a/openlp/plugins/images/imageplugin.py b/openlp/plugins/images/imageplugin.py
index 9ebaa128f..be3863bda 100644
--- a/openlp/plugins/images/imageplugin.py
+++ b/openlp/plugins/images/imageplugin.py
@@ -39,15 +39,6 @@ class ImagePlugin(Plugin):
self.icon = build_icon(u':/plugins/plugin_images.png')
self.status = PluginStatus.Active
- def initialise(self):
- log.info(u'Plugin Initialising')
- Plugin.initialise(self)
- self.insert_toolbox_item()
-
- def finalise(self):
- log.info(u'Plugin Finalise')
- self.remove_toolbox_item()
-
def get_settings_tab(self):
return ImageTab(self.name)
diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py
index 33261f1e2..24138a0f5 100644
--- a/openlp/plugins/media/mediaplugin.py
+++ b/openlp/plugins/media/mediaplugin.py
@@ -67,15 +67,6 @@ class MediaPlugin(Plugin):
type = u''
return list, type
- def initialise(self):
- log.info(u'Plugin Initialising')
- Plugin.initialise(self)
- self.insert_toolbox_item()
-
- def finalise(self):
- log.info(u'Plugin Finalise')
- self.remove_toolbox_item()
-
def get_media_manager_item(self):
# Create the MediaManagerItem object
return MediaMediaItem(self, self.icon, self.name)
diff --git a/openlp/plugins/presentations/presentationplugin.py b/openlp/plugins/presentations/presentationplugin.py
index d92483b88..22c7c554e 100644
--- a/openlp/plugins/presentations/presentationplugin.py
+++ b/openlp/plugins/presentations/presentationplugin.py
@@ -64,7 +64,7 @@ class PresentationPlugin(Plugin):
controller = self.controllers[key]
if controller.enabled:
controller.kill()
- self.remove_toolbox_item()
+ Plugin.finalise(self)
def get_media_manager_item(self):
"""
diff --git a/openlp/plugins/remotes/remoteplugin.py b/openlp/plugins/remotes/remoteplugin.py
index fad7ecbe8..808714fb3 100644
--- a/openlp/plugins/remotes/remoteplugin.py
+++ b/openlp/plugins/remotes/remoteplugin.py
@@ -56,7 +56,7 @@ class RemotesPlugin(Plugin):
Tidy up and close down the http server
"""
log.debug(u'finalise')
- self.remove_toolbox_item()
+ Plugin.finalise(self)
if self.server:
self.server.close()
diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py
index c3aef65fd..4557f53fa 100644
--- a/openlp/plugins/songs/lib/mediaitem.py
+++ b/openlp/plugins/songs/lib/mediaitem.py
@@ -166,13 +166,13 @@ class SongMediaItem(MediaManagerItem):
if search_type == 0:
log.debug(u'Titles Search')
search_results = self.parent.manager.get_all_objects_filtered(Song,
- Song.search_title.like(u'%' + keywords + u'%'),
+ Song.search_title.like(u'%' + search_keywords + u'%'),
Song.search_title.asc())
self.displayResultsSong(search_results)
elif search_type == 1:
log.debug(u'Lyrics Search')
search_results = self.parent.manager.get_all_objects_filtered(Song,
- Song.search_lyrics.like(u'%' + keywords + u'%'),
+ Song.search_lyrics.like(u'%' + search_keywords + u'%'),
Song.search_lyrics.asc())
self.displayResultsSong(search_results)
elif search_type == 2:
diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py
index e2740748b..d9f9bb95f 100644
--- a/openlp/plugins/songs/songsplugin.py
+++ b/openlp/plugins/songs/songsplugin.py
@@ -67,15 +67,9 @@ class SongsPlugin(Plugin):
def initialise(self):
log.info(u'Songs Initialising')
Plugin.initialise(self)
- self.insert_toolbox_item()
self.media_item.displayResultsSong(
self.manager.get_all_objects(Song, Song.title))
- def finalise(self):
- log.info(u'Plugin Finalise')
- Plugin.finalise(self)
- self.remove_toolbox_item()
-
def get_media_manager_item(self):
"""
Create the MediaManagerItem object, which is displaed in the