From b86e800f0ad59f86ea540a936ca65051900df9f5 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Thu, 23 Jul 2020 15:35:40 +0200 Subject: Remove dead code: Sidebar is not used anymore Signed-off-by: Matthias Beyer --- src/sidebar.rs | 137 --------------------------------------------------------- 1 file changed, 137 deletions(-) delete mode 100644 src/sidebar.rs (limited to 'src') diff --git a/src/sidebar.rs b/src/sidebar.rs deleted file mode 100644 index 4573eb6..0000000 --- a/src/sidebar.rs +++ /dev/null @@ -1,137 +0,0 @@ -use std::path::PathBuf; -use anyhow::Result; -use std::fmt; -use std::ffi::OsStr; -use cursive::{View, Printer, XY, direction::Direction, view::Selector, Rect, event::Event, event::EventResult}; -use cursive::view::Nameable; -use cursive::Cursive; -use cursive::views::NamedView; -use cursive_tree_view::TreeView; - -use crate::main_view::MainView; -use crate::loader::PostProcessor; -use crate::loader::Loader; - -#[derive(Debug)] -pub struct TreeEntry { - name: String, - path: PathBuf, -} - -impl fmt::Display for TreeEntry { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "{}", self.name) - } -} - -pub const SIDEBAR_VIEW_NAME: &'static str = "sidebar_tree_view"; - -pub struct Sidebar { - inner_view: NamedView>, -} - -impl Sidebar { - pub fn new(config: Configuration) -> Self { - - let mut tv = cursive_tree_view::TreeView::default(); - - pathes - .into_iter() - .map(|path| { - path.file_name() - .and_then(OsStr::to_str) - .map(String::from) - .ok_or_else(|| anyhow!("UTF8 error")) - .map(|name| TreeEntry { name, path }) - }) - .enumerate() - .for_each(|(i, item)| { - let item = item.expect("UNEX"); - tv.insert_item(item, cursive_tree_view::Placement::After, i); - }); - - tv.set_on_submit(|mut siv: &mut Cursive, row: usize| { - let borrow = siv.call_on_name(SIDEBAR_VIEW_NAME, move |tree: &mut TreeView| { - tree.borrow_item(row).map(|b| b.path.clone()) - }) - .flatten(); - - if let Some(path) = borrow { - let loader = { // Fetch the loader for the view to be created - let p = path.clone(); - siv.call_on_name(crate::main_view::MAIN_VIEW_NAME, move |main_view: &mut MainView| { - Some(main_view.maildir_loader(p)) - }) - .unwrap() - .unwrap() - }; - - let name = path.file_name() - .and_then(OsStr::to_str) - .map(String::from) - .ok_or_else(|| anyhow!("UTF8 error")) - .unwrap(); - - let postprocessor = loader.postprocessor(name.clone()); - - // Construct the AsyncView with the loader job - let list_view = cursive_async_view::AsyncView::new_with_bg_creator(&mut siv, - || { loader.load() }, - move |list| { postprocessor.postprocess(list) }); - - // Add the AsyncView to the screen - siv.call_on_name(crate::main_view::MAIN_VIEW_NAME, move |main_view: &mut MainView| { - Some(main_view.add_tab(name, list_view)) - }); - } - }); - - Sidebar { - inner_view: tv.with_name(SIDEBAR_VIEW_NAME), - } - } -} - -impl View for Sidebar { - fn draw(&self, printer: &Printer) { - self.inner_view.draw(printer) - } - - fn layout(&mut self, xy: XY) { - self.inner_view.layout(xy) - } - - fn needs_relayout(&self) -> bool { - self.inner_view.needs_relayout() - } - - fn required_size(&mut self, constraint: XY) -> XY { - self.inner_view.required_size(constraint) - } - - fn on_event(&mut self, e: Event) -> EventResult { - self.inner_view.on_event(e) - } - - fn call_on_any<'a>(&mut self, s: &Selector, tpl: &'a mut (dyn FnMut(&mut (dyn View + 'static)) + 'a)) { - self.inner_view.call_on_any(s, tpl); - } - - fn focus_view(&mut self, s: &Selector) -> Result<(), ()> { - self.inner_view.focus_view(s) - } - - fn take_focus(&mut self, source: Direction) -> bool { - self.inner_view.take_focus(source) - } - - fn important_area(&self, view_size: XY) -> Rect { - self.inner_view.important_area(view_size) - } - - fn type_name(&self) -> &'static str { - self.inner_view.type_name() - } - -} - -- cgit v1.2.3