summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorrabite <rabite@posteo.de>2019-02-07 02:00:32 +0100
committerrabite <rabite@posteo.de>2019-02-07 02:00:32 +0100
commit26dc8db216cba4c36c198308bb2efe2d429fecc6 (patch)
treec1897a8ca06a2ab852cf6239024a5f0f31fa5f68 /src
parent2496d4b6e0809b9072c2a8e29416fd5e771ae7b2 (diff)
show file count in status bar
Diffstat (limited to 'src')
-rw-r--r--src/file_browser.rs20
-rw-r--r--src/listview.rs4
2 files changed, 21 insertions, 3 deletions
diff --git a/src/file_browser.rs b/src/file_browser.rs
index 1de948d..776dc46 100644
--- a/src/file_browser.rs
+++ b/src/file_browser.rs
@@ -182,15 +182,29 @@ impl Widget for FileBrowser {
sized_path
}
fn render_footer(&self) -> String {
+ let xsize = self.get_coordinates().xsize();
+ let ypos = self.get_coordinates().position().y();
let file = self.selected_file();
- let permissions = file.pretty_print_permissions();
+ let permissions = file.pretty_print_permissions();
let user = file.pretty_user().unwrap_or("NOUSER".into());
let group = file.pretty_group().unwrap_or("NOGROUP".into());
-
let mtime = file.pretty_mtime();
- format!("{} {}:{} {}", permissions, user, group, mtime)
+
+ let selection = self.main_column().get_selection();
+ let file_count = self.main_column().content.len();
+ let file_count = format!("{}", file_count);
+ let digits = file_count.len();
+ let file_count = format!("{:digits$}/{:digits$}",
+ selection,
+ file_count,
+ digits = digits);
+ let count_xpos = xsize - file_count.len() as u16;
+ let count_ypos = ypos + self.get_coordinates().ysize();
+
+ format!("{} {}:{} {} {} {}", permissions, user, group, mtime,
+ crate::term::goto_xy(count_xpos, count_ypos), file_count)
}
fn refresh(&mut self) {
self.columns.refresh();
diff --git a/src/listview.rs b/src/listview.rs
index a430d59..1fa16e4 100644
--- a/src/listview.rs
+++ b/src/listview.rs
@@ -74,6 +74,10 @@ where
self.seeking = false;
}
+ pub fn get_selection(&self) -> usize {
+ self.selection
+ }
+
fn set_selection(&mut self, position: usize) {
let ysize = self.coordinates.ysize() as usize;
let mut offset = 0;