changeset b3790c8320c6 in /home/hg/repos/gajim

details:http://hg.gajim.org/gajim?cmd=changeset;node=b3790c8320c6
description: More correctly blocked change in the position for the hpaned

diffstat:

 src/groupchat_control.py |  17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diffs (47 lines):

diff -r 3cd821d0c11c -r b3790c8320c6 src/groupchat_control.py
--- a/src/groupchat_control.py  Tue Mar 01 14:01:10 2011 +0300
+++ b/src/groupchat_control.py  Thu Mar 03 19:18:38 2011 +0300
@@ -385,7 +385,7 @@
         id_ = self.list_treeview.connect('style-set',
             self.on_list_treeview_style_set)
         self.handlers[id_] = self.list_treeview
-        self.resize_from_another_muc = True
+        self.resize_from_another_muc = False
         # we want to know when the the widget resizes, because that is
         # an indication that the hpaned has moved...
         self.hpaned = self.xml.get_object('hpaned')
@@ -551,13 +551,22 @@
 
         menu.show_all()
 
+    def resize_occupant_treeview(self, position):
+        self.resize_from_another_muc = True
+        self.hpaned.set_position(position)
+        def reset_flag():
+            self.resize_from_another_muc = False
+        # Reset the flag when everything will be redrawn, and in particular 
when
+        # on_treeview_size_allocate will have been called.
+        gobject.idle_add(reset_flag)
+
     def on_hpaned_notify(self, pane, gparamspec):
         """
         The MUC treeview has resized. Move the hpaned in all tabs to match
         """
         if gparamspec.name != 'position':
             return
-        if not self.resize_from_another_muc:
+        if self.resize_from_another_muc:
             # Don't send the event to other MUC
             return
 
@@ -572,9 +581,7 @@
                 gajim.interface.minimized_controls[account]:
                     ctrl = 
gajim.interface.minimized_controls[account][room_jid]
                 if ctrl and gajim.config.get('one_message_window') != 'never':
-                    ctrl.resize_from_another_muc = False
-                    ctrl.hpaned.set_position(hpaned_position)
-                    ctrl.resize_from_another_muc = True
+                    ctrl.resize_occupant_treeview(hpaned_position)
 
     def iter_contact_rows(self):
         """
_______________________________________________
Commits mailing list
[email protected]
http://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to