Sort out Settings tab items

This commit is contained in:
Tim Bentley 2009-10-03 20:02:40 +01:00
parent 39a9f8efac
commit b94d1d1b8f
7 changed files with 28 additions and 18 deletions

View File

@ -120,6 +120,7 @@ class Plugin(object):
self.config = PluginConfig(self.name)
self.weight = 0
self.media_id = -1
self.settings_id = -1
self.media_active = False
self.status = PluginStatus.Inactive
# Set up logging
@ -254,14 +255,19 @@ class Plugin(object):
"""
if self.media_id is not -1:
self.mediatoolbox.removeItem(self.media_id)
self.media_active = False
if self.settings_id is not -1:
self.settings.removeTab(self.settings_id)
self.media_active = False
def insert_toolbox_item(self):
"""
Called by plugin to replace toolbar
"""
if self.media_id is not -1:
if not self.media_active:
if not self.media_active:
if self.media_id is not -1:
self.mediatoolbox.insertItem(
self.media_id, self.media_item, self.icon, self.media_item.title)
self.media_active = True
if self.settings_id is not -1:
self.settings.insertTab(
self.settings_id, self.settings_tab)
self.media_active = True

View File

@ -154,10 +154,10 @@ class PluginManager(object):
"""
for plugin in self.plugins:
if plugin.status is not PluginStatus.Disabled:
settings_tab = plugin.get_settings_tab()
if settings_tab is not None:
plugin.settings_tab = plugin.get_settings_tab()
if plugin.settings_tab is not None:
log.debug(u'Inserting settings tab item from %s' % plugin.name)
settingsform.addTab(settings_tab)
plugin.settings_id = settingsform.addTab(plugin.settings_tab)
else:
log.debug(u'No tab settings in %s' % plugin.name)
@ -204,7 +204,6 @@ class PluginManager(object):
"""
log.info(u'initialising plugins')
for plugin in self.plugins:
print plugin.name , plugin.media_item
if plugin.is_active():
plugin.initialise()
if plugin.media_item is not None and not plugin.is_active():

View File

@ -47,8 +47,17 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog):
self.addTab(self.AlertsTab)
def addTab(self, tab):
log.info(u'Inserting %s' % tab.title())
self.SettingsTabWidget.addTab(tab, tab.title())
log.info(u'Adding %s tab' % tab.title())
return self.SettingsTabWidget.addTab(tab, tab.title())
def insertTab(self, id, tab):
log.debug(u'Inserting %s tab' % tab.title())
self.SettingsTabWidget.insertTab(id, tab, tab.title())
def removeTab(self, id):
log.debug(u'remove %s no tab' % unicode(id))
self.SettingsTabWidget.removeTab(id)
def accept(self):
for tab_index in range(0, self.SettingsTabWidget.count()):

View File

@ -44,8 +44,7 @@ class BiblePlugin(Plugin):
self.biblemanager = BibleManager(self.config)
def get_settings_tab(self):
self.bibles_tab = BiblesTab()
return self.bibles_tab
return BiblesTab()
def get_media_manager_item(self):
# Create the BibleManagerItem object

View File

@ -52,8 +52,7 @@ class ImagePlugin(Plugin):
self.remove_toolbox_item()
def get_settings_tab(self):
self.ImageTab = ImageTab()
return self.ImageTab
return ImageTab()
def get_media_manager_item(self):
# Create the MediaManagerItem object

View File

@ -37,8 +37,7 @@ class MediaPlugin(Plugin):
self.dnd_id = u'Media'
def get_settings_tab(self):
self.MediaTab = MediaTab()
return self.MediaTab
return MediaTab()
def get_media_manager_item(self):
# Create the MediaManagerItem object

View File

@ -50,8 +50,7 @@ class PresentationPlugin(Plugin):
"""
Create the settings Tab
"""
self.presentation_tab = PresentationTab(self.controllers)
return self.presentation_tab
return PresentationTab(self.controllers)
def get_media_manager_item(self):
"""