summaryrefslogtreecommitdiffstats
path: root/src/interactive/widgets/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/interactive/widgets/main.rs')
-rw-r--r--src/interactive/widgets/main.rs32
1 files changed, 21 insertions, 11 deletions
diff --git a/src/interactive/widgets/main.rs b/src/interactive/widgets/main.rs
index 203dad7..a9b4f19 100644
--- a/src/interactive/widgets/main.rs
+++ b/src/interactive/widgets/main.rs
@@ -1,15 +1,14 @@
use crate::{
interactive::{
- widgets::{Entries, Footer, ListState},
- AppState, DisplayOptions,
+ widgets::{Entries, Footer, HelpPane, ListState},
+ AppState, DisplayOptions, FocussedPane,
},
traverse::Traversal,
};
-use tui::widgets::Block;
use tui::{
buffer::Buffer,
layout::{Constraint, Direction, Layout, Rect},
- widgets::Widget,
+ widgets::{Borders, Widget},
};
/// The state that can be mutated while drawing
@@ -46,25 +45,36 @@ impl<'a, 'b, 'c> Widget for MainWindow<'a, 'b, 'c> {
.split(area);
let (entries_area, footer_area) = (regions[0], regions[1]);
let (entries_area, help_area_state) = match state.help_pane {
- Some(state) => (entries_area, Some((entries_area, state))),
+ Some(state) => {
+ let regions = Layout::default()
+ .direction(Direction::Horizontal)
+ .constraints([Constraint::Percentage(50), Constraint::Percentage(50)].as_ref())
+ .split(entries_area);
+ (regions[0], Some((regions[1], state)))
+ }
None => (entries_area, None),
};
+ let (entries_borders, help_borders) = match state.focussed {
+ FocussedPane::Main => (Borders::ALL, Borders::NONE),
+ FocussedPane::Help => (Borders::NONE, Borders::ALL),
+ };
Entries {
tree: &tree,
root: state.root,
display: *display,
sorting: state.sorting,
selected: state.selected,
+ borders: entries_borders,
list: &mut draw_state.entries_list,
}
.draw(entries_area, buf);
- if let Some((help_area, _)) = help_area_state {
- use tui::widgets::Borders;
- Block::default()
- .title("Help")
- .borders(Borders::ALL)
- .draw(help_area, buf);
+ if let Some((help_area, state)) = help_area_state {
+ HelpPane {
+ state,
+ borders: help_borders,
+ }
+ .draw(help_area, buf);
}
Footer {