Only display the supported features when they change
also, check the features every rejoin for PrivateTabs and refresh the window after displaying the features
This commit is contained in:
parent
a1f86720d1
commit
2dafd6d5cf
2 changed files with 12 additions and 0 deletions
|
@ -714,6 +714,8 @@ class OneToOneTab(ChatTab):
|
|||
def __init__(self, jid=''):
|
||||
ChatTab.__init__(self, jid)
|
||||
|
||||
# Set to true once the first disco is done
|
||||
self.__initial_disco = False
|
||||
# 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
|
||||
|
@ -803,10 +805,18 @@ class OneToOneTab(ChatTab):
|
|||
"Features check callback"
|
||||
features = iq['disco_info'].get_features() or []
|
||||
log.debug('\n\nFEATURES:\n%s\n\n%s\n\n', iq, features)
|
||||
before = ('correct' in self.commands,
|
||||
self.remote_supports_attention,
|
||||
self.remote_supports_receipts)
|
||||
correct = self._feature_correct(features)
|
||||
attention = self._feature_attention(features)
|
||||
receipts = self._feature_receipts(features)
|
||||
|
||||
if (correct, attention, receipts) == before and self.__initial_disco:
|
||||
return
|
||||
else:
|
||||
self.__initial_disco = True
|
||||
|
||||
features = []
|
||||
if correct:
|
||||
features.append(_('message correction (/correct)'))
|
||||
|
@ -826,5 +836,6 @@ class OneToOneTab(ChatTab):
|
|||
color = dump_tuple(get_theme().COLOR_INFORMATION_TEXT)
|
||||
msg = msg % (color, features_str)
|
||||
self.add_message(msg, typ=0)
|
||||
self.core.refresh_window()
|
||||
|
||||
|
||||
|
|
|
@ -331,6 +331,7 @@ class PrivateTab(OneToOneTab):
|
|||
The user (or at least someone with the same nick) came back in the MUC
|
||||
"""
|
||||
self.activate()
|
||||
self.check_features()
|
||||
tab = self.core.get_tab_by_name(safeJID(self.name).bare, MucTab)
|
||||
color = 3
|
||||
if tab and config.get_by_tabname('display_user_color_in_join_part', '', self.general_jid, True):
|
||||
|
|
Loading…
Reference in a new issue