summaryrefslogtreecommitdiffstats
path: root/src/ui/widgets/tui_footer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/widgets/tui_footer.rs')
-rw-r--r--src/ui/widgets/tui_footer.rs22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/ui/widgets/tui_footer.rs b/src/ui/widgets/tui_footer.rs
index d4fbef7..458e146 100644
--- a/src/ui/widgets/tui_footer.rs
+++ b/src/ui/widgets/tui_footer.rs
@@ -21,13 +21,22 @@ impl<'a> TuiFooter<'a> {
impl<'a> Widget for TuiFooter<'a> {
fn render(self, area: Rect, buf: &mut Buffer) {
+ #[cfg(unix)]
use std::os::unix::fs::PermissionsExt;
+
+ let visual_mode_style = Style::default().fg(Color::Black).bg(Color::LightRed);
+ let mode_style = Style::default().fg(Color::Cyan);
+
+ let selection_style = Style::default()
+ .fg(THEME_T.selection.fg)
+ .bg(THEME_T.selection.bg)
+ .add_modifier(THEME_T.selection.modifier);
+ let selected_count = self.dirlist.selected_count();
+
match self.dirlist.get_index() {
Some(i) if i < self.dirlist.len() => {
let entry = &self.dirlist.contents[i];
- let visual_mode_style = Style::default().fg(Color::Black).bg(Color::LightRed);
- let mode_style = Style::default().fg(Color::Cyan);
let mode_str = unix::mode_to_string(entry.metadata.permissions_ref().mode());
let mtime_str = format::mtime_to_string(entry.metadata.modified());
@@ -54,6 +63,15 @@ impl<'a> Widget for TuiFooter<'a> {
Span::raw(mtime_str),
Span::raw(" UTC "),
Span::raw(size_str),
+ Span::raw(" "),
+ Span::styled(
+ if selected_count > 0 {
+ format!("{} selected", selected_count)
+ } else {
+ " ".to_string()
+ },
+ selection_style,
+ ),
];
if let LinkType::Symlink(target, valid) = entry.metadata.link_type() {