summaryrefslogtreecommitdiff
path: root/winSettings.py
diff options
context:
space:
mode:
Diffstat (limited to 'winSettings.py')
-rw-r--r--winSettings.py34
1 files changed, 28 insertions, 6 deletions
diff --git a/winSettings.py b/winSettings.py
index 7951da0..310673f 100644
--- a/winSettings.py
+++ b/winSettings.py
@@ -2,11 +2,13 @@ from PyQt4 import QtGui, QtCore
from misc import *
from clMonty import monty
+from clSettings import settings
class winSettings(QtGui.QWidget):
btnSave=None
btnClose=None
+ lstPlugins=None
winMain=None
@@ -17,20 +19,28 @@ class winSettings(QtGui.QWidget):
self.btnSave=Button('save all', self.onBtnSaveClick)
self.btnClose=Button('close', self.onBtnCloseClick)
- tabPlugins=QtGui.QTextEdit(self)
- tabPlugins.setReadOnly(True)
+ self.lstPlugins=QtGui.QListWidget(self)
layoutWin=QtGui.QVBoxLayout()
layoutButtons=QtGui.QHBoxLayout()
tabWidget=QtGui.QTabWidget(parent)
self.setLayout(layoutWin)
- tabWidget.addTab(tabPlugins, "plugins")
+ tabWidget.addTab(self.lstPlugins, "plugins")
for p in self.winMain.plugins:
plugin=self.winMain.plugins[p]
- tabPlugins.insertHtml("%s: <i>%s</i><br />"%(plugin.getName(), plugin.getInfo()))
+ item=QtGui.QListWidgetItem("%s\t%s"%(plugin.getName(), plugin.getInfo()))
+ if plugin.isLoaded():
+ item.setCheckState(QtCore.Qt.Checked)
+ else:
+ item.setCheckState(QtCore.Qt.Unchecked)
+
+ if settings.get('%s.load'%(plugin.getName(True)),None)==None:
+ # load new plugins by default
+ item.setTextColor(QtCore.Qt.blue)
+ settings.set('%s.load'%(plugin.getName(True)), 1)
+ self.lstPlugins.addItem(item)
tabWidget.addTab(plugin.getSettingsWidget(), plugin.getName())
-
layoutWin.addWidget(tabWidget)
layoutWin.addLayout(layoutButtons)
@@ -39,6 +49,8 @@ class winSettings(QtGui.QWidget):
layoutButtons.addWidget(self.btnSave)
layoutButtons.addWidget(self.btnClose)
+ self.connect(self.lstPlugins, QtCore.SIGNAL('itemChanged (QListWidgetItem*)'), self.onlstPluginItemChanged)
+
self.setWindowIcon(appIcon)
self.setWindowTitle('Settings')
self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
@@ -57,7 +69,17 @@ class winSettings(QtGui.QWidget):
plugin.saveSettings()
def onBtnCloseClick(self):
self.close()
-
+ def onlstPluginItemChanged(self, item):
+ # check here if we have to load or unload the plugin!
+ pluginName=str(item.text()[0:str(item.text()).find('\t')])
+ plugin=self.winMain.getPlugin(pluginName)
+ loaded=int(item.checkState()==QtCore.Qt.Checked)
+ settings.set('%s.load'%(plugin.getName(True)), loaded)
+ if loaded:
+ plugin.load()
+ else:
+ plugin.unload()
+ return
def closeEvent(self, event):
for p in self.winMain.plugins:
plugin=self.winMain.plugins[p]