diff options
Diffstat (limited to 'ui/src/components/mail.rs')
-rw-r--r-- | ui/src/components/mail.rs | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/ui/src/components/mail.rs b/ui/src/components/mail.rs index 0bfcbb59..f57fcf50 100644 --- a/ui/src/components/mail.rs +++ b/ui/src/components/mail.rs @@ -146,7 +146,7 @@ impl AccountMenu { return; } let len = s.len(); - match context.accounts[index].status(root) { + match context.accounts[index].status(entries[root].1.hash()) { Ok(_) => {} Err(_) => { return; @@ -263,10 +263,17 @@ impl Component for AccountMenu { context.dirty_areas.push_back(area); } - fn process_event(&mut self, event: &mut UIEvent, _context: &mut Context) -> bool { + fn process_event(&mut self, event: &mut UIEvent, context: &mut Context) -> bool { match *event { - UIEvent::RefreshMailbox(c) => { - self.cursor = Some(c); + UIEvent::RefreshMailbox((idxa, folder_hash)) => { + self.cursor = Some(( + idxa, + context.accounts[idxa] + .folders_order + .iter() + .position(|&h| h == folder_hash) + .unwrap_or(0), + )); self.dirty = true; } UIEvent::ChangeMode(UIMode::Normal) => { |