More dock hiding work

This commit is contained in:
Tim Bentley 2009-10-10 05:56:06 +01:00
parent 79cfb6d843
commit 25c730a8f2
4 changed files with 36 additions and 30 deletions

View File

@ -257,5 +257,7 @@ class Plugin(object):
""" """
Called by plugin to replace toolbar Called by plugin to replace toolbar
""" """
self.mediadock.insertDock(self.name) if self.media_item is not None:
self.settings.insertTab(self.name) self.mediadock.insertDock(self.media_item, self.icon, self.weight)
if self.settings_tab is not None:
self.settings.insertTab(self.settings_tab, self.weight)

View File

@ -90,7 +90,8 @@ class PluginManager(object):
try: try:
__import__(modulename, globals(), locals(), []) __import__(modulename, globals(), locals(), [])
except ImportError, e: except ImportError, e:
log.error(u'Failed to import module %s on path %s for reason %s', modulename, path, e.args[0]) log.error(u'Failed to import module %s on path %s for reason %s',
modulename, path, e.args[0])
plugin_classes = Plugin.__subclasses__() plugin_classes = Plugin.__subclasses__()
self.plugins = [] self.plugins = []
plugin_objects = [] plugin_objects = []
@ -139,8 +140,7 @@ class PluginManager(object):
if plugin.media_item is not None: if plugin.media_item is not None:
log.debug(u'Inserting media manager item from %s' % \ log.debug(u'Inserting media manager item from %s' % \
plugin.name) plugin.name)
mediadock.addDock(plugin.name, mediadock.addDock(plugin.media_item, plugin.icon, plugin.weight)
plugin.media_item, plugin.icon)
def hook_settings_tabs(self, settingsform=None): def hook_settings_tabs(self, settingsform=None):
""" """

View File

@ -31,21 +31,21 @@ class MediaDockManager(object):
def __init__(self, mediaDock): def __init__(self, mediaDock):
self.mediaDock = mediaDock self.mediaDock = mediaDock
def addDock(self, name, media_item, icon): def addDock(self, media_item, icon, weight):
log.info(u'Adding %s dock' % name) log.info(u'Adding %s dock' % media_item.title)
id = self.mediaDock.addItem( id = self.mediaDock.addItem(
media_item, icon, media_item.title) media_item, icon, media_item.title)
print "add", media_item.title, id, weight
def insertDock(self, name): def insertDock(self, media_item, icon, weight):
log.debug(u'Inserting %s dock' % name) log.debug(u'Inserting %s dock' % media_item.title)
for tab_index in range(0, self.mediaDock.count()): if self.mediaDock.widget(weight + 10) is None:
#print self.mediaDock.widget(tab_index).ConfigSection, name self.mediaDock.insertItem(weight + 10, media_item, icon, media_item.title)
if self.mediaDock.widget(tab_index).ConfigSection == name.lower(): print "insert", media_item.title, weight
self.mediaDock.setItemEnabled(tab_index, True)
def removeDock(self, name): def removeDock(self, name):
log.debug(u'remove %s dock' % name) log.debug(u'remove %s dock' % name)
for tab_index in range(0, self.mediaDock.count()): for dock_index in range(0, self.mediaDock.count()):
#print "rd", self.mediaDock.widget(tab_index).ConfigSection, name if self.mediaDock.widget(dock_index) is not None:
if self.mediaDock.widget(tab_index).ConfigSection == name.lower(): if self.mediaDock.widget(dock_index).ConfigSection == name.lower():
self.mediaDock.setItemEnabled(tab_index, False) self.mediaDock.removeItem(dock_index)

View File

@ -48,16 +48,18 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog):
def addTab(self, name, tab): def addTab(self, name, tab):
log.info(u'Adding %s tab' % tab.title()) log.info(u'Adding %s tab' % tab.title())
id = self.SettingsTabWidget.addTab(tab, tab.title()) self.SettingsTabWidget.addTab(tab, tab.title())
def insertTab(self, name): def insertTab(self, tab, location):
log.debug(u'Inserting %s tab' % name) log.debug(u'Inserting %s tab' % tab.title())
for tab_index in range(0, self.SettingsTabWidget.count()): self.SettingsTabWidget.insertTab(location + 13, tab, tab.title())
#for tab_index in range(0, self.SettingsTabWidget.count()):
#print self.SettingsTabWidget.widget(tab_index).title() #print self.SettingsTabWidget.widget(tab_index).title()
if self.SettingsTabWidget.widget(tab_index).title() == name: #if self.SettingsTabWidget.widget(tab_index).title() == name:
#print "Insert match" #print "Insert match"
#print self.SettingsTabWidget.widget(tab_index).isVisible() #print self.SettingsTabWidget.widget(tab_index).isVisible()
self.SettingsTabWidget.setTabEnabled(tab_index, True) #self.SettingsTabWidget.setTabEnabled(tab_index, True)
#self.SettingsTabWidget.removeTab(tab_index)
#print self.SettingsTabWidget.widget(tab_index).isVisible() #print self.SettingsTabWidget.widget(tab_index).isVisible()
@ -65,12 +67,14 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog):
log.debug(u'remove %s tab' % name) log.debug(u'remove %s tab' % name)
#print ">>>>>>>>>>> remove settings" #print ">>>>>>>>>>> remove settings"
for tab_index in range(0, self.SettingsTabWidget.count()): for tab_index in range(0, self.SettingsTabWidget.count()):
#print "rt", self.SettingsTabWidget.widget(tab_index).title(), name if self.SettingsTabWidget.widget(tab_index) is not None:
if self.SettingsTabWidget.widget(tab_index).title() == name: #print "rt", self.SettingsTabWidget.widget(tab_index).title(), name
#print "remove match" if self.SettingsTabWidget.widget(tab_index).title() == name:
#print self.SettingsTabWidget.widget(tab_index).isVisible() #print "remove match"
self.SettingsTabWidget.setTabEnabled(tab_index, False) #print self.SettingsTabWidget.widget(tab_index).isVisible()
#print self.SettingsTabWidget.widget(tab_index).isVisible() #self.SettingsTabWidget.setTabEnabled(tab_index, False)
self.SettingsTabWidget.removeTab(tab_index)
#print self.SettingsTabWidget.widget(tab_index).isVisible()
def accept(self): def accept(self):
for tab_index in range(0, self.SettingsTabWidget.count()): for tab_index in range(0, self.SettingsTabWidget.count()):