From 1e62bf731594c593d7f0e7fab2db73875db4130f Mon Sep 17 00:00:00 2001 From: Denis Fomin <fominde@gmail.com> Date: Sun, 21 Jul 2013 23:34:42 +0400 Subject: [PATCH] QuickRepliesPlugin,GuiForMePlugin.change buttons state when the status has changed. Fixes #60 --- gui_for_me/gui_for_me.py | 13 +++++++++++-- gui_for_me/manifest.ini | 2 +- quick_replies/manifest.ini | 2 +- quick_replies/plugin.py | 11 ++++++++++- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/gui_for_me/gui_for_me.py b/gui_for_me/gui_for_me.py index 97744e09..3ba9b1e8 100644 --- a/gui_for_me/gui_for_me.py +++ b/gui_for_me/gui_for_me.py @@ -14,8 +14,10 @@ class GuiForMe(GajimPlugin): self.description = _('Gui for the \'/me\' command.') self.config_dialog = None # GuiForMePluginConfigDialog(self) self.gui_extension_points = { - 'chat_control_base': (self.connect_with_chat_control, - self.disconnect_from_chat_control)} + 'chat_control_base': (self.connect_with_chat_control, + self.disconnect_from_chat_control), + 'chat_control_base_update_toolbar': (self.update_button_state, + None)} self.controls = [] @log_calls('GuiForMePlugin') @@ -34,6 +36,13 @@ class GuiForMe(GajimPlugin): control.disconnect_from_chat_control() self.controls = [] + @log_calls('GuiForMePlugin') + def update_button_state(self, chat_control): + for base in self.controls: + if base.chat_control != chat_control: + continue + base.button.set_sensitive(chat_control.msg_textview.get_sensitive()) + class Base(object): def __init__(self, plugin, chat_control): diff --git a/gui_for_me/manifest.ini b/gui_for_me/manifest.ini index 8591a259..0b29a4cc 100644 --- a/gui_for_me/manifest.ini +++ b/gui_for_me/manifest.ini @@ -1,7 +1,7 @@ [info] name: GUI For Me short_name: gui_for_me -version: 0.1 +version: 0.2 description: Gui for the '/me' command. authors: BomberMan copper diff --git a/quick_replies/manifest.ini b/quick_replies/manifest.ini index c05b41c5..6f1c8f92 100644 --- a/quick_replies/manifest.ini +++ b/quick_replies/manifest.ini @@ -1,7 +1,7 @@ [info] name: Quick replies short_name: quick_replies -version: 0.0.1 +version: 0.0.2 description: Plugin for quick insert template message and add your own template messages authors = Evgeniy Popov <evgeniypopov@gmail.com> homepage = http://trac-plugins.gajim.org/wiki/QuickRepliesPlugin diff --git a/quick_replies/plugin.py b/quick_replies/plugin.py index 185781c2..f0650bb9 100644 --- a/quick_replies/plugin.py +++ b/quick_replies/plugin.py @@ -16,7 +16,9 @@ class QuickRepliesPlugin(GajimPlugin): self.chat_control = None self.gui_extension_points = { 'chat_control_base': (self.connect_with_chat_control, - self.disconnect_from_chat_control), } + self.disconnect_from_chat_control), + 'chat_control_base_update_toolbar': (self.update_button_state, + None)} self.config_default_values = { 'entry1': ('Hello!', ''), 'entry2': ('How are you?', ''), @@ -45,6 +47,13 @@ class QuickRepliesPlugin(GajimPlugin): control.disconnect_from_chat_control() self.controls = [] + @log_calls('GuiForMePlugin') + def update_button_state(self, chat_control): + for base in self.controls: + if base.chat_control != chat_control: + continue + base.button.set_sensitive(chat_control.msg_textview.get_sensitive()) + class Base(object): -- GitLab