Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 1.1, 1.1.1, and 1.1.2

status: move row-activated handling for difftree into chunks.py

Changeset ee5c2eae37ed

Parent fb20dc4e763b

by Adrian Buehlmann

Changes to 2 files · Browse files at ee5c2eae37ed Showing diff from parent fb20dc4e763b Diff from another changeset...

 
81
82
83
84
 
 
 
85
86
87
 
245
246
247
248
 
249
250
251
252
 
253
254
255
 
270
271
272
273
 
 
274
275
276
 
81
82
83
 
84
85
86
87
88
89
 
247
248
249
 
250
251
252
253
254
255
256
257
258
 
273
274
275
 
276
277
278
279
280
@@ -81,7 +81,9 @@
  if getattr(difftree, 'enable-grid-lines', None) is not None:   difftree.set_property('enable-grid-lines', True)   self.difftree = difftree - + + difftree.connect('row-activated', self.diff_tree_row_act) +   cell = gtk.CellRendererText()   diffcol = gtk.TreeViewColumn('diff', cell)   diffcol.set_resizable(True) @@ -245,11 +247,12 @@
    return len(rows)   - def diff_tree_row_act(self, dtree, path, checked): + def diff_tree_row_act(self, dtree, path, column):   'Row in diff tree (hunk) activated/toggled'   dmodel = dtree.get_model()   row = dmodel[path]   wfile = row[DM_PATH] + checked = self.stat.get_checked(wfile)   try:   chunks = self.filechunks[wfile]   except IndexError: @@ -270,7 +273,8 @@
  newvalue = nonrej and True or False   partial = rej and nonrej and True or False   self.update_diff_header(dmodel, wfile, newvalue) - return partial, newvalue + + self.stat.update_check_state(wfile, partial, newvalue)     def get_wfile(self, dtree, path):   dmodel = dtree.get_model()
 
357
358
359
360
361
 
362
363
364
 
987
988
989
990
991
992
993
 
994
995
996
 
 
 
 
 
 
997
998
999
1000
1001
1002
1003
1004
1005
 
 
 
 
 
1006
1007
1008
 
357
358
359
 
 
360
361
362
363
 
986
987
988
 
 
 
 
989
990
991
 
992
993
994
995
996
997
998
 
 
 
 
 
 
 
 
999
1000
1001
1002
1003
1004
1005
1006
@@ -357,8 +357,7 @@
  self.chunks = chunks.chunks(self)   difftree = self.chunks.get_difftree()   self.difftree = difftree - difftree.connect('row-activated', self.diff_tree_row_act) - +   scroller = gtk.ScrolledWindow()   scroller.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)   scroller.add(difftree) @@ -987,22 +986,21 @@
  difftext.seek(0)   return hgshelve.parsepatch(difftext)   - def diff_tree_row_act(self, dtree, path, column): - 'Row in diff tree (hunk) activated/toggled' - wfile = self.chunks.get_wfile(dtree, path) - + def update_check_state(self, wfile, partial, newvalue):   for fr in self.filemodel:   if fr[FM_PATH] == wfile: - break + if fr[FM_PARTIAL_SELECTED] != partial: + fr[FM_PARTIAL_SELECTED] = partial + if fr[FM_CHECKED] != newvalue: + fr[FM_CHECKED] = newvalue + self.update_check_count() + return   - partial, newvalue = self.chunks.diff_tree_row_act(dtree, path, fr[FM_CHECKED]) - - # Update file's check status - if fr[FM_PARTIAL_SELECTED] != partial: - fr[FM_PARTIAL_SELECTED] = partial - if fr[FM_CHECKED] != newvalue: - fr[FM_CHECKED] = newvalue - self.update_check_count() + def get_checked(self, wfile): + for fr in self.filemodel: + if fr[FM_PATH] == wfile: + return fr[FM_CHECKED] + return False     def refresh_clicked(self, toolbutton, data=None):   self.reload_status()