Kiln » TortoiseHg » TortoiseHg
Clone URL:  
docklog.py
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
# docklog.py - Log dock widget for the TortoiseHg Workbench # # Copyright 2010 Steve Borho <steve@borho.org> # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. from tortoisehg.hgqt.i18n import _ from tortoisehg.hgqt import cmdui from PyQt4.QtCore import * from PyQt4.QtGui import * class LogDockWidget(QDockWidget): visibilityChanged = pyqtSignal(bool) def __init__(self, parent=None): super(LogDockWidget, self).__init__(parent) self.setFeatures(QDockWidget.DockWidgetClosable | QDockWidget.DockWidgetMovable | QDockWidget.DockWidgetFloatable) self.setWindowTitle(_('Output Log')) # Not enabled until we have a way to make it configurable #self.setWindowFlags(Qt.Drawer) self.logte = cmdui.ConsoleWidget() self.logte.closeRequested.connect(self.close) self.setWidget(self.logte) for name in ('setRepository', 'progressReceived'): setattr(self, name, getattr(self.logte, name)) self.visibilityChanged.connect( lambda visible: visible and self.logte.setFocus()) @pyqtSlot() def clear(self): self.logte.clear() @pyqtSlot(QString, QString) def output(self, msg, label): self.logte.appendLog(msg, label) @pyqtSlot() def beginSuppressPrompt(self): self.logte.suppressPrompt = True @pyqtSlot() def endSuppressPrompt(self): self.logte.suppressPrompt = False self.logte.openPrompt() def showEvent(self, event): self.visibilityChanged.emit(True) def hideEvent(self, event): self.visibilityChanged.emit(False)