summaryrefslogtreecommitdiff
path: root/winMain.py
diff options
context:
space:
mode:
authorjerous <jerous@gmail.com>2008-06-18 21:04:04 +0200
committerjerous <jerous@gmail.com>2008-06-18 21:04:04 +0200
commit5f2db6585fe707c6eaa90e4c32c484a2cacbc3f5 (patch)
treee5959b9ca7485d15cbcfe98f27ddb78f2edba069 /winMain.py
parent56d0afc242c8e2f64babd0afb471bf5bfd3c34eb (diff)
basic loading/unloading of plugins
Diffstat (limited to 'winMain.py')
-rw-r--r--winMain.py23
1 files changed, 16 insertions, 7 deletions
diff --git a/winMain.py b/winMain.py
index fd56e1c..8519e59 100644
--- a/winMain.py
+++ b/winMain.py
@@ -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):