Kiln » TortoiseHg » TortoiseHg
Clone URL:  
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)