diff options
Diffstat (limited to 'src/interactive/app/handlers.rs')
-rw-r--r-- | src/interactive/app/handlers.rs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/interactive/app/handlers.rs b/src/interactive/app/handlers.rs index d6b6582..754fa51 100644 --- a/src/interactive/app/handlers.rs +++ b/src/interactive/app/handlers.rs @@ -1,6 +1,6 @@ use crate::interactive::{ app::tree_view::TreeView, - widgets::{GlobPane, HelpPane, MainWindow, MarkMode, MarkPane}, + widgets::{Column, GlobPane, HelpPane, MainWindow, MarkMode, MarkPane}, DisplayOptions, EntryDataBundle, }; use crosstermion::input::Key; @@ -135,6 +135,22 @@ impl AppState { self.entries = tree_view.sorted_entries(self.navigation().view_root, self.sorting); } + pub fn toggle_mtime_column(&mut self) { + self.toggle_column(Column::MTime); + } + + pub fn toggle_count_column(&mut self) { + self.toggle_column(Column::Count); + } + + fn toggle_column(&mut self, column: Column) { + if self.show_columns.contains(&column) { + self.show_columns.remove(&column); + } else { + self.show_columns.insert(column); + } + } + pub fn toggle_glob_search(&mut self, window: &mut MainWindow) { self.focussed = match self.focussed { Main | Mark | Help => { |