various: simplify code; work on security and performance
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I9a5114addcab5fbff430ab2b919b83466a6a6964
This commit is contained in:
parent
016841b200
commit
c4adc4e3e0
75 changed files with 12921 additions and 358 deletions
|
|
@ -36,6 +36,11 @@ pub enum Action {
|
|||
TagMedia,
|
||||
UntagMedia,
|
||||
Help,
|
||||
Edit,
|
||||
Vacuum,
|
||||
Toggle,
|
||||
RunNow,
|
||||
Save,
|
||||
Char(char),
|
||||
Backspace,
|
||||
None,
|
||||
|
|
@ -43,11 +48,15 @@ pub enum Action {
|
|||
|
||||
pub fn handle_key(key: KeyEvent, in_input_mode: bool, current_view: &View) -> Action {
|
||||
if in_input_mode {
|
||||
match key.code {
|
||||
KeyCode::Esc => Action::Back,
|
||||
KeyCode::Enter => Action::Select,
|
||||
KeyCode::Char(c) => Action::Char(c),
|
||||
KeyCode::Backspace => Action::Backspace,
|
||||
match (key.code, key.modifiers) {
|
||||
(KeyCode::Esc, _) => Action::Back,
|
||||
(KeyCode::Enter, _) => Action::Select,
|
||||
(KeyCode::Char('s'), KeyModifiers::CONTROL) => match current_view {
|
||||
View::MetadataEdit => Action::Save,
|
||||
_ => Action::Select,
|
||||
},
|
||||
(KeyCode::Char(c), _) => Action::Char(c),
|
||||
(KeyCode::Backspace, _) => Action::Backspace,
|
||||
_ => Action::None,
|
||||
}
|
||||
} else {
|
||||
|
|
@ -70,10 +79,13 @@ pub fn handle_key(key: KeyEvent, in_input_mode: bool, current_view: &View) -> Ac
|
|||
},
|
||||
(KeyCode::Char('o'), _) => Action::Open,
|
||||
(KeyCode::Char('e'), _) => match current_view {
|
||||
View::Detail => Action::Select,
|
||||
View::Detail => Action::Edit,
|
||||
_ => Action::None,
|
||||
},
|
||||
(KeyCode::Char('t'), _) => Action::TagView,
|
||||
(KeyCode::Char('t'), _) => match current_view {
|
||||
View::Tasks => Action::Toggle,
|
||||
_ => Action::TagView,
|
||||
},
|
||||
(KeyCode::Char('c'), _) => Action::CollectionView,
|
||||
(KeyCode::Char('a'), _) => Action::AuditView,
|
||||
(KeyCode::Char('S'), _) => Action::SettingsView,
|
||||
|
|
@ -82,11 +94,24 @@ pub fn handle_key(key: KeyEvent, in_input_mode: bool, current_view: &View) -> Ac
|
|||
(KeyCode::Char('Q'), _) => Action::QueueView,
|
||||
(KeyCode::Char('X'), _) => Action::StatisticsView,
|
||||
(KeyCode::Char('T'), _) => Action::TasksView,
|
||||
// Ctrl+S must come before plain 's' to ensure proper precedence
|
||||
(KeyCode::Char('s'), KeyModifiers::CONTROL) => match current_view {
|
||||
View::MetadataEdit => Action::Save,
|
||||
_ => Action::None,
|
||||
},
|
||||
(KeyCode::Char('s'), _) => Action::ScanTrigger,
|
||||
(KeyCode::Char('r'), _) => Action::Refresh,
|
||||
(KeyCode::Char('n'), _) => Action::CreateTag,
|
||||
(KeyCode::Char('+'), _) => Action::TagMedia,
|
||||
(KeyCode::Char('-'), _) => Action::UntagMedia,
|
||||
(KeyCode::Char('v'), _) => match current_view {
|
||||
View::Database => Action::Vacuum,
|
||||
_ => Action::None,
|
||||
},
|
||||
(KeyCode::Char('x'), _) => match current_view {
|
||||
View::Tasks => Action::RunNow,
|
||||
_ => Action::None,
|
||||
},
|
||||
(KeyCode::Tab, _) => Action::NextTab,
|
||||
(KeyCode::BackTab, _) => Action::PrevTab,
|
||||
(KeyCode::PageUp, _) => Action::PageUp,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue