summaryrefslogtreecommitdiffstats
path: root/src/views/maillist.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/views/maillist.rs')
-rw-r--r--src/views/maillist.rs17
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);
})
});