diff options
author | jerous <jerous@gmail.com> | 2008-06-18 21:04:04 +0200 |
---|---|---|
committer | jerous <jerous@gmail.com> | 2008-06-18 21:04:04 +0200 |
commit | 5f2db6585fe707c6eaa90e4c32c484a2cacbc3f5 (patch) | |
tree | e5959b9ca7485d15cbcfe98f27ddb78f2edba069 /winMain.py | |
parent | 56d0afc242c8e2f64babd0afb471bf5bfd3c34eb (diff) |
basic loading/unloading of plugins
Diffstat (limited to 'winMain.py')
-rw-r--r-- | winMain.py | 23 |
1 files changed, 16 insertions, 7 deletions
@@ -42,17 +42,16 @@ class winMain(QtGui.QMainWindow): self.setWindowTitle("montypc - An MPD client") self.plugins={} - opts=QtGui.QDockWidget.DockWidgetClosable|QtGui.QDockWidget.DockWidgetMovable + newPlugins=False # are there new plugins? for p in plugins.listPlugins(): pkg,name=p[0],p[1] # WARNING - dirty hack ahead! plugin=eval('%s.%s'%(pkg,name))(self) + newPlugins=newPlugins|(settings.get('%s.load'%(plugin.getName(True)), None)==None) self.plugins[plugin.getName().lower()]=plugin - dock=plugin.getDockWidget(opts) - if dock: - self.docks.append(dock) - self.addDockWidget(QtCore.Qt.TopDockWidgetArea, plugin.getDockWidget(opts)) - + if settings.get('%s.load'%(plugin.getName(True)), '1')=='1': + # load new plugins by default + plugin.load() self.wConnect=winConnect() self.statusBar() # create a statusbar @@ -123,7 +122,8 @@ class winMain(QtGui.QMainWindow): self.wConnect.monitor() self.show() - #self.showWinSettings() + if newPlugins: + self.showWinSettings() doEvents() def toggleTitleBars(self, val): @@ -142,6 +142,15 @@ class winMain(QtGui.QMainWindow): return self.plugins[name.lower()] except: return None + + def addDock(self, dock): + if dock: + self.docks.append(dock) + self.addDockWidget(QtCore.Qt.TopDockWidgetArea, dock) + def removeDock(self, dock): + if dock: + self.docks.remove(dock) + self.removeDockWidget(dock) mMenuVisible=None def createPopupMenu(self): |