summaryrefslogtreecommitdiffstats
path: root/src/io/display.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/io/display.rs')
-rw-r--r--src/io/display.rs37
1 files changed, 18 insertions, 19 deletions
diff --git a/src/io/display.rs b/src/io/display.rs
index 4211b74..92c4cd9 100644
--- a/src/io/display.rs
+++ b/src/io/display.rs
@@ -186,7 +186,7 @@ impl<'a> WinMain<'a> {
DisplayMode::Directory => self.draw_files(canvas),
DisplayMode::Tree => self.draw_tree(canvas),
DisplayMode::Preview => self.draw_preview(self.tab, &self.tab.window, canvas),
- DisplayMode::Fuzzy => self.draw_fuzzy(canvas),
+ DisplayMode::Flagged => self.draw_fagged(canvas),
}
}
@@ -545,24 +545,27 @@ impl<'a> WinMain<'a> {
Ok(())
}
- fn draw_fuzzy(&self, canvas: &mut dyn Canvas) -> Result<Option<usize>> {
- let attr = Attr::default();
- let window = &self.tab.fuzzy.window;
+ fn draw_fagged(&self, canvas: &mut dyn Canvas) -> Result<Option<usize>> {
+ let window = &self.status.menu.flagged.window;
for (index, path) in self
- .tab
- .fuzzy
+ .status
+ .menu
+ .flagged
.content
.iter()
.enumerate()
.skip(window.top)
.take(min(canvas.height()?, window.bottom + 1))
{
- let file_info = FileInfo::new(path, &self.tab.users)?;
- let mut attr = self.tab.fuzzy.attr(index, &attr);
- let row = index + 2 - window.top;
- self.print_as_flagged(canvas, row, path, &mut attr)?;
- canvas.print_with_attr(row, 4, &file_info.path.to_string_lossy(), attr)?;
+ let fileinfo = FileInfo::new(path, &self.tab.users)?;
+ let attr = fileinfo_attr(&fileinfo);
+ let row = index + 3 - window.top;
+ canvas.print_with_attr(row, 4, &fileinfo.path.to_string_lossy(), attr)?;
}
+ if let Some(selected) = self.status.menu.flagged.selected() {
+ let fileinfo = FileInfo::new(selected, &self.tab.users)?;
+ canvas.print_with_attr(1, 4, &fileinfo.format(6, 6)?, fileinfo_attr(&fileinfo))?;
+ };
Ok(None)
}
}
@@ -597,10 +600,8 @@ impl<'a> Draw for WinMainHeader<'a> {
/// The colors are reversed when the tab is selected. It gives a visual indication of where he is.
fn draw(&self, canvas: &mut dyn Canvas) -> DrawResult<()> {
let content = match self.tab.display_mode {
- DisplayMode::Preview => PreviewHeader::make_preview(self.status, self.tab),
- DisplayMode::Fuzzy => FuzzyHeader::new(self.status, self.tab)?
- .strings()
- .to_owned(),
+ DisplayMode::Preview => PreviewHeader::strings(self.status, self.tab),
+ DisplayMode::Flagged => FuzzyHeader::new(self.status)?.strings().to_owned(),
_ => Header::new(self.status, self.tab)?.strings().to_owned(),
};
draw_colored_strings(0, 0, &content, canvas, self.is_selected)?;
@@ -621,7 +622,7 @@ impl<'a> WinMainHeader<'a> {
struct PreviewHeader;
impl PreviewHeader {
- fn make_preview(status: &Status, tab: &Tab) -> Vec<String> {
+ fn strings(status: &Status, tab: &Tab) -> Vec<String> {
match &tab.preview {
Preview::Text(text_content) => match text_content.kind {
TextKind::HELP => Self::make_help(),
@@ -750,9 +751,7 @@ impl<'a> Draw for WinMainFooter<'a> {
let height = canvas.height()?;
let content = match self.tab.display_mode {
DisplayMode::Preview => vec![],
- DisplayMode::Fuzzy => FuzzyFooter::new(self.status, self.tab)?
- .strings()
- .to_owned(),
+ DisplayMode::Flagged => FuzzyFooter::new(self.status)?.strings().to_owned(),
_ => Footer::new(self.status, self.tab)?.strings().to_owned(),
};
let mut attr = ATTR_COB_BOLD;