show file count in status bar

This commit is contained in:
rabite 2019-02-07 02:00:32 +01:00
parent 2496d4b6e0
commit 26dc8db216
2 changed files with 21 additions and 3 deletions

View File

@ -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();

View File

@ -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;