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

hggtk: resume saved vpane states in idle callback

you must wait until the maximize has been "realized" before setting the vpane positions,
else the vpanes are scaled by the maximize event and then you see the vpanes creep
around as you restart over and over. Messy. There's noticeable "blinking" at startup now,
but this fixes the problem. Perhaps we can freeze redraw until this idle function runs?

Fixes #199

Changeset e1f904f2b126

Parent be9effaefaec

by Steve Borho

Changes to 3 files · Browse files at e1f904f2b126 Showing diff from parent be9effaefaec Diff from another changeset...

Change 1 of 2 Show Entire File hggtk/​commit.py Stacked
 
9
10
11
 
12
13
14
 
247
248
249
 
 
 
 
250
251
252
253
254
 
9
10
11
12
13
14
15
 
248
249
250
251
252
253
254
255
 
256
257
258
@@ -9,6 +9,7 @@
 import os  import errno  import gtk +import gobject  import pango  import tempfile  import cStringIO @@ -247,8 +248,11 @@
  self._vpaned = gtk.VPaned()   self._vpaned.add1(vbox)   self._vpaned.add2(status_body) + gobject.idle_add(self.realize_settings) + return self._vpaned + + def realize_settings(self):   self._vpaned.set_position(self._setting_vpos) - return self._vpaned     def thgaccept(self, window):   self._commit_clicked(None)
Change 1 of 2 Show Entire File hggtk/​history.py Stacked
 
456
457
458
459
460
 
461
462
463
 
465
466
467
 
468
469
 
 
 
470
471
472
 
456
457
458
 
 
459
460
461
462
 
464
465
466
467
468
 
469
470
471
472
473
474
@@ -456,8 +456,7 @@
  self._vpaned = gtk.VPaned()   self._vpaned.pack1(self.tree_frame, True, False)   self._vpaned.pack2(self._hpaned) - self._vpaned.set_position(self._setting_vpos) - self._hpaned.set_position(self._setting_hpos) + gobject.idle_add(self.realize_settings)     vbox = gtk.VBox()   vbox.pack_start(self._vpaned, True, True) @@ -465,8 +464,11 @@
  # Append status bar   vbox.pack_start(gtk.HSeparator(), False, False)   vbox.pack_start(self.stbar, False, False) + return vbox   - return vbox + def realize_settings(self): + self._vpaned.set_position(self._setting_vpos) + self._hpaned.set_position(self._setting_hpos)     def thgdiff(self, treeview):   'ctrl-d handler'
Change 1 of 2 Show Entire File hggtk/​status.py Stacked
 
10
11
12
 
13
14
15
 
398
399
400
401
402
403
404
 
405
406
 
 
 
407
408
409
 
10
11
12
13
14
15
16
 
399
400
401
 
402
403
404
405
406
407
408
409
410
411
412
413
@@ -10,6 +10,7 @@
 import os  import cStringIO  import gtk +import gobject  import pango  import gobject   @@ -398,12 +399,15 @@
    self._diffpane.pack1(tree_frame, True, False)   self._diffpane.pack2(diff_frame, True, True) - self._diffpane.set_position(self._setting_pos)   self._diffpane_moved_id = self._diffpane.connect('notify::position',   self._diffpane_moved)   self.filetree.set_headers_clickable(True) + gobject.idle_add(self.realize_status_settings)   return self._diffpane   + def realize_status_settings(self): + self._diffpane.set_position(self._setting_pos) +   def search_filelist(self, model, column, key, iter):   'case insensitive filename search'   key = key.lower()