widgets.recent: Refresh after editing the commit count
[git-cola.git] / cola / widgets / log.py
blob22af440eebf9b39a8fb44fb8e22bfaf4fb08334d
1 import time
3 from PyQt4 import QtGui
5 from cola import core
8 class LogView(QtGui.QWidget):
9 """A simple dialog to display command logs."""
10 def __init__(self, parent=None, output=None):
11 QtGui.QWidget.__init__(self, parent)
13 self._layout = QtGui.QVBoxLayout(self)
14 self._layout.setMargin(0)
16 self.output_text = QtGui.QTextEdit(self)
17 self.output_text.setAcceptDrops(False)
18 self.output_text.setTabChangesFocus(True)
19 self.output_text.setUndoRedoEnabled(False)
20 self.output_text.setReadOnly(True)
21 self.output_text.setAcceptRichText(False)
22 self._layout.addWidget(self.output_text)
23 if output:
24 self.set_output(output)
26 def clear(self):
27 self.output_text.clear()
29 def set_output(self, output):
30 self.output_text.setText(output)
32 def log(self, status, output):
33 if not output:
34 return
35 cursor = self.output_text.textCursor()
36 cursor.movePosition(cursor.End)
37 text = self.output_text
38 cursor.insertText(time.asctime() + '\n')
39 for line in unicode(core.decode(output)).splitlines():
40 cursor.insertText(line + '\n')
41 cursor.insertText('\n')
42 cursor.movePosition(cursor.End)
43 text.setTextCursor(cursor)