diff --git a/openlp/core/lib/plugin.py b/openlp/core/lib/plugin.py index 69eaa8ef9..f7aba44b9 100644 --- a/openlp/core/lib/plugin.py +++ b/openlp/core/lib/plugin.py @@ -256,7 +256,6 @@ class Plugin(QtCore.QObject): """ Called by plugin to replace toolbar """ - # Not sure self.media_item is being set properly if self.media_item is not None: self.mediadock.insert_dock(self.media_item, self.icon, self.weight) if self.settings_tab is not None: diff --git a/openlp/core/lib/pluginmanager.py b/openlp/core/lib/pluginmanager.py index 2d7eead5e..8a9fb216a 100644 --- a/openlp/core/lib/pluginmanager.py +++ b/openlp/core/lib/pluginmanager.py @@ -136,10 +136,6 @@ class PluginManager(object): for plugin in self.plugins: if plugin.status is not PluginStatus.Disabled: plugin.media_item = plugin.get_media_manager_item() - if plugin.media_item is not None: - log.debug(u'Inserting media manager item from %s' % \ - plugin.name) - mediadock.add_dock(plugin.media_item, plugin.icon, plugin.weight) def hook_settings_tabs(self, settingsform=None): """ diff --git a/openlp/core/ui/mediadockmanager.py b/openlp/core/ui/mediadockmanager.py index 795a7f845..abb534435 100644 --- a/openlp/core/ui/mediadockmanager.py +++ b/openlp/core/ui/mediadockmanager.py @@ -55,6 +55,6 @@ class MediaDockManager(object): log.debug(u'remove %s dock' % name) for dock_index in range(0, self.media_dock.count()): if self.media_dock.widget(dock_index) is not None: - if self.media_dock.widget(dock_index).ConfigSection == name.lower(): + if self.media_dock.widget(dock_index).ConfigSection == name: self.media_dock.widget(dock_index).hide() self.media_dock.removeItem(dock_index) diff --git a/openlp/core/ui/pluginform.py b/openlp/core/ui/pluginform.py index a02e02966..b41565691 100644 --- a/openlp/core/ui/pluginform.py +++ b/openlp/core/ui/pluginform.py @@ -37,6 +37,7 @@ class PluginForm(QtGui.QDialog, Ui_PluginViewDialog): QtGui.QDialog.__init__(self, parent) self.parent = parent self.activePlugin = None + self.programaticChange = False self.setupUi(self) self.load() self._clearDetails() @@ -84,6 +85,7 @@ class PluginForm(QtGui.QDialog, Ui_PluginViewDialog): self.VersionNumberLabel.setText(self.activePlugin.version) self.AboutTextBrowser.setHtml(self.activePlugin.about()) if self.activePlugin.can_be_disabled(): + self.programaticChange = True self.StatusComboBox.setCurrentIndex(int(self.activePlugin.status)) self.StatusComboBox.setEnabled(True) else: @@ -105,6 +107,9 @@ class PluginForm(QtGui.QDialog, Ui_PluginViewDialog): self._clearDetails() def onStatusComboBoxChanged(self, status): + if self.programaticChange is True: + self.programaticChange = False + return self.activePlugin.toggle_status(status) if status == PluginStatus.Active: self.activePlugin.initialise() @@ -119,4 +124,3 @@ class PluginForm(QtGui.QDialog, Ui_PluginViewDialog): status_text = 'Disabled' self.PluginListWidget.currentItem().setText( u'%s (%s)' % (self.activePlugin.name, status_text)) - diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py index 24a7cafc7..d797b44cc 100644 --- a/openlp/plugins/bibles/bibleplugin.py +++ b/openlp/plugins/bibles/bibleplugin.py @@ -49,6 +49,7 @@ class BiblePlugin(Plugin): if self.biblemanager is None: self.biblemanager = BibleManager(self.config) Plugin.initialise(self) + self.insert_toolbox_item() self.ImportBibleItem.setVisible(True) self.ExportBibleItem.setVisible(True) diff --git a/openlp/plugins/custom/customplugin.py b/openlp/plugins/custom/customplugin.py index b72f3dd54..bcd61f5bc 100644 --- a/openlp/plugins/custom/customplugin.py +++ b/openlp/plugins/custom/customplugin.py @@ -60,6 +60,7 @@ class CustomPlugin(Plugin): def initialise(self): log.info(u'Plugin Initialising') Plugin.initialise(self) + self.insert_toolbox_item() def finalise(self): log.info(u'Plugin Finalise') diff --git a/openlp/plugins/images/imageplugin.py b/openlp/plugins/images/imageplugin.py index 94f464874..229b57f95 100644 --- a/openlp/plugins/images/imageplugin.py +++ b/openlp/plugins/images/imageplugin.py @@ -43,6 +43,7 @@ class ImagePlugin(Plugin): def initialise(self): log.info(u'Plugin Initialising') Plugin.initialise(self) + self.insert_toolbox_item() def finalise(self): log.info(u'Plugin Finalise') diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index 5ba8b5d2a..acfd170d6 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -48,6 +48,7 @@ class MediaPlugin(Plugin): def initialise(self): log.info(u'Plugin Initialising') Plugin.initialise(self) + self.insert_toolbox_item() def finalise(self): log.info(u'Plugin Finalise') diff --git a/openlp/plugins/presentations/presentationplugin.py b/openlp/plugins/presentations/presentationplugin.py index 8452c3410..e54220e08 100644 --- a/openlp/plugins/presentations/presentationplugin.py +++ b/openlp/plugins/presentations/presentationplugin.py @@ -52,6 +52,7 @@ class PresentationPlugin(Plugin): def initialise(self): log.info(u'Presentations Initialising') Plugin.initialise(self) + self.insert_toolbox_item() def finalise(self): log.info(u'Plugin Finalise') diff --git a/openlp/plugins/remotes/remoteplugin.py b/openlp/plugins/remotes/remoteplugin.py index 9bf2feffb..9fa37b46e 100644 --- a/openlp/plugins/remotes/remoteplugin.py +++ b/openlp/plugins/remotes/remoteplugin.py @@ -46,6 +46,7 @@ class RemotesPlugin(Plugin): def initialise(self): log.debug(u'initialise') Plugin.initialise(self) + self.insert_toolbox_item() self.server = QtNetwork.QUdpSocket() self.server.bind(int(self.config.get_config(u'remote port', 4316))) QtCore.QObject.connect(self.server, diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 21c5b7992..a76642024 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -68,6 +68,7 @@ class SongsPlugin(Plugin): #if self.songmanager is None: # self.songmanager = SongManager(self.config) Plugin.initialise(self) + self.insert_toolbox_item() self.ImportSongMenu.menuAction().setVisible(True) self.ExportSongMenu.menuAction().setVisible(True) self.media_item.displayResultsSong(self.songmanager.get_songs())