From 08fe28ce2015f3bb1c7e199697a51ae520993d48 Mon Sep 17 00:00:00 2001
From: Yann Leboulanger <asterix@lagaule.org>
Date: Fri, 4 Sep 2009 22:34:35 +0200
Subject: [PATCH] when changing hpaned position in a groupchat, move all hapned
 in all groupchats. see #5252

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

diff --git a/src/groupchat_control.py b/src/groupchat_control.py
index 3439f8f9bb..4cc75e873f 100644
--- a/src/groupchat_control.py
+++ b/src/groupchat_control.py
@@ -291,9 +291,9 @@ class GroupchatControl(ChatControlBase):
 		self.event_box = self.xml.get_widget('banner_eventbox')
 
 		# set the position of the current hpaned
-		self.hpaned_position = gajim.config.get('gc-hpaned-position')
+		hpaned_position = gajim.config.get('gc-hpaned-position')
 		self.hpaned = self.xml.get_widget('hpaned')
-		self.hpaned.set_position(self.hpaned_position)
+		self.hpaned.set_position(hpaned_position)
 
 		self.list_treeview = self.xml.get_widget('list_treeview')
 		selection = self.list_treeview.get_selection()
@@ -434,8 +434,15 @@ class GroupchatControl(ChatControlBase):
 
 	def on_treeview_size_allocate(self, widget, allocation):
 		'''The MUC treeview has resized. Move the hpaned in all tabs to match'''
-		self.hpaned_position = self.hpaned.get_position()
-		self.hpaned.set_position(self.hpaned_position)
+		hpaned_position = self.hpaned.get_position()
+		for account in gajim.gc_connected:
+			for room_jid in [i for i in gajim.gc_connected[account] if \
+			gajim.gc_connected[account][i]]:
+				ctrl = gajim.interface.msg_win_mgr.get_gc_control(room_jid, account)
+				if not ctrl:
+					ctrl = gajim.interface.minimized_controls[account][room_jid]
+				if ctrl:
+					ctrl.hpaned.set_position(hpaned_position)
 
 	def iter_contact_rows(self):
 		'''iterate over all contact rows in the tree model'''
@@ -1878,7 +1885,7 @@ class GroupchatControl(ChatControlBase):
 			gajim.contacts.remove_room(self.account, self.room_jid)
 			del gajim.gc_connected[self.account][self.room_jid]
 		# Save hpaned position
-		gajim.config.set('gc-hpaned-position', self.hpaned_position)
+		gajim.config.set('gc-hpaned-position', self.hpaned.get_position())
 		# remove all register handlers on wigets, created by self.xml
 		# to prevent circular references among objects
 		for i in self.handlers.keys():
-- 
GitLab