From e6b4382aaf58d6b098ce1275444fd5bf5eb18a2d Mon Sep 17 00:00:00 2001 From: Yann Leboulanger Date: Mon, 28 Dec 2009 22:41:05 +0100 Subject: [PATCH] apply config to minimized controls too. Fixes #5515 --- src/config.py | 63 ++++++++++++++++++++++++------------------- src/message_window.py | 12 --------- 2 files changed, 35 insertions(+), 40 deletions(-) diff --git a/src/config.py b/src/config.py index e3a4334e4..abbbfd0eb 100644 --- a/src/config.py +++ b/src/config.py @@ -382,7 +382,8 @@ class PreferencesWindow: # Default Status messages self.default_msg_tree = self.xml.get_widget('default_msg_treeview') - col2 = self.default_msg_tree.rc_get_style().bg[gtk.STATE_ACTIVE].to_string() + col2 = self.default_msg_tree.rc_get_style().bg[gtk.STATE_ACTIVE].\ + to_string() # (status, translated_status, message, enabled) model = gtk.ListStore(str, str, str, bool) self.default_msg_tree.set_model(model) @@ -576,37 +577,43 @@ class PreferencesWindow: w.set_sensitive(widget.get_active()) gajim.interface.save_config() + def _get_all_controls(self): + for ctrl in gajim.interface.msg_win_mgr.get_controls(): + yield ctrl + for account in gajim.connections: + for ctrl in gajim.interface.minimized_controls[account].values(): + yield ctrl + + def _get_all_muc_controls(self): + for ctrl in gajim.interface.msg_win_mgr.get_controls( + message_control.TYPE_GC): + yield ctrl + for account in gajim.connections: + for ctrl in gajim.interface.minimized_controls[account].values(): + yield ctrl + def on_sort_by_show_in_roster_checkbutton_toggled(self, widget): self.on_checkbutton_toggled(widget, 'sort_by_show_in_roster') gajim.interface.roster.setup_and_draw_roster() def on_sort_by_show_in_muc_checkbutton_toggled(self, widget): self.on_checkbutton_toggled(widget, 'sort_by_show_in_muc') - # Redraw connected groupchats - for account in gajim.connections: - if gajim.connections[account].connected: - for gc_control in gajim.interface.msg_win_mgr.get_controls( - message_control.TYPE_GC) + \ - gajim.interface.minimized_controls[account].values(): - gc_control.draw_roster() + # Redraw groupchats + for ctrl in self._get_all_muc_controls(): + ctrl.draw_roster() def on_show_avatars_in_roster_checkbutton_toggled(self, widget): self.on_checkbutton_toggled(widget, 'show_avatars_in_roster') gajim.interface.roster.setup_and_draw_roster() - # Redraw connected groupchats (in an ugly way) - for account in gajim.connections: - if gajim.connections[account].connected: - for gc_control in gajim.interface.msg_win_mgr.get_controls( - message_control.TYPE_GC) + \ - gajim.interface.minimized_controls[account].values(): - gc_control.draw_roster() + # Redraw groupchats (in an ugly way) + for ctrl in self._get_all_muc_controls(): + ctrl.draw_roster() def on_show_status_msgs_in_roster_checkbutton_toggled(self, widget): self.on_checkbutton_toggled(widget, 'show_status_msgs_in_roster') gajim.interface.roster.setup_and_draw_roster() - for ctl in gajim.interface.msg_win_mgr.controls(): - if ctl.type_id == message_control.TYPE_GC: - ctl.update_ui() + for ctrl in self._get_all_muc_controls(): + ctrl.update_ui() def on_show_mood_in_roster_checkbutton_toggled(self, widget): self.on_checkbutton_toggled(widget, 'show_mood_in_roster') @@ -641,8 +648,8 @@ class PreferencesWindow: """ Update emoticons state in Opened Chat Windows """ - for win in gajim.interface.msg_win_mgr.windows(): - win.toggle_emoticons() + for ctrl in self._get_all_controls(): + ctrl.toggle_emoticons() def on_one_window_type_combo_changed(self, widget): active = widget.get_active() @@ -653,8 +660,8 @@ class PreferencesWindow: def on_compact_view_checkbutton_toggled(self, widget): active = widget.get_active() - for ctl in gajim.interface.msg_win_mgr.controls(): - ctl.chat_buttons_set_visible(active) + for ctrl in self._get_all_controls(): + ctrl.chat_buttons_set_visible(active) gajim.config.set('compact_view', active) gajim.interface.save_config() @@ -663,7 +670,7 @@ class PreferencesWindow: helpers.update_optional_features() def apply_speller(self): - for ctrl in gajim.interface.msg_win_mgr.controls(): + for ctrl in self._get_all_controls(): if isinstance(ctrl, chat_control.ChatControlBase): try: spell_obj = gtkspell.get_from_text_view(ctrl.msg_textview) @@ -674,7 +681,7 @@ class PreferencesWindow: ctrl.set_speller() def remove_speller(self): - for ctrl in gajim.interface.msg_win_mgr.controls(): + for ctrl in self._get_all_controls(): if isinstance(ctrl, chat_control.ChatControlBase): try: spell_obj = gtkspell.get_from_text_view(ctrl.msg_textview) @@ -837,8 +844,8 @@ class PreferencesWindow: """ Update color tags in opened chat windows """ - for win in gajim.interface.msg_win_mgr.windows(): - win.update_tags() + for ctrl in self._get_all_controls(): + ctrl.update_tags() def on_preference_widget_color_set(self, widget, text): color = widget.get_color() @@ -860,8 +867,8 @@ class PreferencesWindow: """ Update text font in opened chat windows """ - for win in gajim.interface.msg_win_mgr.windows(): - win.update_font() + for ctrl in self._get_all_controls(): + ctrl.update_font() def on_incoming_nick_colorbutton_color_set(self, widget): self.on_preference_widget_color_set(widget, 'inmsgcolor') diff --git a/src/message_window.py b/src/message_window.py index 5e6fe5596..7c97f3fb0 100644 --- a/src/message_window.py +++ b/src/message_window.py @@ -661,18 +661,6 @@ class MessageWindow(object): def get_origin(self): return self.window.window.get_origin() - def toggle_emoticons(self): - for ctrl in self.controls(): - ctrl.toggle_emoticons() - - def update_font(self): - for ctrl in self.controls(): - ctrl.update_font() - - def update_tags(self): - for ctrl in self.controls(): - ctrl.update_tags() - def get_control(self, key, acct): """ Return the MessageControl for jid or n, where n is a notebook page index.