summaryrefslogtreecommitdiffstats
path: root/src/listview.rs
diff options
context:
space:
mode:
authorrabite <rabite@posteo.de>2019-01-25 20:48:42 +0100
committerrabite <rabite@posteo.de>2019-01-25 20:48:42 +0100
commit878d7bdbfb8f277d7bcfc556599c995f72d7f319 (patch)
treec88bd09eafc6137347f2e84b3573d22ca57c3bc6 /src/listview.rs
parentc381203bb2c9fd91add74154237dcc93853f73c3 (diff)
more sorting, directory first toggle
Diffstat (limited to 'src/listview.rs')
-rw-r--r--src/listview.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/listview.rs b/src/listview.rs
index c29351e..80cffdf 100644
--- a/src/listview.rs
+++ b/src/listview.rs
@@ -156,10 +156,20 @@ impl ListView<Files> where
fn cycle_sort(&mut self) {
let file = self.clone_selected_file();
self.content.cycle_sort();
+ self.content.sort();
self.select_file(&file);
self.refresh();
self.show_status(&format!("Sorting by: {}", self.content.sort));
}
+
+ fn toggle_dirs_first(&mut self) {
+ let file = self.clone_selected_file();
+ self.content.dirs_first = !self.content.dirs_first;
+ self.content.sort();
+ self.select_file(&file);
+ self.refresh();
+ self.show_status(&format!("Direcories first: {}", self.content.dirs_first));
+ }
}
@@ -237,6 +247,7 @@ impl Widget for ListView<Files> {
self.goto_selected()
},
Key::Char('s') => { self.cycle_sort() } ,
+ Key::Char('d') => self.toggle_dirs_first() ,
_ => { self.bad(Event::Key(key)); }
}
}