Changeset 2b853f3fda3e…
Parent 3c38a0bf2a02…
by
Changes to 2 files · Browse files at 2b853f3fda3e Showing diff from parent 3c38a0bf2a02 Diff from another changeset...
@@ -56,6 +56,9 @@ """
Display metadata for one revision (rev, author, description, etc.)
"""
+
+ commitsignal = QtCore.pyqtSignal()
+
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self._message = None
@@ -67,10 +70,15 @@ self._header = w = QtGui.QLabel()
w.setTextInteractionFlags(Qt.TextSelectableByMouse | Qt.LinksAccessibleByMouse)
hb.addWidget(w)
+ hb.addStretch(0)
vb = QtGui.QVBoxLayout()
hb.addLayout(vb)
+ hb2 = QtGui.QHBoxLayout()
+ hb2.addStretch(0)
+ vb.addLayout(hb2)
+
# expand header button
self._expander = w = QtGui.QToolButton()
w.setArrowType(Qt.UpArrow)
@@ -78,13 +86,23 @@ a = QtGui.QAction(self)
connect(a, SIGNAL("triggered()"), self.expand)
w.setDefaultAction(a)
- vb.addWidget(w, 0, Qt.AlignTop)
+ hb2.addWidget(w, 0, Qt.AlignTop)
self._expanded = True
+ hb3 = QtGui.QHBoxLayout()
+ hb3.addStretch(0)
+ vb.addLayout(hb3)
+ self._commitbutton = w = QtGui.QPushButton('Commit')
+ hb3.addWidget(w, 0, Qt.AlignBottom)
+ connect(w, SIGNAL('clicked()'), self.commit)
+
connect(self._header,
SIGNAL('linkActivated(const QString&)'),
self.anchorClicked)
+ def commit(self):
+ self.commitsignal.emit()
+
def expand(self):
self._expanded = not self._expanded
if self._expanded:
@@ -148,6 +166,11 @@ def refreshDisplay(self):
ctx = self.ctx
rev = ctx.rev()
+
+ enableci = self._expanded and not rev
+ self._commitbutton.setVisible(enableci)
+ self._message.setEditable(enableci)
+
buf = headerstyle
if self.mqpatch:
buf += "<table width=100%>\n"
@@ -225,6 +248,12 @@
self.setLayout(vb)
+ def setEditable(self, editable):
+ self._message.setReadOnly(not editable)
+
+ def text(self):
+ return str(self._message.toPlainText())
+
def displayRevision(self, ctx):
self.ctx = ctx
desc = xml_escape(unicode(ctx.description(), 'utf-8', 'replace'))
|
@@ -74,6 +74,8 @@
self.textview_header.setMessageWidget(self.message)
+ self.textview_header.commitsignal.connect(self.commit)
+
# setup tables and views
self.setupHeaderTextview()
connect(self.textview_status, SIGNAL('fileDisplayed'),
@@ -99,6 +101,13 @@ self._repodate = self._getrepomtime()
self._watchrepotimer = self.startTimer(500)
+ def commit(self):
+ args = ['commit']
+ args += ['-v', '-m', self.message.text()]
+ dlg = cmdui.Dialog(args)
+ dlg.show()
+ self._commitdlg = dlg
+
def timerEvent(self, event):
if event.timerId() == self._watchrepotimer:
if not self._scanForRepoChanges or self.loading():
|
Loading...