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

revdetails: use tri-state toggle buttons for display mode

Changeset 539bec31d89d

Parent 5e400720ae23

by Steve Borho

Changes to one file · Browse files at 539bec31d89d Showing diff from parent 5e400720ae23 Diff from another changeset...

 
173
174
175
176
 
177
178
 
 
 
 
179
180
181
182
 
 
 
 
 
183
184
185
 
225
226
227
 
 
 
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
 
 
 
 
 
 
 
243
244
245
246
247
248
249
250
251
252
253
254
255
 
302
303
304
 
 
305
306
 
 
307
308
309
310
311
312
313
314
 
173
174
175
 
176
177
 
178
179
180
181
182
 
 
 
183
184
185
186
187
188
189
190
 
230
231
232
233
234
235
236
237
 
 
238
 
 
 
 
 
 
 
 
 
 
239
240
241
242
243
244
245
246
247
248
249
 
 
 
 
 
 
250
251
252
 
299
300
301
302
303
304
305
306
307
308
309
310
311
 
312
313
314
@@ -173,13 +173,18 @@
  self.filelist.clearDisplay.connect(self.fileview.clearDisplay)     def createActions(self): - self.actionDiffMode = QAction('Diff mode', self) + self.actionDiffMode = QAction('Diff', self)   self.actionDiffMode.setCheckable(True) - self.actionDiffMode.toggled.connect(self.setMode) + self.actionFileMode = QAction('File', self) + self.actionFileMode.setCheckable(True) + self.actionAnnMode = QAction('Ann', self) + self.actionAnnMode.setCheckable(True)   - self.actionAnnMode = QAction('Annotate', self) - self.actionAnnMode.setCheckable(True) - self.actionAnnMode.toggled.connect(self.setAnnotate) + self.modeToggleGroup = QActionGroup(self) + self.modeToggleGroup.addAction(self.actionDiffMode) + self.modeToggleGroup.addAction(self.actionFileMode) + self.modeToggleGroup.addAction(self.actionAnnMode) + self.modeToggleGroup.triggered.connect(self.setMode)     # Next/Prev diff (in full file mode)   self.actionNextDiff = QAction(geticon('down'), 'Next diff', self) @@ -225,31 +230,23 @@
  # toolbar   tb = self.diffToolbar   tb.addAction(self.actionDiffMode) + tb.addAction(self.actionFileMode) + tb.addAction(self.actionAnnMode) + tb.addSeparator()   tb.addAction(self.actionNextDiff)   tb.addAction(self.actionPrevDiff) - tb.addSeparator() - tb.addAction(self.actionAnnMode)   - def setMode(self, mode): - self.fileview.setMode(mode) - if mode: - self.actionAnnMode.setEnabled(False) - self.actionAnnMode.setChecked(False) - self.actionNextDiff.setEnabled(False) - self.actionPrevDiff.setEnabled(False) - else: - self.actionAnnMode.setEnabled(True) - # next/prev actions are enabled via signals + @pyqtSlot(QAction) + def setMode(self, action): + diffmode = action.text() == 'Diff' + self.fileview.setMode(diffmode) + self.fileview.setAnnotate(action.text() == 'Ann') + self.actionNextDiff.setDisabled(diffmode) + self.actionPrevDiff.setDisabled(diffmode)     def getMode(self):   return self.fileview.getMode()   - def setAnnotate(self, ann): - self.fileview.setAnnotate(ann) - - def getAnnotate(self): - return self.fileview.getAnnotate() -   @pyqtSlot()   def toggleSearchBar(self):   vis = self.searchbar.isVisible() @@ -302,13 +299,16 @@
  if type(ctx.rev()) == str:   self.actionDiffMode.setChecked(True)   self.actionDiffMode.setEnabled(False) + self.actionFileMode.setEnabled(False) + self.actionAnnMode.setEnabled(False)   else:   self.actionDiffMode.setEnabled(True) + self.actionFileMode.setEnabled(True) + self.actionAnnMode.setEnabled(True)   self.fileview.setContext(ctx)   self.filelistmodel.setContext(ctx)     mode = self.getMode() - self.actionAnnMode.setEnabled(mode != 'diff')   self.actionNextDiff.setEnabled(mode != 'diff')   self.actionPrevDiff.setEnabled(mode != 'diff')