From 2668df740bd62945df3df5a42d4f39fcc740000a Mon Sep 17 00:00:00 2001 From: mathieui Date: Sun, 9 Jun 2013 15:36:50 +0200 Subject: Fix #1892 (keep the contact selected in the roster) --- src/windows.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/windows.py') diff --git a/src/windows.py b/src/windows.py index d046ddd7..33d7f55e 100644 --- a/src/windows.py +++ b/src/windows.py @@ -1829,6 +1829,8 @@ class RosterWin(Win): for resource in contact.get_resources(): self.roster_cache.append(resource) roster.last_built = datetime.now() + if self.selected_row in self.roster_cache: + self.pos = self.roster_cache.index(self.selected_row) def refresh(self, roster): """ @@ -1846,6 +1848,8 @@ class RosterWin(Win): y = 1 group = "none" # draw the roster from the cache + if self.start_pos+self.height < self.pos: + self.start_pos = self.pos - (self.height//2) for item in self.roster_cache[self.start_pos-1:self.start_pos+self.height]: draw_selected = False -- cgit v1.2.3