commitmsg: hide the menu indicator
[git-cola.git] / cola / widgets / log.py
blob097dd9b20e1ea6a8334db3340d657fea1c031eb6
1 import time
3 from PyQt4 import QtGui
5 from cola.i18n import N_
6 from cola.widgets.text import MonoTextView
9 class LogWidget(QtGui.QWidget):
10 """A simple dialog to display command logs."""
11 def __init__(self, parent=None, output=None):
12 QtGui.QWidget.__init__(self, parent)
14 self._layout = QtGui.QVBoxLayout(self)
15 self._layout.setMargin(0)
17 self.output_text = MonoTextView(self)
18 self._layout.addWidget(self.output_text)
19 if output:
20 self.set_output(output)
22 def clear(self):
23 self.output_text.clear()
25 def set_output(self, output):
26 self.output_text.setText(output)
28 def log_status(self, status, out, err=None):
29 msg = out
30 if err:
31 msg += '\n' + err
32 if status != 0:
33 msg += '\n'
34 msg += N_('exit code %s') % status
35 self.log(msg)
37 def log(self, msg):
38 if not msg:
39 return
40 cursor = self.output_text.textCursor()
41 cursor.movePosition(cursor.End)
42 text = self.output_text
43 cursor.insertText(time.asctime() + '\n')
44 for line in msg.splitlines():
45 cursor.insertText(line + '\n')
46 cursor.insertText('\n')
47 cursor.movePosition(cursor.End)
48 text.setTextCursor(cursor)