Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 2.1, 2.1.1, and 2.1.2

manifestdialog: further fixes for new revision selection

This maze of signals between manifest <-> fileview <-> annotate needs to be
cleared up.

Changeset 64f8b9279d8c

Parent 3295b736ec5a

by Steve Borho

Changes to one file · Browse files at 64f8b9279d8c Showing diff from parent 3295b736ec5a Diff from another changeset...

 
332
333
334
335
 
 
 
 
 
 
 
 
 
 
 
 
336
337
338
 
346
347
348
349
350
351
 
352
353
354
 
332
333
334
 
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
 
357
358
359
 
360
 
361
362
363
364
@@ -332,7 +332,18 @@
  @pyqtSlot(object)   def setRev(self, rev):   """Change revision to show""" - self.setSource(self.path, rev) + if rev == self._rev: + return + self._rev = rev + path = self.path + self._setupmodel() + ctx = self._repo[rev] + if path and path in ctx: + # recover file selection after reloading the model + self.setPath(path) + self._fileview.setContext(ctx) + self._fileview.displayFile(self.path, self.status) + # update sensitivity of actions   real = type(rev) is int   self._actions['ldiff'].setEnabled(real)   for act in ['diff', 'edit']: @@ -346,9 +357,8 @@
  if self._rev != rev:   self._rev = rev   self._setupmodel() - self._fileview.setContext(self._repo[rev])   self.revChanged.emit(rev) - elif path != self.path: + if path != self.path:   self.setPath(path)   ctx = self._repo[rev]   if self.path in ctx: