diff --git a/meli/src/mail/compose.rs b/meli/src/mail/compose.rs index 1500902d..e3528fd2 100644 --- a/meli/src/mail/compose.rs +++ b/meli/src/mail/compose.rs @@ -131,7 +131,7 @@ enum ViewMode { EmbeddedPty, SelectRecipients(UIDialog
), #[cfg(feature = "gpgme")] - SelectEncryptKey(bool, gpg::KeySelection), + SelectKey(bool, gpg::KeySelection), Send(UIConfirmationDialog), WaitingForSendResult(UIDialog, JoinHandle>), } @@ -1075,30 +1075,50 @@ impl Component for Composer { .draw(grid, inner_area, context); } ViewMode::Send(ref mut s) => { - s.draw(grid, body_area, context); + let inner_area = area.center_inside(( + area.width().saturating_sub(2), + area.height().saturating_sub(2), + )); + s.draw(grid, inner_area, context); } #[cfg(feature = "gpgme")] - ViewMode::SelectEncryptKey( + ViewMode::SelectKey( _, gpg::KeySelection::Loaded { ref mut widget, keys: _, }, ) => { - widget.draw(grid, body_area, context); + let inner_area = area.center_inside(( + area.width().saturating_sub(2), + area.height().saturating_sub(2), + )); + widget.draw(grid, inner_area, context); } #[cfg(feature = "gpgme")] - ViewMode::SelectEncryptKey(_, _) => {} + ViewMode::SelectKey(_, _) => {} ViewMode::SelectRecipients(ref mut s) => { - s.draw(grid, body_area, context); + let inner_area = area.center_inside(( + area.width().saturating_sub(2), + area.height().saturating_sub(2), + )); + s.draw(grid, inner_area, context); } ViewMode::Discard(_, ref mut s) => { + let inner_area = area.center_inside(( + area.width().saturating_sub(2), + area.height().saturating_sub(2), + )); /* Let user choose whether to quit with/without saving or cancel */ - s.draw(grid, body_area, context); + s.draw(grid, inner_area, context); } ViewMode::WaitingForSendResult(ref mut s, _) => { + let inner_area = area.center_inside(( + area.width().saturating_sub(2), + area.height().saturating_sub(2), + )); /* Let user choose whether to wait for success or cancel */ - s.draw(grid, body_area, context); + s.draw(grid, inner_area, context); } } @@ -1278,10 +1298,9 @@ impl Component for Composer { self.set_dirty(true); } #[cfg(feature = "gpgme")] - ( - ViewMode::SelectEncryptKey(_, ref mut selector), - UIEvent::ComponentUnrealize(ref id), - ) if *id == selector.id() => { + (ViewMode::SelectKey(_, ref mut selector), UIEvent::ComponentUnrealize(ref id)) + if *id == selector.id() => + { self.mode = ViewMode::Edit; self.set_dirty(true); return true; @@ -1410,7 +1429,7 @@ impl Component for Composer { } #[cfg(feature = "gpgme")] ( - ViewMode::SelectEncryptKey(is_encrypt, ref mut selector), + ViewMode::SelectKey(is_encrypt, ref mut selector), UIEvent::FinishedUIDialog(id, result), ) if *id == selector.id() => { if let Some(Some(key)) = result.downcast_mut::>() { @@ -1427,7 +1446,7 @@ impl Component for Composer { return true; } #[cfg(feature = "gpgme")] - (ViewMode::SelectEncryptKey(_, ref mut selector), _) => { + (ViewMode::SelectKey(_, ref mut selector), _) => { if selector.process_event(event, context) { self.set_dirty(true); return true; @@ -1717,7 +1736,7 @@ impl Component for Composer { }) { Ok(widget) => { self.gpg_state.sign_mail = Some(ActionFlag::from(true)); - self.mode = ViewMode::SelectEncryptKey(false, widget); + self.mode = ViewMode::SelectKey(false, widget); } Err(err) => { context.replies.push_back(UIEvent::Notification { @@ -1758,7 +1777,7 @@ impl Component for Composer { }) { Ok(widget) => { self.gpg_state.encrypt_mail = Some(ActionFlag::from(true)); - self.mode = ViewMode::SelectEncryptKey(true, widget); + self.mode = ViewMode::SelectKey(true, widget); } Err(err) => { context.replies.push_back(UIEvent::Notification { @@ -2286,7 +2305,7 @@ impl Component for Composer { widget.is_dirty() || self.pager.is_dirty() || self.form.is_dirty() } #[cfg(feature = "gpgme")] - ViewMode::SelectEncryptKey(_, ref widget) => { + ViewMode::SelectKey(_, ref widget) => { widget.is_dirty() || self.pager.is_dirty() || self.form.is_dirty() } ViewMode::Send(ref widget) => { @@ -2310,7 +2329,7 @@ impl Component for Composer { widget.set_dirty(value); } #[cfg(feature = "gpgme")] - ViewMode::SelectEncryptKey(_, ref mut widget) => { + ViewMode::SelectKey(_, ref mut widget) => { widget.set_dirty(value); } ViewMode::Send(ref mut widget) => { diff --git a/meli/src/utilities/dialogs.rs b/meli/src/utilities/dialogs.rs index 920299cd..0d96b571 100644 --- a/meli/src/utilities/dialogs.rs +++ b/meli/src/utilities/dialogs.rs @@ -581,7 +581,7 @@ impl