mirror of
https://github.com/veeso/termscp.git
synced 2025-12-07 09:36:00 -08:00
PageUp/PageDown for explorer TAB
This commit is contained in:
@@ -877,6 +877,23 @@ impl FileTransferActivity {
|
|||||||
self.local.index += 1;
|
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 => {
|
KeyCode::Enter => {
|
||||||
// Match selected file
|
// Match selected file
|
||||||
let local_files: Vec<FsEntry> = self.local.files.clone();
|
let local_files: Vec<FsEntry> = self.local.files.clone();
|
||||||
@@ -1026,6 +1043,23 @@ impl FileTransferActivity {
|
|||||||
self.remote.index += 1;
|
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 => {
|
KeyCode::Enter => {
|
||||||
// Match selected file
|
// Match selected file
|
||||||
let files: Vec<FsEntry> = self.remote.files.clone();
|
let files: Vec<FsEntry> = self.remote.files.clone();
|
||||||
@@ -2032,102 +2066,134 @@ impl FileTransferActivity {
|
|||||||
let cmds: Vec<ListItem> = vec![
|
let cmds: Vec<ListItem> = vec![
|
||||||
ListItem::new(Spans::from(vec![
|
ListItem::new(Spans::from(vec![
|
||||||
Span::styled(
|
Span::styled(
|
||||||
"<ESC> ",
|
"<ESC>",
|
||||||
Style::default()
|
Style::default()
|
||||||
.bg(Color::Cyan)
|
.bg(Color::Cyan)
|
||||||
.fg(Color::White)
|
.fg(Color::White)
|
||||||
.add_modifier(Modifier::BOLD),
|
.add_modifier(Modifier::BOLD),
|
||||||
),
|
),
|
||||||
|
Span::raw(" "),
|
||||||
Span::raw("quit"),
|
Span::raw("quit"),
|
||||||
])),
|
])),
|
||||||
ListItem::new(Spans::from(vec![
|
ListItem::new(Spans::from(vec![
|
||||||
Span::styled(
|
Span::styled(
|
||||||
"<TAB> ",
|
"<TAB>",
|
||||||
Style::default()
|
Style::default()
|
||||||
.bg(Color::Cyan)
|
.bg(Color::Cyan)
|
||||||
.fg(Color::White)
|
.fg(Color::White)
|
||||||
.add_modifier(Modifier::BOLD),
|
.add_modifier(Modifier::BOLD),
|
||||||
),
|
),
|
||||||
|
Span::raw(" "),
|
||||||
Span::raw("change input field"),
|
Span::raw("change input field"),
|
||||||
])),
|
])),
|
||||||
ListItem::new(Spans::from(vec![
|
ListItem::new(Spans::from(vec![
|
||||||
Span::styled(
|
Span::styled(
|
||||||
"<RIGHT/LEFT> ",
|
"<RIGHT/LEFT>",
|
||||||
Style::default()
|
Style::default()
|
||||||
.bg(Color::Cyan)
|
.bg(Color::Cyan)
|
||||||
.fg(Color::White)
|
.fg(Color::White)
|
||||||
.add_modifier(Modifier::BOLD),
|
.add_modifier(Modifier::BOLD),
|
||||||
),
|
),
|
||||||
|
Span::raw(" "),
|
||||||
Span::raw("change explorer tab"),
|
Span::raw("change explorer tab"),
|
||||||
])),
|
])),
|
||||||
ListItem::new(Spans::from(vec![
|
ListItem::new(Spans::from(vec![
|
||||||
Span::styled(
|
Span::styled(
|
||||||
"<ENTER> ",
|
"<UP/DOWN>",
|
||||||
Style::default()
|
Style::default()
|
||||||
.bg(Color::Cyan)
|
.bg(Color::Cyan)
|
||||||
.fg(Color::White)
|
.fg(Color::White)
|
||||||
.add_modifier(Modifier::BOLD),
|
.add_modifier(Modifier::BOLD),
|
||||||
),
|
),
|
||||||
|
Span::raw(" "),
|
||||||
|
Span::raw("move up/down in list"),
|
||||||
|
])),
|
||||||
|
ListItem::new(Spans::from(vec![
|
||||||
|
Span::styled(
|
||||||
|
"<PAGEUP/PAGEDOWN>",
|
||||||
|
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(
|
||||||
|
"<ENTER>",
|
||||||
|
Style::default()
|
||||||
|
.bg(Color::Cyan)
|
||||||
|
.fg(Color::White)
|
||||||
|
.add_modifier(Modifier::BOLD),
|
||||||
|
),
|
||||||
|
Span::raw(" "),
|
||||||
Span::raw("enter directory"),
|
Span::raw("enter directory"),
|
||||||
])),
|
])),
|
||||||
ListItem::new(Spans::from(vec![
|
ListItem::new(Spans::from(vec![
|
||||||
Span::styled(
|
Span::styled(
|
||||||
"<SPACE> ",
|
"<SPACE>",
|
||||||
Style::default()
|
Style::default()
|
||||||
.bg(Color::Cyan)
|
.bg(Color::Cyan)
|
||||||
.fg(Color::White)
|
.fg(Color::White)
|
||||||
.add_modifier(Modifier::BOLD),
|
.add_modifier(Modifier::BOLD),
|
||||||
),
|
),
|
||||||
|
Span::raw(" "),
|
||||||
Span::raw("upload/download file"),
|
Span::raw("upload/download file"),
|
||||||
])),
|
])),
|
||||||
ListItem::new(Spans::from(vec![
|
ListItem::new(Spans::from(vec![
|
||||||
Span::styled(
|
Span::styled(
|
||||||
"<CTRL+D> ",
|
"<CTRL+D>",
|
||||||
Style::default()
|
Style::default()
|
||||||
.bg(Color::Cyan)
|
.bg(Color::Cyan)
|
||||||
.fg(Color::White)
|
.fg(Color::White)
|
||||||
.add_modifier(Modifier::BOLD),
|
.add_modifier(Modifier::BOLD),
|
||||||
),
|
),
|
||||||
|
Span::raw(" "),
|
||||||
Span::raw("make directory"),
|
Span::raw("make directory"),
|
||||||
])),
|
])),
|
||||||
ListItem::new(Spans::from(vec![
|
ListItem::new(Spans::from(vec![
|
||||||
Span::styled(
|
Span::styled(
|
||||||
"<CTRL+G> ",
|
"<CTRL+G>",
|
||||||
Style::default()
|
Style::default()
|
||||||
.bg(Color::Cyan)
|
.bg(Color::Cyan)
|
||||||
.fg(Color::White)
|
.fg(Color::White)
|
||||||
.add_modifier(Modifier::BOLD),
|
.add_modifier(Modifier::BOLD),
|
||||||
),
|
),
|
||||||
|
Span::raw(" "),
|
||||||
Span::raw("goto path"),
|
Span::raw("goto path"),
|
||||||
])),
|
])),
|
||||||
ListItem::new(Spans::from(vec![
|
ListItem::new(Spans::from(vec![
|
||||||
Span::styled(
|
Span::styled(
|
||||||
"<CTRL+R> ",
|
"<CTRL+R>",
|
||||||
Style::default()
|
Style::default()
|
||||||
.bg(Color::Cyan)
|
.bg(Color::Cyan)
|
||||||
.fg(Color::White)
|
.fg(Color::White)
|
||||||
.add_modifier(Modifier::BOLD),
|
.add_modifier(Modifier::BOLD),
|
||||||
),
|
),
|
||||||
|
Span::raw(" "),
|
||||||
Span::raw("rename file"),
|
Span::raw("rename file"),
|
||||||
])),
|
])),
|
||||||
ListItem::new(Spans::from(vec![
|
ListItem::new(Spans::from(vec![
|
||||||
Span::styled(
|
Span::styled(
|
||||||
"<CTRL+U> ",
|
"<CTRL+U>",
|
||||||
Style::default()
|
Style::default()
|
||||||
.bg(Color::Cyan)
|
.bg(Color::Cyan)
|
||||||
.fg(Color::White)
|
.fg(Color::White)
|
||||||
.add_modifier(Modifier::BOLD),
|
.add_modifier(Modifier::BOLD),
|
||||||
),
|
),
|
||||||
|
Span::raw(" "),
|
||||||
Span::raw("go to parent directory"),
|
Span::raw("go to parent directory"),
|
||||||
])),
|
])),
|
||||||
ListItem::new(Spans::from(vec![
|
ListItem::new(Spans::from(vec![
|
||||||
Span::styled(
|
Span::styled(
|
||||||
"<CANC> ",
|
"<CANC>",
|
||||||
Style::default()
|
Style::default()
|
||||||
.bg(Color::Cyan)
|
.bg(Color::Cyan)
|
||||||
.fg(Color::White)
|
.fg(Color::White)
|
||||||
.add_modifier(Modifier::BOLD),
|
.add_modifier(Modifier::BOLD),
|
||||||
),
|
),
|
||||||
|
Span::raw(" "),
|
||||||
Span::raw("delete file"),
|
Span::raw("delete file"),
|
||||||
])),
|
])),
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user