diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2021-01-16 10:27:08 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2021-01-16 10:27:26 +0100 |
commit | 66c58e32400a7f4dc3519168e9a604682cd912c6 (patch) | |
tree | 3a8c97d004522d44588f72cf0e118f92c6e568ed | |
parent | 18f4b5efe6c3d72f9d1ff3328ae508f7f470ec92 (diff) |
Wrap MaillistView inside into ResizedView
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r-- | src/maillist_view.rs | 11 | ||||
-rw-r--r-- | src/main_view.rs | 3 |
2 files changed, 8 insertions, 6 deletions
diff --git a/src/maillist_view.rs b/src/maillist_view.rs index a75ab51..2ce9b83 100644 --- a/src/maillist_view.rs +++ b/src/maillist_view.rs @@ -20,18 +20,20 @@ use chrono::naive::NaiveDateTime; use notmuch::Message; use notmuch::MessageOwner; use getset::Getters; +use cursive::views::ResizedView; +use cursive::view::SizeConstraint; use crate::main_view::MainView; use crate::mail_view::MailView; pub struct MaillistView { - view: TableView<MailListingData, MailListingColumn>, + view: ResizedView<TableView<MailListingData, MailListingColumn>>, } impl Deref for MaillistView { type Target = TableView<MailListingData, MailListingColumn>; fn deref(&self) -> &Self::Target { - &self.view + self.view.get_inner() } } @@ -101,6 +103,7 @@ impl MaillistView { .on_submit(move |siv: &mut Cursive, row: usize, _: usize| { let (mail_id, filename) = siv.call_on_name(&n, move |table: &mut MaillistView| { table.view + .get_inner_mut() .borrow_item(row) .map(|data| { debug!("Opening: {:?}", data); @@ -127,11 +130,11 @@ impl MaillistView { // use the mail ID to get the whole thread and open it as a table item }); - Ok(MaillistView{ view }.with_name(name)) + Ok(MaillistView { view: ResizedView::new(SizeConstraint::Full, SizeConstraint::Full, view )}.with_name(name)) } pub fn borrow_item(&mut self, idx: usize) -> Option<&MailListingData> { - self.view.borrow_item(idx) + self.view.get_inner_mut().borrow_item(idx) } } diff --git a/src/main_view.rs b/src/main_view.rs index bb5f478..ae6eb12 100644 --- a/src/main_view.rs +++ b/src/main_view.rs @@ -113,8 +113,7 @@ impl MainView { let dbpath = config.notmuch_database_path(); let dbquery = config.notmuch_default_query(); let mlname = MAIN_MAIL_LIST_NAME.to_string(); - let mlview = MaillistView::create_for(dbpath.to_path_buf(), dbquery, mlname)?.with_name(MAIN_MAIL_LIST_NAME); - let view = ResizedView::new(SizeConstraint::Full, SizeConstraint::Full, mlview); + let view = MaillistView::create_for(dbpath.to_path_buf(), dbquery, mlname)?; let _ = tab.add_right_of(view, muxroot); } |