From c8a2419a4f99cba9adf5afdc88bfb1cfb4548df3 Mon Sep 17 00:00:00 2001 From: ChristianVisintin Date: Mon, 30 Nov 2020 14:12:19 +0100 Subject: [PATCH] PageUp/PageDown for explorer TAB --- src/ui/activities/filetransfer_activity.rs | 86 +++++++++++++++++++--- 1 file changed, 76 insertions(+), 10 deletions(-) diff --git a/src/ui/activities/filetransfer_activity.rs b/src/ui/activities/filetransfer_activity.rs index 6506bc4..ec14d01 100644 --- a/src/ui/activities/filetransfer_activity.rs +++ b/src/ui/activities/filetransfer_activity.rs @@ -877,6 +877,23 @@ impl FileTransferActivity { self.local.index += 1; } } + KeyCode::PageUp => { + // Move index up (fast) + if self.local.index > 8 { + self.local.index = self.local.index - 8; // Decrease by `8` if possible + } else { + self.local.index = 0; // Set to 0 otherwise + } + } + KeyCode::PageDown => { + // Move index down (fast) + if self.local.index + 8 >= self.local.files.len() { + // If overflows, set to size + self.local.index = self.local.files.len() - 1; + } else { + self.local.index = self.local.index + 8; // Increase by `8` + } + } KeyCode::Enter => { // Match selected file let local_files: Vec = self.local.files.clone(); @@ -1026,6 +1043,23 @@ impl FileTransferActivity { self.remote.index += 1; } } + KeyCode::PageUp => { + // Move index up (fast) + if self.remote.index > 8 { + self.remote.index = self.remote.index - 8; // Decrease by `8` if possible + } else { + self.remote.index = 0; // Set to 0 otherwise + } + } + KeyCode::PageDown => { + // Move index down (fast) + if self.remote.index + 8 >= self.remote.files.len() { + // If overflows, set to size + self.remote.index = self.remote.files.len() - 1; + } else { + self.remote.index = self.remote.index + 8; // Increase by `8` + } + } KeyCode::Enter => { // Match selected file let files: Vec = self.remote.files.clone(); @@ -2032,102 +2066,134 @@ impl FileTransferActivity { let cmds: Vec = vec![ ListItem::new(Spans::from(vec![ Span::styled( - " ", + "", Style::default() .bg(Color::Cyan) .fg(Color::White) .add_modifier(Modifier::BOLD), ), + Span::raw(" "), Span::raw("quit"), ])), ListItem::new(Spans::from(vec![ Span::styled( - " ", + "", Style::default() .bg(Color::Cyan) .fg(Color::White) .add_modifier(Modifier::BOLD), ), + Span::raw(" "), Span::raw("change input field"), ])), ListItem::new(Spans::from(vec![ Span::styled( - " ", + "", Style::default() .bg(Color::Cyan) .fg(Color::White) .add_modifier(Modifier::BOLD), ), + Span::raw(" "), Span::raw("change explorer tab"), ])), ListItem::new(Spans::from(vec![ Span::styled( - " ", + "", Style::default() .bg(Color::Cyan) .fg(Color::White) .add_modifier(Modifier::BOLD), ), + Span::raw(" "), + Span::raw("move up/down in list"), + ])), + ListItem::new(Spans::from(vec![ + Span::styled( + "", + Style::default() + .bg(Color::Cyan) + .fg(Color::White) + .add_modifier(Modifier::BOLD), + ), + Span::raw(" "), + Span::raw("scroll up/down in list quickly"), + ])), + ListItem::new(Spans::from(vec![ + Span::styled( + "", + Style::default() + .bg(Color::Cyan) + .fg(Color::White) + .add_modifier(Modifier::BOLD), + ), + Span::raw(" "), Span::raw("enter directory"), ])), ListItem::new(Spans::from(vec![ Span::styled( - " ", + "", Style::default() .bg(Color::Cyan) .fg(Color::White) .add_modifier(Modifier::BOLD), ), + Span::raw(" "), Span::raw("upload/download file"), ])), ListItem::new(Spans::from(vec![ Span::styled( - " ", + "", Style::default() .bg(Color::Cyan) .fg(Color::White) .add_modifier(Modifier::BOLD), ), + Span::raw(" "), Span::raw("make directory"), ])), ListItem::new(Spans::from(vec![ Span::styled( - " ", + "", Style::default() .bg(Color::Cyan) .fg(Color::White) .add_modifier(Modifier::BOLD), ), + Span::raw(" "), Span::raw("goto path"), ])), ListItem::new(Spans::from(vec![ Span::styled( - " ", + "", Style::default() .bg(Color::Cyan) .fg(Color::White) .add_modifier(Modifier::BOLD), ), + Span::raw(" "), Span::raw("rename file"), ])), ListItem::new(Spans::from(vec![ Span::styled( - " ", + "", Style::default() .bg(Color::Cyan) .fg(Color::White) .add_modifier(Modifier::BOLD), ), + Span::raw(" "), Span::raw("go to parent directory"), ])), ListItem::new(Spans::from(vec![ Span::styled( - " ", + "", Style::default() .bg(Color::Cyan) .fg(Color::White) .add_modifier(Modifier::BOLD), ), + Span::raw(" "), Span::raw("delete file"), ])), ];