diff --git a/src/chat_control.py b/src/chat_control.py index 8cf50b0bf46f14ab45df380eea9d678faa8f3269..16cba7ae39b48b39344da0b61fcdb2987192fd41 100644 --- a/src/chat_control.py +++ b/src/chat_control.py @@ -49,8 +49,8 @@ from common.contacts import GC_Contact from common.logger import Constants constants = Constants() from common.pep import MOODS, ACTIVITIES -from common.xmpp.protocol import NS_XHTML, NS_FILE, NS_MUC, NS_RECEIPTS -from common.xmpp.protocol import NS_ESESSION +from common.xmpp.protocol import NS_XHTML, NS_XHTML_IM, NS_FILE, NS_MUC +from common.xmpp.protocol import NS_RECEIPTS, NS_ESESSION try: import gtkspell @@ -1061,13 +1061,18 @@ class ChatControlBase(MessageControl): def got_connected(self): self.msg_textview.set_sensitive(True) self.msg_textview.set_editable(True) + # FIXME: This seems wrong. What if we have caps? + self.xml.get_widget('formattings_button').set_sensitive(True) self.xml.get_widget('send_button').set_sensitive(True) + self.xml.get_widget('convert_to_gc_button').set_sensitive(True) def got_disconnected(self): self.msg_textview.set_sensitive(False) self.msg_textview.set_editable(False) self.conv_textview.tv.grab_focus() + self.xml.get_widget('formattings_button').set_sensitive(False) self.xml.get_widget('send_button').set_sensitive(False) + self.xml.get_widget('convert_to_gc_button').set_sensitive(False) ################################################################################ class ChatControl(ChatControlBase): @@ -1086,6 +1091,8 @@ class ChatControl(ChatControlBase): id = self.actions_button.connect('clicked', self.on_actions_button_clicked) self.handlers[id] = self.actions_button + self._formattings_button = self.xml.get_widget('formattings_button') + self._add_to_roster_button = self.xml.get_widget( 'add_to_roster_button') id = self._add_to_roster_button.connect('clicked', @@ -1232,6 +1239,12 @@ class ChatControl(ChatControlBase): self.msg_textview.grab_focus() def update_toolbar(self): + # Formatting + if gajim.capscache.is_supported(self.contact, NS_XHTML_IM): + self._formattings_button.set_sensitive(True) + else: + self._formattings_button.set_sensitive(False) + # Add to roster if not isinstance(self.contact, GC_Contact) \ and _('Not in Roster') in self.contact.groups: