Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 1.9.2, 1.9.3, and 2.0

mq: add a fileview for file in the patch

Changeset e4dcdf6fb113

Parent d9b7307bda27

by Steve Borho

Changes to one file · Browse files at e4dcdf6fb113 Showing diff from parent d9b7307bda27 Diff from another changeset...

 
18
19
20
21
 
22
23
24
 
59
60
61
 
 
 
 
62
63
64
 
133
134
135
 
136
137
138
 
217
218
219
 
220
221
222
 
356
357
358
 
 
 
 
 
 
 
 
 
 
 
 
 
359
360
361
 
599
600
601
 
602
603
604
 
685
686
687
 
688
689
690
 
693
694
695
 
696
697
698
 
18
19
20
 
21
22
23
24
 
59
60
61
62
63
64
65
66
67
68
 
137
138
139
140
141
142
143
 
222
223
224
225
226
227
228
 
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
 
618
619
620
621
622
623
624
 
705
706
707
708
709
710
711
 
714
715
716
717
718
719
720
@@ -18,7 +18,7 @@
 from tortoisehg.util import hglib, patchctx  from tortoisehg.hgqt.i18n import _  from tortoisehg.hgqt import qtlib, cmdui, rejects, commit, shelve, qscilib -from tortoisehg.hgqt import qqueue +from tortoisehg.hgqt import qqueue, fileview    # TODO: Disable MQ toolbar while cmdui.Runner is busy   @@ -59,6 +59,10 @@
    self.queueFrame = QFrame(splitter)   self.messageFrame = QFrame(splitter) + self.fileview = fileview.HgFileView(splitter) + + self.fileview.showMessage.connect(self.showMessage) + self.fileview.setContext(repo[None])     # Patch Queue Frame   layout = QVBoxLayout() @@ -133,6 +137,7 @@
  layout.addWidget(self.messageEditor, 1)     self.fileListWidget = QListWidget(self) + self.fileListWidget.currentRowChanged.connect(self.onFileSelected)   layout.addWidget(self.fileListWidget, 2)     qrefhbox = QHBoxLayout() @@ -217,6 +222,7 @@
  def onConfigChanged(self):   'Repository is reporting its config files have changed'   self.messageEditor.refresh(self.repo) + self.fileview.setContext(self.repo[None])     @pyqtSlot()   def onRepositoryChanged(self): @@ -356,6 +362,19 @@
  self.setGuardsBtn.setEnabled(False)     @pyqtSlot(int) + def onFileSelected(self, row): + if self.refreshing or row == -1: + return + text = hglib.fromunicode(self.fileListWidget.item(row).text()) + status = text[0] + filename = text[2:] + if self.newCheckBox.isChecked(): + rev = self.repo['.'].rev() + else: + rev = self.repo['qtip'].p1().rev() + self.fileview.displayFile(filename, rev, status) + + @pyqtSlot(int)   def onMessageSelected(self, row):   if self.messageEditor.text() and self.messageEditor.isModified():   d = QMessageBox.question(self, _('Confirm Discard Message'), @@ -599,6 +618,7 @@
  item.setCheckState(Qt.Checked)   self.fileListWidget.addItem(item)   self.fileListWidget.clear() + self.fileview.clearDisplay()   pctx = self.repo.changectx('.')   newmode = self.newCheckBox.isChecked()   # Get patch file lists @@ -685,6 +705,7 @@
  userhist = s.value('commit/userhist').toStringList()   self.opts['userhist'] = [hglib.fromunicode(u) for u in userhist if u]   self.messageEditor.loadSettings(s, 'mq/editor') + self.fileview.loadSettings(s, 'mq/fileview')   if not self.parent():   self.restoreGeometry(s.value('mq/geom').toByteArray())   @@ -693,6 +714,7 @@
  s = QSettings()   s.setValue('mq/splitter', self.splitter.saveState())   self.messageEditor.saveSettings(s, 'mq/editor') + self.fileview.saveSettings(s, 'mq/fileview')   if not self.parent():   s.setValue('mq/geom', self.saveGeometry())