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 /src/maillist_view.rs | |
parent | 18f4b5efe6c3d72f9d1ff3328ae508f7f470ec92 (diff) |
Wrap MaillistView inside into ResizedView
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'src/maillist_view.rs')
-rw-r--r-- | src/maillist_view.rs | 11 |
1 files changed, 7 insertions, 4 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) } } |