forked from openlp/openlp
Sort out Settings tab items
This commit is contained in:
parent
39a9f8efac
commit
b94d1d1b8f
@ -120,6 +120,7 @@ class Plugin(object):
|
|||||||
self.config = PluginConfig(self.name)
|
self.config = PluginConfig(self.name)
|
||||||
self.weight = 0
|
self.weight = 0
|
||||||
self.media_id = -1
|
self.media_id = -1
|
||||||
|
self.settings_id = -1
|
||||||
self.media_active = False
|
self.media_active = False
|
||||||
self.status = PluginStatus.Inactive
|
self.status = PluginStatus.Inactive
|
||||||
# Set up logging
|
# Set up logging
|
||||||
@ -254,14 +255,19 @@ class Plugin(object):
|
|||||||
"""
|
"""
|
||||||
if self.media_id is not -1:
|
if self.media_id is not -1:
|
||||||
self.mediatoolbox.removeItem(self.media_id)
|
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):
|
def insert_toolbox_item(self):
|
||||||
"""
|
"""
|
||||||
Called by plugin to replace toolbar
|
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.mediatoolbox.insertItem(
|
||||||
self.media_id, self.media_item, self.icon, self.media_item.title)
|
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
|
||||||
|
@ -154,10 +154,10 @@ class PluginManager(object):
|
|||||||
"""
|
"""
|
||||||
for plugin in self.plugins:
|
for plugin in self.plugins:
|
||||||
if plugin.status is not PluginStatus.Disabled:
|
if plugin.status is not PluginStatus.Disabled:
|
||||||
settings_tab = plugin.get_settings_tab()
|
plugin.settings_tab = plugin.get_settings_tab()
|
||||||
if settings_tab is not None:
|
if plugin.settings_tab is not None:
|
||||||
log.debug(u'Inserting settings tab item from %s' % plugin.name)
|
log.debug(u'Inserting settings tab item from %s' % plugin.name)
|
||||||
settingsform.addTab(settings_tab)
|
plugin.settings_id = settingsform.addTab(plugin.settings_tab)
|
||||||
else:
|
else:
|
||||||
log.debug(u'No tab settings in %s' % plugin.name)
|
log.debug(u'No tab settings in %s' % plugin.name)
|
||||||
|
|
||||||
@ -204,7 +204,6 @@ class PluginManager(object):
|
|||||||
"""
|
"""
|
||||||
log.info(u'initialising plugins')
|
log.info(u'initialising plugins')
|
||||||
for plugin in self.plugins:
|
for plugin in self.plugins:
|
||||||
print plugin.name , plugin.media_item
|
|
||||||
if plugin.is_active():
|
if plugin.is_active():
|
||||||
plugin.initialise()
|
plugin.initialise()
|
||||||
if plugin.media_item is not None and not plugin.is_active():
|
if plugin.media_item is not None and not plugin.is_active():
|
||||||
|
@ -47,8 +47,17 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog):
|
|||||||
self.addTab(self.AlertsTab)
|
self.addTab(self.AlertsTab)
|
||||||
|
|
||||||
def addTab(self, tab):
|
def addTab(self, tab):
|
||||||
log.info(u'Inserting %s' % tab.title())
|
log.info(u'Adding %s tab' % tab.title())
|
||||||
self.SettingsTabWidget.addTab(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):
|
def accept(self):
|
||||||
for tab_index in range(0, self.SettingsTabWidget.count()):
|
for tab_index in range(0, self.SettingsTabWidget.count()):
|
||||||
|
@ -44,8 +44,7 @@ class BiblePlugin(Plugin):
|
|||||||
self.biblemanager = BibleManager(self.config)
|
self.biblemanager = BibleManager(self.config)
|
||||||
|
|
||||||
def get_settings_tab(self):
|
def get_settings_tab(self):
|
||||||
self.bibles_tab = BiblesTab()
|
return BiblesTab()
|
||||||
return self.bibles_tab
|
|
||||||
|
|
||||||
def get_media_manager_item(self):
|
def get_media_manager_item(self):
|
||||||
# Create the BibleManagerItem object
|
# Create the BibleManagerItem object
|
||||||
|
@ -52,8 +52,7 @@ class ImagePlugin(Plugin):
|
|||||||
self.remove_toolbox_item()
|
self.remove_toolbox_item()
|
||||||
|
|
||||||
def get_settings_tab(self):
|
def get_settings_tab(self):
|
||||||
self.ImageTab = ImageTab()
|
return ImageTab()
|
||||||
return self.ImageTab
|
|
||||||
|
|
||||||
def get_media_manager_item(self):
|
def get_media_manager_item(self):
|
||||||
# Create the MediaManagerItem object
|
# Create the MediaManagerItem object
|
||||||
|
@ -37,8 +37,7 @@ class MediaPlugin(Plugin):
|
|||||||
self.dnd_id = u'Media'
|
self.dnd_id = u'Media'
|
||||||
|
|
||||||
def get_settings_tab(self):
|
def get_settings_tab(self):
|
||||||
self.MediaTab = MediaTab()
|
return MediaTab()
|
||||||
return self.MediaTab
|
|
||||||
|
|
||||||
def get_media_manager_item(self):
|
def get_media_manager_item(self):
|
||||||
# Create the MediaManagerItem object
|
# Create the MediaManagerItem object
|
||||||
|
@ -50,8 +50,7 @@ class PresentationPlugin(Plugin):
|
|||||||
"""
|
"""
|
||||||
Create the settings Tab
|
Create the settings Tab
|
||||||
"""
|
"""
|
||||||
self.presentation_tab = PresentationTab(self.controllers)
|
return PresentationTab(self.controllers)
|
||||||
return self.presentation_tab
|
|
||||||
|
|
||||||
def get_media_manager_item(self):
|
def get_media_manager_item(self):
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user