show only what has really changed, in the change-status-messages. fixed #1473
This commit is contained in:
parent
d03ce7e869
commit
9456f7fc35
2 changed files with 21 additions and 8 deletions
25
src/gui.py
25
src/gui.py
|
@ -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()
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue