diff options
author | Florent Le Coz <louiz@louiz.org> | 2011-04-18 03:34:51 +0200 |
---|---|---|
committer | Florent Le Coz <louiz@louiz.org> | 2011-04-18 03:34:51 +0200 |
commit | d913e715133756bcab123b2373b25a905707042f (patch) | |
tree | dbf4d3fc2eab6110237b4c48d192336d6a8c41cb /src/core.py | |
parent | 3aa6e891a5be995f39b4364f8fe525ef9db6262b (diff) | |
download | poezio-d913e715133756bcab123b2373b25a905707042f.tar.gz poezio-d913e715133756bcab123b2373b25a905707042f.tar.bz2 poezio-d913e715133756bcab123b2373b25a905707042f.tar.xz poezio-d913e715133756bcab123b2373b25a905707042f.zip |
Refresh optimization on chatstates
Diffstat (limited to 'src/core.py')
-rw-r--r-- | src/core.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/core.py b/src/core.py index 861e9144..65bd59be 100644 --- a/src/core.py +++ b/src/core.py @@ -298,7 +298,8 @@ class Core(object): return False tab.chatstate = state if tab == self.current_tab(): - self.refresh_window() + tab.refresh_info_header() + self.doupdate() return True def on_chatstate_private_conversation(self, message, state): @@ -307,7 +308,8 @@ class Core(object): return tab.chatstate = state if tab == self.current_tab(): - self.refresh_window() + tab.refresh_info_header() + self.doupdate() return True def on_chatstate_groupchat_conversation(self, message, state): @@ -317,7 +319,9 @@ class Core(object): if tab and tab.get_room() and tab.get_room().get_user_by_name(nick): tab.get_room().get_user_by_name(nick).chatstate = state if tab == self.current_tab(): - self.refresh_window() + tab.user_win.refresh(tab._room.users) + tab.input.refresh() + self.doupdate() def open_new_form(self, form, on_cancel, on_send, **kwargs): """ @@ -510,7 +514,7 @@ class Core(object): if conversation is self.current_tab(): self.refresh_window() else: - self.current_tab().tab_win.refresh() + self.refresh_tab_win() def focus_tab_named(self, tab_name): for tab in self.tabs: @@ -558,7 +562,7 @@ class Core(object): logger.log_message(jid.bare, remote_nick, body) if self.current_tab() is not conversation: conversation.set_color_state(theme.COLOR_TAB_PRIVATE) - self.current_tab().tab_win.refresh() + self.refresh_tab_win() else: self.refresh_window() @@ -1434,5 +1438,4 @@ class Core(object): def doupdate(self): if not self.running: return - self.current_tab().just_before_refresh() curses.doupdate() |