summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-01-16 10:27:08 +0100
committerMatthias Beyer <mail@beyermatthias.de>2021-01-16 10:27:26 +0100
commit66c58e32400a7f4dc3519168e9a604682cd912c6 (patch)
tree3a8c97d004522d44588f72cf0e118f92c6e568ed
parent18f4b5efe6c3d72f9d1ff3328ae508f7f470ec92 (diff)
Wrap MaillistView inside into ResizedView
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--src/maillist_view.rs11
-rw-r--r--src/main_view.rs3
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);
}