summaryrefslogtreecommitdiffstats
path: root/src/interactive/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'src/interactive/widgets')
-rw-r--r--src/interactive/widgets/entries.rs5
-rw-r--r--src/interactive/widgets/header.rs8
-rw-r--r--src/interactive/widgets/main.rs3
3 files changed, 12 insertions, 4 deletions
diff --git a/src/interactive/widgets/entries.rs b/src/interactive/widgets/entries.rs
index 8a740e3..f364110 100644
--- a/src/interactive/widgets/entries.rs
+++ b/src/interactive/widgets/entries.rs
@@ -1,4 +1,4 @@
-use crate::interactive::{DisplayOptions, EntryDataBundle};
+use crate::interactive::{DisplayOptions, EntryDataBundle, EntryMark};
use dua::traverse::{Tree, TreeIndex};
use itertools::Itertools;
use std::{borrow::Borrow, path::Path};
@@ -16,6 +16,7 @@ pub struct EntriesProps<'a> {
pub display: DisplayOptions,
pub selected: Option<TreeIndex>,
pub entries: &'a [EntryDataBundle],
+ pub marked: &'a [EntryMark],
pub border_style: Style,
pub is_focussed: bool,
}
@@ -38,6 +39,7 @@ impl Entries {
display,
entries,
selected,
+ marked: _,
border_style,
is_focussed,
} = props.borrow();
@@ -128,6 +130,7 @@ impl Entries {
.into(),
style,
);
+
let name = Text::Styled(
fill_background_to_right(
format!(
diff --git a/src/interactive/widgets/header.rs b/src/interactive/widgets/header.rs
index 7026b4b..bc241a0 100644
--- a/src/interactive/widgets/header.rs
+++ b/src/interactive/widgets/header.rs
@@ -6,8 +6,12 @@ use tui::widgets::{Paragraph, Text, Widget};
pub struct Header;
impl Header {
- pub fn render(&self, area: Rect, buf: &mut Buffer) {
- let bg_color = Color::LightYellow;
+ pub fn render(&self, has_marked_entries: bool, area: Rect, buf: &mut Buffer) {
+ let bg_color = if has_marked_entries {
+ Color::LightYellow
+ } else {
+ Color::White
+ };
let text_color = Color::Black;
let standard = Style {
fg: text_color,
diff --git a/src/interactive/widgets/main.rs b/src/interactive/widgets/main.rs
index 3325d91..c357383 100644
--- a/src/interactive/widgets/main.rs
+++ b/src/interactive/widgets/main.rs
@@ -78,12 +78,13 @@ impl MainWindow {
FocussedPane::Help => (grey, white),
};
- Header.render(header_area, buf);
+ Header.render(!state.marked.is_empty(), header_area, buf);
let props = EntriesProps {
tree: &tree,
root: state.root,
display: *display,
entries: &state.entries,
+ marked: &state.marked,
selected: state.selected,
border_style: entries_style,
is_focussed: if let FocussedPane::Main = state.focussed {