From 32ee47d08f4a7b84894350b5b0d48b3dd1a37b68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sabri=20=C3=9Cnal?= Date: Mon, 24 Apr 2023 02:11:43 +0300 Subject: [PATCH] app: Split rotate actions To ensure simplicity of the process, replace the rotate actions with new two actions, without modifying the existing rotate_image method. Part-of: --- data/gtk/image_page.ui | 6 ++---- data/gtk/window.ui | 6 ++---- data/resources/gtk/help-overlay.ui | 4 ++-- src/application.rs | 4 ++-- src/window.rs | 11 ++++++++--- 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/data/gtk/image_page.ui b/data/gtk/image_page.ui index a65cb54..560c5de 100644 --- a/data/gtk/image_page.ui +++ b/data/gtk/image_page.ui @@ -86,8 +86,7 @@ object-rotate-left-symbolic Rotate Left - win.rotate - -90.0 + win.rotate_ccw @@ -97,8 +96,7 @@ object-rotate-right-symbolic Rotate Right - win.rotate - 90.0 + win.rotate_cw diff --git a/data/gtk/window.ui b/data/gtk/window.ui index d92ff0c..bb127f4 100644 --- a/data/gtk/window.ui +++ b/data/gtk/window.ui @@ -99,8 +99,7 @@ object-rotate-left-symbolic Rotate Left - win.rotate - -90.0 + win.rotate_ccw @@ -110,8 +109,7 @@ object-rotate-right-symbolic Rotate Right - win.rotate - 90.0 + win.rotate_cw diff --git a/data/resources/gtk/help-overlay.ui b/data/resources/gtk/help-overlay.ui index 6a945c9..92c1ba8 100644 --- a/data/resources/gtk/help-overlay.ui +++ b/data/resources/gtk/help-overlay.ui @@ -134,13 +134,13 @@ Rotate Clockwise - <Ctrl>R + win.rotate_cw Rotate Counterclockwise - <Ctrl><Shift>R + win.rotate_ccw diff --git a/src/application.rs b/src/application.rs index 6f14882..28ecc28 100644 --- a/src/application.rs +++ b/src/application.rs @@ -174,8 +174,8 @@ impl LpApplication { self.set_accels_for_action("win.pan-up", &["Up"]); self.set_accels_for_action("win.pan-down", &["Down"]); - self.set_accels_for_action("win.rotate(90.0)", &["R"]); - self.set_accels_for_action("win.rotate(-90.0)", &["R"]); + self.set_accels_for_action("win.rotate_cw", &["R"]); + self.set_accels_for_action("win.rotate_ccw", &["R"]); self.set_accels_for_action("window.close", &["W"]); } diff --git a/src/window.rs b/src/window.rs index 7f2b320..4a51b9f 100644 --- a/src/window.rs +++ b/src/window.rs @@ -190,8 +190,12 @@ mod imp { win.open_with().await; }); - klass.install_action("win.rotate", Some("d"), move |win, _, angle| { - win.rotate_image(angle.unwrap().get().unwrap()); + klass.install_action("win.rotate_cw", None, |win, _, _| { + win.rotate_image(90.0); + }); + + klass.install_action("win.rotate_ccw", None, |win, _, _| { + win.rotate_image(-90.0); }); klass.install_action_async("win.set-background", None, |win, _, _| async move { @@ -591,7 +595,8 @@ impl LpWindow { self.action_set_enabled("win.set-background", enabled); self.action_set_enabled("win.toggle-fullscreen", enabled); self.action_set_enabled("win.print", enabled); - self.action_set_enabled("win.rotate", enabled); + self.action_set_enabled("win.rotate_cw", enabled); + self.action_set_enabled("win.rotate_ccw", enabled); self.action_set_enabled("win.copy", enabled); self.action_set_enabled("win.trash", enabled); self.action_set_enabled("win.zoom-best-fit", enabled);