summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tabs/basetabs.py24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/tabs/basetabs.py b/src/tabs/basetabs.py
index 9c74c239..81a14253 100644
--- a/src/tabs/basetabs.py
+++ b/src/tabs/basetabs.py
@@ -710,11 +710,33 @@ class OneToOneTab(ChatTab):
# change this to True or False when
# we know that the remote user wants chatstates, or not.
# None means we don’t know yet, and we send only "active" chatstates
- self.remote_wants_chatstates = None
+ self._remote_wants_chatstates = None
self.remote_supports_attention = True
self.remote_supports_receipts = True
self.check_features()
+ @property
+ def remote_wants_chatstates(self):
+ return self._remote_wants_chatstates
+
+ @remote_wants_chatstates.setter
+ def remote_wants_chatstates(self, value):
+ old_value = self._remote_wants_chatstates
+ self._remote_wants_chatstates = value
+ if (old_value is None and value != None) or \
+ (old_value != value and value != None):
+ ok = get_theme().CHAR_OK
+ nope = get_theme().CHAR_EMPTY
+ support = ok if value else nope
+ if value:
+ msg = _('\x19%s}Contact supports chat states [%s].')
+ else:
+ msg = _('\x19%s}Contact does not support chat states [%s].')
+ color = dump_tuple(get_theme().COLOR_INFORMATION_TEXT)
+ msg = msg % (color, support)
+ self.add_message(msg, typ=0)
+ self.core.refresh_window()
+
def ack_message(self, msg_id):
"""
Ack a message