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

grep, annotate: implement annotate context menu option from grep

Changeset dfce9ddd039d

Parent 273eb09e5f8c

by Steve Borho

Changes to 2 files · Browse files at dfce9ddd039d Showing diff from parent 273eb09e5f8c Diff from another changeset...

 
267
268
269
270
 
271
272
273
 
307
308
309
310
 
311
312
313
 
267
268
269
 
270
271
272
273
 
307
308
309
 
310
311
312
313
@@ -267,7 +267,7 @@
   class AnnotateDialog(QDialog):   def __init__(self, *pats, **opts): - super(AnnotateDialog,self).__init__(parent = None) + super(AnnotateDialog,self).__init__(opts.get('parent'))     mainvbox = QVBoxLayout()   self.setLayout(mainvbox) @@ -307,7 +307,7 @@
  line = int(line)   try:   repo = hg.repository(ui.ui(), path=paths.find_root()) - ctx = repo[opts.get('rev', '.')] + ctx = repo[opts.get('rev') or '.']   fctx = ctx[pats[0]] # just for validation   except Exception, e:   self.status.setText(hglib.tounicode(str(e)))
 
405
406
407
408
 
 
 
 
 
 
 
 
 
 
 
 
 
409
410
411
 
405
406
407
 
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
@@ -405,7 +405,19 @@
  menu.exec_(point)     def ann(self, rows): - raise NotImplementedError() + from tortoisehg.hgqt import annotate + repo, ui, pattern = self.repo, self.repo.ui, self.pattern + seen = set() + for rev, path, line in rows: + # Only open one annotate instance per file + if path in seen: + continue + else: + seen.add(path) + dlg = annotate.AnnotateDialog(path, rev=rev, line=line, + pattern=pattern, parent=self) + dlg.show() +   def ctx(self, rows):   raise NotImplementedError()