From 2f3f214e03de477ad05aa12a1ac2ba0775a36c14 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Thu, 6 Jun 2019 10:55:42 +0530 Subject: preparing for displaying the marked state in entries list --- src/interactive/widgets/entries.rs | 5 ++++- src/interactive/widgets/header.rs | 8 ++++++-- src/interactive/widgets/main.rs | 3 ++- 3 files changed, 12 insertions(+), 4 deletions(-) (limited to 'src/interactive/widgets') 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, 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 { -- cgit v1.2.3