From 27d85a0961f7aad312538213f68862e2db09726b Mon Sep 17 00:00:00 2001 From: mathieui Date: Sun, 3 Feb 2013 23:31:27 +0100 Subject: Fix the folding of contacts in multiple groups (add a defaultdict to keep the folded state in each group) --- src/tabs.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/tabs.py') diff --git a/src/tabs.py b/src/tabs.py index 609c57c0..a74dcd69 100644 --- a/src/tabs.py +++ b/src/tabs.py @@ -2777,10 +2777,22 @@ class RosterInfoTab(Tab): if isinstance(self.input, windows.Input): return selected_row = self.roster_win.get_selected_row() - if isinstance(selected_row, RosterGroup) or\ - isinstance(selected_row, Contact): + if isinstance(selected_row, RosterGroup): selected_row.toggle_folded() return True + elif isinstance(selected_row, Contact): + group = "none" + found_group = False + pos = self.roster_win.pos + while not found_group and pos >= 0: + row = self.roster_win.roster_cache[pos] + pos -= 1 + log.debug(row) + if isinstance(row, RosterGroup): + found_group = True + group = row.name + selected_row.toggle_folded(group) + return True return False def get_contact_version(self): -- cgit v1.2.3