Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.8, 0.8.1, and 0.8.2

status: startup optimizations

Make self.ready more self explanatory
Move idle_add() to prepare_display
Move initial refresh after the panes have been sized (or move the pane resize to
before the initial refresh). This makes startup feel much smoother.

Changeset 2b3f629ec0b3

Parent 184afd8d769e

by Steve Borho

Changes to one file · Browse files at 2b3f629ec0b3 Showing diff from parent 184afd8d769e Diff from another changeset...

Change 1 of 5 Show Entire File hggtk/​status.py Stacked
 
86
87
88
89
 
90
91
92
 
156
157
158
 
159
160
161
 
176
177
178
 
179
180
181
 
422
423
424
425
426
427
428
 
493
494
495
496
497
498
499
500
 
501
502
503
504
505
 
506
507
508
 
86
87
88
 
89
90
91
92
 
156
157
158
159
160
161
162
 
177
178
179
180
181
182
183
 
424
425
426
 
427
428
429
 
494
495
496
 
 
 
 
 
497
498
499
500
501
502
503
504
505
506
@@ -86,7 +86,7 @@
  def init(self):   gdialog.GDialog.init(self)   self.mode = 'status' - self.ready = True + self.ready = False   self.filerowstart = {}   self.filechunks = {}   @@ -156,6 +156,7 @@
  ### Overrides of base class methods ###     def parse_opts(self): + # Disable refresh while we toggle checkboxes   self.ready = False     # Determine which files to display @@ -176,6 +177,7 @@
  if self.pats:   for name, check in self._show_checks.iteritems():   check.set_sensitive(False) + self.ready = True       def get_title(self): @@ -422,7 +424,6 @@
  self.diffpane.pack1(tree_frame, True, False)   self.diffpane.pack2(diff_frame, True, True)   self.filetree.set_headers_clickable(True) - gobject.idle_add(self.realize_status_settings)   return self.diffpane     @@ -493,16 +494,13 @@
  self.selcb.set_active(file_count and file_count == check_count)     def prepare_display(self): - self.ready = True - # If the status load failed, no reason to continue - if not self.reload_status(): - raise util.Abort('could not load status') - + gobject.idle_add(self.realize_status_settings)     ### End of overrides ###     def realize_status_settings(self):   self.diffpane.set_position(self.setting_pos) + self.reload_status()     def search_filelist(self, model, column, key, iter):   'case insensitive filename search'