ui: restore Page{Up,Dn} to Pager

When issuing PageUp and PageDn actions to an e-mail pager in
CompactListing, the input action was handled by listing and not the
pager which led to the keys get seemingly ignored.
embed
Manos Pitsidianakis 2019-07-12 12:38:47 +03:00
parent 8ab79d5829
commit 0925f2a439
Signed by: Manos Pitsidianakis
GPG Key ID: 73627C2F690DF710
1 changed files with 4 additions and 2 deletions

View File

@ -499,29 +499,31 @@ impl Component for Pager {
self.cursor_pos -= 1; self.cursor_pos -= 1;
self.dirty = true; self.dirty = true;
} }
return true;
} }
UIEvent::Input(ref key) if *key == shortcuts["scroll_down"] => { UIEvent::Input(ref key) if *key == shortcuts["scroll_down"] => {
if self.height > 0 && self.cursor_pos + 1 < self.height { if self.height > 0 && self.cursor_pos + 1 < self.height {
self.cursor_pos += 1; self.cursor_pos += 1;
self.dirty = true; self.dirty = true;
} }
return true;
} }
UIEvent::Input(ref key) if *key == shortcuts["page_up"] => { UIEvent::Input(ref key) if *key == shortcuts["page_up"] => {
self.movement = Some(PageMovement::PageUp); self.movement = Some(PageMovement::PageUp);
self.dirty = true; self.dirty = true;
return true;
} }
UIEvent::Input(ref key) if *key == shortcuts["page_down"] => { UIEvent::Input(ref key) if *key == shortcuts["page_down"] => {
self.movement = Some(PageMovement::PageDown); self.movement = Some(PageMovement::PageDown);
self.dirty = true; self.dirty = true;
return true;
} }
UIEvent::ChangeMode(UIMode::Normal) => { UIEvent::ChangeMode(UIMode::Normal) => {
self.dirty = true; self.dirty = true;
return false;
} }
UIEvent::Resize => { UIEvent::Resize => {
self.dirty = true; self.dirty = true;
self.max_cursor_pos = None; self.max_cursor_pos = None;
return false;
} }
_ => {} _ => {}
} }