ui: handle ViewMailbox in listing.rs

handling viewmailbox inside a listing instead of their parent/manager
component is a leftover from before they even had a parent/manager.
async
Manos Pitsidianakis 2020-02-08 23:44:17 +02:00
parent 647cb10b33
commit 22fb0c0844
Signed by: Manos Pitsidianakis
GPG Key ID: 73627C2F690DF710
5 changed files with 17 additions and 52 deletions

View File

@ -639,6 +639,19 @@ impl Component for Listing {
self.component.set_dirty(true);
return true;
}
Action::ViewMailbox(idx) => {
if let Some((_, folder_hash)) =
self.accounts[self.cursor_pos.0].entries.get(*idx)
{
self.cursor_pos.1 = *idx;
self.component
.set_coordinates((self.cursor_pos.0, *folder_hash));
self.set_dirty(true);
} else {
return true;
}
return true;
}
_ => {}
},
UIEvent::ChangeMode(UIMode::Normal) => {

View File

@ -1353,19 +1353,6 @@ impl Component for CompactListing {
return true;
}
UIEvent::Action(ref action) => match action {
Action::ViewMailbox(idx) => {
if context.accounts[self.cursor_pos.0]
.folders_order
.get(*idx)
.is_none()
{
return true;
}
self.filtered_selection.clear();
self.new_cursor_pos.1 = *idx;
self.refresh_mailbox(context, false);
return true;
}
Action::Listing(Filter(ref filter_term)) if !self.unfocused => {
self.filter(filter_term, context);
self.dirty = true;

View File

@ -1290,19 +1290,6 @@ impl Component for ConversationsListing {
self.dirty = true;
}
UIEvent::Action(ref action) => match action {
Action::ViewMailbox(idx) => {
if context.accounts[self.cursor_pos.0]
.folders_order
.get(*idx)
.is_none()
{
return true;
}
self.set_coordinates((self.new_cursor_pos.0, *idx));
self.refresh_mailbox(context, false);
return true;
}
Action::Listing(Filter(ref filter_term)) if !self.unfocused => {
self.filter(filter_term, context);
self.dirty = true;

View File

@ -1180,26 +1180,10 @@ impl Component for PlainListing {
self.refresh_mailbox(context, false);
return true;
}
UIEvent::Action(ref action) => match action {
Action::ViewMailbox(idx) => {
if context.accounts[self.cursor_pos.0]
.folders_order
.get(*idx)
.is_none()
{
return true;
}
self.filtered_selection.clear();
self.new_cursor_pos.1 = *idx;
self.refresh_mailbox(context, false);
return true;
}
Action::Listing(Filter(ref filter_term)) if !self.unfocused => {
self.filter(filter_term, context);
self.dirty = true;
}
_ => {}
},
UIEvent::Action(Action::Listing(Filter(ref filter_term))) if !self.unfocused => {
self.filter(filter_term, context);
self.dirty = true;
}
_ => {}
}
false

View File

@ -661,12 +661,6 @@ impl Component for ThreadListing {
self.dirty = true;
}
UIEvent::Action(ref action) => match action {
Action::ViewMailbox(idx_m) => {
self.new_cursor_pos.1 = *idx_m;
self.dirty = true;
self.refresh_mailbox(context, false);
return true;
}
Action::SubSort(field, order) => {
debug!("SubSort {:?} , {:?}", field, order);
self.subsort = (*field, *order);