diff options
author | louiz@4325f9fc-e183-4c21-96ce-0ab188b42d13 <louiz@4325f9fc-e183-4c21-96ce-0ab188b42d13> | 2010-06-13 01:50:28 +0000 |
---|---|---|
committer | louiz@4325f9fc-e183-4c21-96ce-0ab188b42d13 <louiz@4325f9fc-e183-4c21-96ce-0ab188b42d13> | 2010-06-13 01:50:28 +0000 |
commit | 9456f7fc35538f98414eeac8e11745672317692c (patch) | |
tree | 740eaeaa066efe6e5cea869a3760f0876b8071a2 /src | |
parent | d03ce7e869efdec9efed855a73539b33027a52c8 (diff) | |
download | poezio-9456f7fc35538f98414eeac8e11745672317692c.tar.gz poezio-9456f7fc35538f98414eeac8e11745672317692c.tar.bz2 poezio-9456f7fc35538f98414eeac8e11745672317692c.tar.xz poezio-9456f7fc35538f98414eeac8e11745672317692c.zip |
show only what has really changed, in the change-status-messages. fixed #1473
Diffstat (limited to 'src')
-rw-r--r-- | src/gui.py | 25 | ||||
-rw-r--r-- | src/user.py | 4 |
2 files changed, 21 insertions, 8 deletions
@@ -388,12 +388,29 @@ class Gui(object): self.add_message_to_room(room, _('%s has left the room') % (from_nick)) # status change else: - user.update(affiliation, show, status, role) hide_status_change = config.get('hide_status_change', -1) if config.get('hide_status_change', -1) >= -1 else -1 - if hide_status_change == -1 or \ + if (hide_status_change == -1 or \ user.has_talked_since(hide_status_change) or\ - user.nick == room.own_nick: - self.add_message_to_room(room, _('%(nick)s changed his/her status : %(a)s, %(b)s, %(c)s, %(d)s') % {'nick':from_nick, 'a':affiliation, 'b':role, 'c':show, 'd':status}) + user.nick == room.own_nick)\ + and\ + (affiliation != user.affiliation or\ + role != user.role or\ + show != user.show or\ + status != user.status): + msg = _('%s changed his/her status: ')% from_nick + if affiliation != user.affiliation: + msg += _('affiliation: %s,') % affiliation + if role != user.role: + msg += _('role: %s,') % role + if show != user.show: + msg += _('show: %s,') % show + if status != user.status: + msg += _('status: %s,') % status + # (a)s, %(b)s, %(c)s, %(d)s') % {'nick':from_nick, 'a':affiliation, 'b':role, 'c':show, 'd':status}) + user.update(affiliation, show, status, role) + msg = msg[:-1] # remove the last "," + self.add_message_to_room(room, msg) + if room == self.current_room(): self.window.user_win.refresh(room.users) self.window.input.refresh() diff --git a/src/user.py b/src/user.py index 6dc87c73..6f0f3328 100644 --- a/src/user.py +++ b/src/user.py @@ -52,14 +52,10 @@ class User(object): Return True if the user talked since the last s seconds """ from common import debug - debug('anus===========\n') if self.last_talked is None: - debug('return False1\n') return False delta = timedelta(0, t) debug("Last talk: %s\nDelai:%s\nDelta:%s\n" % (str(self.last_talked), str(t), str(delta))) if datetime.now() - delta > self.last_talked: - debug('return False2\n') return False - debug('return True') return True |