From edd0842273411f7b7cf102460f8dd2454ca11b0f Mon Sep 17 00:00:00 2001 From: veeso Date: Tue, 28 Dec 2021 11:00:00 +0100 Subject: [PATCH] Redraw UI on window resize --- src/ui/activities/auth/components/mod.rs | 1 + src/ui/activities/auth/mod.rs | 1 + src/ui/activities/auth/update.rs | 3 +++ src/ui/activities/auth/view.rs | 1 + src/ui/activities/filetransfer/components/mod.rs | 1 + src/ui/activities/filetransfer/mod.rs | 1 + src/ui/activities/filetransfer/update.rs | 3 +++ src/ui/activities/filetransfer/view.rs | 1 + src/ui/activities/setup/components/mod.rs | 1 + src/ui/activities/setup/mod.rs | 1 + src/ui/activities/setup/update.rs | 3 +++ src/ui/activities/setup/view/mod.rs | 1 + 12 files changed, 18 insertions(+) diff --git a/src/ui/activities/auth/components/mod.rs b/src/ui/activities/auth/components/mod.rs index 73b4e21..bb014ae 100644 --- a/src/ui/activities/auth/components/mod.rs +++ b/src/ui/activities/auth/components/mod.rs @@ -84,6 +84,7 @@ impl Component for GlobalListener { code: Key::Char('s'), modifiers: KeyModifiers::CONTROL, }) => Some(Msg::Ui(UiMsg::ShowSaveBookmarkPopup)), + Event::WindowResize(_, _) => Some(Msg::Ui(UiMsg::WindowResized)), _ => None, } } diff --git a/src/ui/activities/auth/mod.rs b/src/ui/activities/auth/mod.rs index bff020b..08ee9c3 100644 --- a/src/ui/activities/auth/mod.rs +++ b/src/ui/activities/auth/mod.rs @@ -135,6 +135,7 @@ pub enum UiMsg { ShowSaveBookmarkPopup, UsernameBlurDown, UsernameBlurUp, + WindowResized, } /// Auth form input mask diff --git a/src/ui/activities/auth/update.rs b/src/ui/activities/auth/update.rs index f55cb4a..bbe62d8 100644 --- a/src/ui/activities/auth/update.rs +++ b/src/ui/activities/auth/update.rs @@ -255,6 +255,9 @@ impl AuthActivity { UiMsg::UsernameBlurUp => { assert!(self.app.active(&Id::Port).is_ok()); } + UiMsg::WindowResized => { + self.redraw = true; + } } None diff --git a/src/ui/activities/auth/view.rs b/src/ui/activities/auth/view.rs index 9d2b1c6..29ce858 100644 --- a/src/ui/activities/auth/view.rs +++ b/src/ui/activities/auth/view.rs @@ -842,6 +842,7 @@ impl AuthActivity { }), Self::no_popup_mounted_clause(), ), + Sub::new(SubEventClause::WindowResize, SubClause::Always) ] ) .is_ok()); diff --git a/src/ui/activities/filetransfer/components/mod.rs b/src/ui/activities/filetransfer/components/mod.rs index 80f5d8c..6176a23 100644 --- a/src/ui/activities/filetransfer/components/mod.rs +++ b/src/ui/activities/filetransfer/components/mod.rs @@ -69,6 +69,7 @@ impl Component for GlobalListener { code: Key::Char('h') | Key::Function(1), modifiers: KeyModifiers::NONE, }) => Some(Msg::Ui(UiMsg::ShowKeybindingsPopup)), + Event::WindowResize(_, _) => Some(Msg::Ui(UiMsg::WindowResized)), _ => None, } } diff --git a/src/ui/activities/filetransfer/mod.rs b/src/ui/activities/filetransfer/mod.rs index 2157f35..1bd0855 100644 --- a/src/ui/activities/filetransfer/mod.rs +++ b/src/ui/activities/filetransfer/mod.rs @@ -177,6 +177,7 @@ enum UiMsg { ShowSymlinkPopup, ToggleHiddenFiles, ToggleSyncBrowsing, + WindowResized, } /// Log level type diff --git a/src/ui/activities/filetransfer/update.rs b/src/ui/activities/filetransfer/update.rs index fcb6cd5..0924447 100644 --- a/src/ui/activities/filetransfer/update.rs +++ b/src/ui/activities/filetransfer/update.rs @@ -503,6 +503,9 @@ impl FileTransferActivity { self.browser.toggle_sync_browsing(); self.refresh_remote_status_bar(); } + UiMsg::WindowResized => { + self.redraw = true; + } } None } diff --git a/src/ui/activities/filetransfer/view.rs b/src/ui/activities/filetransfer/view.rs index 78bdf53..a3ae291 100644 --- a/src/ui/activities/filetransfer/view.rs +++ b/src/ui/activities/filetransfer/view.rs @@ -896,6 +896,7 @@ impl FileTransferActivity { }), Self::no_popup_mounted_clause(), ), + Sub::new(SubEventClause::WindowResize, SubClause::Always) ] ) .is_ok()); diff --git a/src/ui/activities/setup/components/mod.rs b/src/ui/activities/setup/components/mod.rs index 7be6352..25b3d73 100644 --- a/src/ui/activities/setup/components/mod.rs +++ b/src/ui/activities/setup/components/mod.rs @@ -81,6 +81,7 @@ impl Component for GlobalListener { code: Key::Function(4), modifiers: KeyModifiers::NONE, }) => Some(Msg::Common(CommonMsg::ShowSavePopup)), + Event::WindowResize(_, _) => Some(Msg::Common(CommonMsg::WindowResized)), _ => None, } } diff --git a/src/ui/activities/setup/mod.rs b/src/ui/activities/setup/mod.rs index 8a3029a..f929398 100644 --- a/src/ui/activities/setup/mod.rs +++ b/src/ui/activities/setup/mod.rs @@ -145,6 +145,7 @@ pub enum CommonMsg { ShowKeybindings, ShowQuitPopup, ShowSavePopup, + WindowResized, } #[derive(Debug, Clone, PartialEq)] diff --git a/src/ui/activities/setup/update.rs b/src/ui/activities/setup/update.rs index 7072759..7d74fcd 100644 --- a/src/ui/activities/setup/update.rs +++ b/src/ui/activities/setup/update.rs @@ -116,6 +116,9 @@ impl SetupActivity { CommonMsg::ShowSavePopup => { self.mount_save_popup(); } + CommonMsg::WindowResized => { + self.redraw = true; + } } None } diff --git a/src/ui/activities/setup/view/mod.rs b/src/ui/activities/setup/view/mod.rs index 796a601..d86069a 100644 --- a/src/ui/activities/setup/view/mod.rs +++ b/src/ui/activities/setup/view/mod.rs @@ -255,6 +255,7 @@ impl SetupActivity { }), Self::no_popup_mounted_clause(), ), + Sub::new(SubEventClause::WindowResize, SubClause::Always) ] ) .is_ok());