diff --git a/data/resources/gtk/help-overlay.ui b/data/resources/gtk/help-overlay.ui
index 42951d2..f5f9ce6 100644
--- a/data/resources/gtk/help-overlay.ui
+++ b/data/resources/gtk/help-overlay.ui
@@ -283,6 +283,41 @@
+
+
+
diff --git a/src/widgets/edit/crop.rs b/src/widgets/edit/crop.rs
index 1a9f609..8bb7928 100644
--- a/src/widgets/edit/crop.rs
+++ b/src/widgets/edit/crop.rs
@@ -60,6 +60,8 @@ pub enum LpOrientation {
mod imp {
+ use gtk::gdk;
+
use super::*;
#[derive(Debug, Default, gtk::CompositeTemplate, glib::Properties)]
@@ -105,6 +107,56 @@ mod imp {
klass.install_action("edit-crop.apply-crop", None, |obj, _, _| {
obj.imp().apply_crop()
});
+
+ klass.add_shortcut(
+ >k::Shortcut::builder()
+ .action(>k::NamedAction::new("edit-crop.mirror-horizontally"))
+ .trigger(>k::KeyvalTrigger::new(
+ gdk::Key::H,
+ gdk::ModifierType::NO_MODIFIER_MASK,
+ ))
+ .build(),
+ );
+
+ klass.add_shortcut(
+ >k::Shortcut::builder()
+ .action(>k::NamedAction::new("edit-crop.mirror-vertically"))
+ .trigger(>k::KeyvalTrigger::new(
+ gdk::Key::V,
+ gdk::ModifierType::NO_MODIFIER_MASK,
+ ))
+ .build(),
+ );
+
+ klass.add_shortcut(
+ >k::Shortcut::builder()
+ .action(>k::NamedAction::new("edit-crop.rotate-cw"))
+ .trigger(>k::KeyvalTrigger::new(
+ gdk::Key::R,
+ gdk::ModifierType::CONTROL_MASK,
+ ))
+ .build(),
+ );
+
+ klass.add_shortcut(
+ >k::Shortcut::builder()
+ .action(>k::NamedAction::new("edit-crop.rotate-ccw"))
+ .trigger(>k::KeyvalTrigger::new(
+ gdk::Key::R,
+ gdk::ModifierType::CONTROL_MASK.union(gdk::ModifierType::SHIFT_MASK),
+ ))
+ .build(),
+ );
+
+ klass.add_shortcut(
+ >k::Shortcut::builder()
+ .action(>k::NamedAction::new("edit-crop.apply-crop"))
+ .trigger(>k::KeyvalTrigger::new(
+ gdk::Key::Return,
+ gdk::ModifierType::CONTROL_MASK,
+ ))
+ .build(),
+ );
}
fn instance_init(obj: &glib::subclass::InitializingObject) {
diff --git a/src/widgets/edit/crop_selection.rs b/src/widgets/edit/crop_selection.rs
index e68169e..27db2a1 100644
--- a/src/widgets/edit/crop_selection.rs
+++ b/src/widgets/edit/crop_selection.rs
@@ -194,6 +194,8 @@ mod imp {
#[template_child]
selection_move: TemplateChild,
+ #[template_child]
+ shortcuts: TemplateChild,
#[template_child]
selection_overlay: TemplateChild,