From bdb303afe76bb725599ba75d4bf0863ee7a439fa Mon Sep 17 00:00:00 2001
From: Bruce Cowan <bruce@bcowan.me.uk>
Date: Tue, 25 Oct 2022 10:05:48 +0100
Subject: [PATCH] Define shortcuts in blueprint file

---
 data/gtk/window.blp | 19 +++++++++++++++++++
 src/main.c          |  9 ---------
 2 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/data/gtk/window.blp b/data/gtk/window.blp
index 0b31f50..b6c608c 100644
--- a/data/gtk/window.blp
+++ b/data/gtk/window.blp
@@ -98,6 +98,25 @@ template RugbyAppWindow : Adw.ApplicationWindow {
       }
     }
   }
+
+  ShortcutController {
+    scope: local;
+
+    Shortcut {
+      action: "action(win.score-changed)";
+      arguments: "'up'";
+      trigger: "<Ctrl>Up|<Ctrl>Right";
+    }
+    Shortcut {
+      action: "action(win.score-changed)";
+      arguments: "'down'";
+      trigger: "<Ctrl>Down|<Ctrl>Left";
+    }
+    Shortcut {
+      action: "action(win.show-try-filter)";
+      trigger: "<Ctrl>F";
+    }
+  }
 }
 
 menu app_menu {
diff --git a/src/main.c b/src/main.c
index 1c9abb0..03a2ea0 100644
--- a/src/main.c
+++ b/src/main.c
@@ -71,15 +71,6 @@ on_startup (GApplication          *app,
     gtk_application_set_accels_for_action (GTK_APPLICATION (app),
                                            "app.prefs",
                                            (const char*[]) { "<Ctrl>comma", NULL });
-    gtk_application_set_accels_for_action (GTK_APPLICATION (app),
-                                           "win.score-changed::up",
-                                           (const char*[]) { "<Ctrl>Up", "<Ctrl>Right", NULL });
-    gtk_application_set_accels_for_action (GTK_APPLICATION (app),
-                                           "win.score-changed::down",
-                                           (const char*[]) { "<Ctrl>Down", "<Ctrl>Left", NULL });
-    gtk_application_set_accels_for_action (GTK_APPLICATION (app),
-                                           "win.show-try-filter",
-                                           (const char*[]) { "<Ctrl>F", NULL });
 }
 
 int
-- 
GitLab