From 1239cd707c71200fe0f5f3d07c325ee23e0dfe33 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 3 Dec 2011 12:51:40 +0000 Subject: [PATCH] Fix database versions --- openlp/core/lib/db.py | 1 + openlp/core/lib/pluginmanager.py | 2 ++ openlp/core/ui/pluginform.py | 9 +++++---- openlp/plugins/songs/songsplugin.py | 3 +++ 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/openlp/core/lib/db.py b/openlp/core/lib/db.py index cafc867b3..86e0a0a30 100644 --- a/openlp/core/lib/db.py +++ b/openlp/core/lib/db.py @@ -182,6 +182,7 @@ class Manager(object): settings.beginGroup(plugin_name) self.db_url = u'' self.is_dirty = False + self.session = None db_type = unicode( settings.value(u'db type', QtCore.QVariant(u'sqlite')).toString()) if db_type == u'sqlite': diff --git a/openlp/core/lib/pluginmanager.py b/openlp/core/lib/pluginmanager.py index 277842167..db5d9b60e 100644 --- a/openlp/core/lib/pluginmanager.py +++ b/openlp/core/lib/pluginmanager.py @@ -158,6 +158,8 @@ class PluginManager(object): for plugin in self.plugins: if plugin.status is not PluginStatus.Disabled: plugin.settings_tab = plugin.getSettingsTab(settings_form) + else: + plugin.settings_tab = None settings_form.plugins = self.plugins def hook_import_menu(self, import_menu): diff --git a/openlp/core/ui/pluginform.py b/openlp/core/ui/pluginform.py index c529248a9..6933bd8fc 100644 --- a/openlp/core/ui/pluginform.py +++ b/openlp/core/ui/pluginform.py @@ -117,16 +117,17 @@ class PluginForm(QtGui.QDialog, Ui_PluginViewDialog): self.pluginListWidget.currentItem().text().split(u'(')[0][:-1] self.activePlugin = None for plugin in self.parent().pluginManager.plugins: - if plugin.nameStrings[u'singular'] == plugin_name_singular: - self.activePlugin = plugin - break + if plugin.status != PluginStatus.Disabled: + if plugin.nameStrings[u'singular'] == plugin_name_singular: + self.activePlugin = plugin + break if self.activePlugin: self._setDetails() else: self._clearDetails() def onStatusComboBoxChanged(self, status): - if self.programaticChange: + if self.programaticChange or status == PluginStatus.Disabled: return if status == 0: Receiver.send_message(u'cursor_busy') diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 54b1d3f1f..90fd1b7bc 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -64,6 +64,9 @@ class SongsPlugin(Plugin): self.icon_path = u':/plugins/plugin_songs.png' self.icon = build_icon(self.icon_path) + def checkPreConditions(self): + return not self.manager.session == None + def initialise(self): log.info(u'Songs Initialising') Plugin.initialise(self)