1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
from PyQt4 import QtGui
from clPlugin import *
import log
from misc import Button
class wgLogger(QtGui.QWidget):
"""Shows log information"""
" list containing the log"
log=None
btnClear=None
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
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(settings.get("logger.level", log.LOG_NORMAL)))
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(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)
def _getSettings(self):
return []
|