diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2021-01-30 13:01:05 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2021-01-30 13:01:35 +0100 |
commit | 1fefb24af0f03f6c0512d3b1d3fad7f943c6edd3 (patch) | |
tree | 3101c58faef5d3f3dfa29433e083a635a1b4ae69 /src/views/maillist.rs | |
parent | e5e72a6d36c9bacc61efd3ed3453867c7f4d970f (diff) |
Add opening of a mail on the right side
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'src/views/maillist.rs')
-rw-r--r-- | src/views/maillist.rs | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/views/maillist.rs b/src/views/maillist.rs index 4f68790..303efe6 100644 --- a/src/views/maillist.rs +++ b/src/views/maillist.rs @@ -83,17 +83,23 @@ impl MaillistView { .items(items) .selected_item(0) .on_submit(move |siv: &mut Cursive, row: usize, _: usize| { + debug!("Submit: row = {}", row); let (mail_id, filename) = siv.call_on_name(crate::views::main::MAIN_VIEW_NAME, move |main: &mut crate::views::main::MainView| { + debug!("Got main view."); main.get_current_mux() .map(|mux| { - if let Some(table) = mux.downcast_ref::<TableView<MailListingData, MailListingColumn>>() { - table + debug!("Got mux view."); + if let Some(ml) = mux.downcast_ref::<MaillistView>() { + debug!("Got table, finding item now."); + ml.view + .get_inner() .borrow_item(row) .map(|data| { - debug!("Opening: {:?}", data); + debug!("Found item: {:?}", data); (data.mail_id.clone(), data.filename.clone()) }) } else { + debug!("Did not find table."); unimplemented!() } }) @@ -107,8 +113,9 @@ impl MaillistView { siv.call_on_name(crate::views::main::MAIN_VIEW_NAME , move |main: &mut crate::views::main::MainView| { main.get_current_tab_mut() - .map(|mux: &mut cursive_multiplex::Mux| { - mux.add_right_of(mv, mux.focus()); + .map(|tab: &mut crate::tabs::Tab| { + let foc = tab.mux().focus(); + tab.mux_mut().add_right_of(mv, foc); }) }); |