from PyQt4 import QtGui from clPlugin import * import log from misc import Button LOGGER_LEVEL_DEFAULT=log.LOG_NORMAL class wgLogger(QtGui.QWidget): """Shows log information""" " list containing the log" log=None btnClear=None p=None def __init__(self, p, parent=None): QtGui.QWidget.__init__(self, parent) self.p=p self.log=QtGui.QListWidget(self) self.btnClear=Button("Clear", self.clear) self.cmbLevel=QtGui.QComboBox(self) self.cmbLevel.addItem("Nothing") self.cmbLevel.addItem("Important") self.cmbLevel.addItem("Normal") self.cmbLevel.addItem("Extended") self.cmbLevel.addItem("Debug") self.cmbLevel.setCurrentIndex(int(self.p.getSetting("level"))) self.onCmbLevelChanged(self.cmbLevel.currentIndex()) layout=QtGui.QVBoxLayout() layout2=QtGui.QHBoxLayout() self.setLayout(layout) layout2.addWidget(self.cmbLevel) layout2.addWidget(self.btnClear) layout.addLayout(layout2) layout.addWidget(self.log) self.connect(self.cmbLevel, QtCore.SIGNAL('currentIndexChanged(int)'),self.onCmbLevelChanged) def onCmbLevelChanged(self, newval): log.setLevel(newval) log.extended("Switching loglevel to %s"%(str(newval))) settings.set("logger.level", newval) def writer(self, item, level): self.log.addItem(item) self.log.setCurrentRow(self.log.count()-1) #self.log.scrollToItem(self.log.item(self.log.count())) def clear(self): self.log.clear() class pluginLogger(Plugin): o=None def __init__(self, winMain): Plugin.__init__(self, winMain, 'Logger') def _load(self): self.o=wgLogger(self, None) log.setWriter(self.o.writer) def _unload(self): self.o=None log.setWriter(log._writer) def getInfo(self): return "Shows information from the log." def _getDockWidget(self): return self._createDock(self.o)