diff --git a/io.github.revisto.drum-machine.json b/io.github.revisto.drum-machine.json index b3c8b0b..a27eab8 100644 --- a/io.github.revisto.drum-machine.json +++ b/io.github.revisto.drum-machine.json @@ -1,7 +1,7 @@ { "id" : "io.github.revisto.drum-machine", "runtime" : "org.gnome.Platform", - "runtime-version" : "48", + "runtime-version" : "49", "sdk" : "org.gnome.Sdk", "command" : "drum-machine", "finish-args" : [ diff --git a/po/POTFILES.in b/po/POTFILES.in index cc4d43b..8a24340 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -12,7 +12,7 @@ src/utils/name_utils.py src/ui/drum_grid_builder.py src/window.py src/window.ui -src/gtk/help-overlay.blp +src/gtk/shortcuts-dialog.blp src/gtk/save-changes-dialog.blp src/gtk/audio-export-dialog.blp src/gtk/reset-defaults-dialog.blp diff --git a/python-dependencies.json b/python-dependencies.json index cb78696..e47e861 100755 --- a/python-dependencies.json +++ b/python-dependencies.json @@ -83,13 +83,13 @@ "sources": [ { "type": "file", - "url": "https://files.pythonhosted.org/packages/59/ef/f96536f1df42c668cbacb727a8c6da7afc9c05ece6d558927fb1722693e1/numpy-2.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", - "sha256": "8145dd6d10df13c559d1e4314df29695613575183fa2e2d11fac4c208c8a1f73" + "url": "https://files.pythonhosted.org/packages/04/dc/46066ce18d01645541f0186877377b9371b8fa8017fa8262002b4ef22612/numpy-2.4.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", + "sha256": "d0d9b7c93578baafcbc5f0b83eaf17b79d345c6f36917ba0c67f45226911d499" }, { "type": "file", - "url": "https://files.pythonhosted.org/packages/91/ba/f4ebf257f08affa464fe6036e13f2bf9d4642a40228781dc1235da81be9f/numpy-2.3.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", - "sha256": "572d5512df5470f50ada8d1972c5f1082d9a0b7aa5944db8084077570cf98370" + "url": "https://files.pythonhosted.org/packages/19/fb/cbfdbfa3057a10aea5422c558ac57538e6acc87ec1669e666d32ac198da7/numpy-2.4.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", + "sha256": "c3cd545784805de05aafe1dde61752ea49a359ccba9760c1e5d1c88a93bbf2b7" } ] } diff --git a/src/drum-machine.gresource.xml b/src/drum-machine.gresource.xml index a6ae914..03bb195 100644 --- a/src/drum-machine.gresource.xml +++ b/src/drum-machine.gresource.xml @@ -4,7 +4,7 @@ style.css style-dark.css window.ui - gtk/help-overlay.ui + gtk/shortcuts-dialog.ui gtk/save-changes-dialog.ui gtk/audio-export-dialog.ui gtk/reset-defaults-dialog.ui diff --git a/src/gtk/help-overlay.blp b/src/gtk/help-overlay.blp deleted file mode 100644 index b2d2d3c..0000000 --- a/src/gtk/help-overlay.blp +++ /dev/null @@ -1,119 +0,0 @@ -using Gtk 4.0; - -ShortcutsWindow help_overlay { - modal: true; - - ShortcutsSection { - section-name: "shortcuts"; - max-height: 12; - - ShortcutsGroup { - title: C_("shortcut window", "General"); - - ShortcutsShortcut { - title: C_("shortcut window", "Show Shortcuts"); - action-name: "win.show-help-overlay"; - } - - ShortcutsShortcut { - title: C_("shortcut window", "Quit"); - action-name: "win.quit"; - accelerator: "q"; - } - } - - ShortcutsGroup { - title: C_("shortcut window", "Playback Controls"); - - ShortcutsShortcut { - title: C_("shortcut window", "Play/Pause"); - action-name: "win.play_pause"; - accelerator: "space"; - } - - ShortcutsShortcut { - title: C_("shortcut window", "Clear All"); - action-name: "win.clear_toggles"; - accelerator: "Delete"; - } - } - - ShortcutsGroup { - title: C_("shortcut window", "BPM & Volume Controls"); - - ShortcutsShortcut { - title: C_("shortcut window", "Increase BPM"); - action-name: "win.increase_bpm"; - accelerator: "plus equal"; - } - - ShortcutsShortcut { - title: C_("shortcut window", "Decrease BPM"); - action-name: "win.decrease_bpm"; - accelerator: "minus"; - } - - ShortcutsShortcut { - title: C_("shortcut window", "Increase Volume"); - action-name: "win.increase_volume"; - accelerator: "Up"; - } - - ShortcutsShortcut { - title: C_("shortcut window", "Decrease Volume"); - action-name: "win.decrease_volume"; - accelerator: "Down"; - } - - ShortcutsShortcut { - title: C_("shortcut window", "Mute"); - action-name: "win.mute"; - accelerator: "m"; - } - } - - ShortcutsGroup { - title: C_("shortcut window", "Pattern Management"); - - ShortcutsShortcut { - title: C_("shortcut window", "Load Pattern"); - action-name: "win.load_pattern"; - accelerator: "o"; - } - - ShortcutsShortcut { - title: C_("shortcut window", "Save Pattern"); - action-name: "win.save_pattern"; - accelerator: "s"; - } - - ShortcutsShortcut { - title: C_("shortcut window", "Export Audio"); - action-name: "win.export_audio"; - accelerator: "e"; - } - } - - ShortcutsGroup { - title: C_("shortcut window", "Navigation"); - - ShortcutsShortcut { - title: C_("shortcut window", "Go to Instrument"); - action-name: "win.go_to_instrument"; - accelerator: "i"; - } - - ShortcutsShortcut { - title: C_("shortcut window", "Previous Page"); - action-name: "win.previous_page"; - accelerator: "Page_Up"; - } - - ShortcutsShortcut { - title: C_("shortcut window", "Next Page"); - action-name: "win.next_page"; - accelerator: "Page_Down"; - } - } - } -} diff --git a/src/gtk/shortcuts-dialog.blp b/src/gtk/shortcuts-dialog.blp new file mode 100644 index 0000000..ccad929 --- /dev/null +++ b/src/gtk/shortcuts-dialog.blp @@ -0,0 +1,121 @@ +using Gtk 4.0; +using Adw 1; + +Adw.ShortcutsDialog shortcuts_dialog { + Adw.ShortcutsSection { + title: C_("shortcut window", "General"); + + Adw.ShortcutsItem { + title: C_("shortcut window", "Show Shortcuts"); + action-name: "app.shortcuts"; + } + + Adw.ShortcutsItem { + title: C_("shortcut window", "Quit"); + action-name: "win.quit"; + accelerator: "q"; + } + } + + Adw.ShortcutsSection { + title: C_("shortcut window", "Playback Controls"); + + Adw.ShortcutsItem { + title: C_("shortcut window", "Play/Pause"); + action-name: "win.play_pause"; + accelerator: "space"; + } + + Adw.ShortcutsItem { + title: C_("shortcut window", "Clear All"); + action-name: "win.clear_toggles"; + accelerator: "Delete"; + } + } + + Adw.ShortcutsSection { + title: C_("shortcut window", "BPM & Volume Controls"); + + Adw.ShortcutsItem { + title: C_("shortcut window", "Increase BPM"); + action-name: "win.increase_bpm"; + accelerator: "plus equal"; + } + + Adw.ShortcutsItem { + title: C_("shortcut window", "Decrease BPM"); + action-name: "win.decrease_bpm"; + accelerator: "minus"; + } + } + + Adw.ShortcutsSection { + Adw.ShortcutsItem { + title: C_("shortcut window", "Increase Volume"); + action-name: "win.increase_volume"; + accelerator: "Up"; + } + + Adw.ShortcutsItem { + title: C_("shortcut window", "Decrease Volume"); + action-name: "win.decrease_volume"; + accelerator: "Down"; + } + } + + Adw.ShortcutsSection { + Adw.ShortcutsItem { + title: C_("shortcut window", "Mute"); + action-name: "win.mute"; + accelerator: "m"; + } + } + + Adw.ShortcutsSection { + title: C_("shortcut window", "Pattern Management"); + + Adw.ShortcutsItem { + title: C_("shortcut window", "Load Pattern"); + action-name: "win.load_pattern"; + accelerator: "o"; + } + + Adw.ShortcutsItem { + title: C_("shortcut window", "Save Pattern"); + action-name: "win.save_pattern"; + accelerator: "s"; + } + } + + Adw.ShortcutsSection { + Adw.ShortcutsItem { + title: C_("shortcut window", "Export Audio"); + action-name: "win.export_audio"; + accelerator: "e"; + } + } + + Adw.ShortcutsSection { + title: C_("shortcut window", "Navigation"); + + Adw.ShortcutsItem { + title: C_("shortcut window", "Go to Instrument"); + action-name: "win.go_to_instrument"; + accelerator: "i"; + } + } + + Adw.ShortcutsSection { + Adw.ShortcutsItem { + title: C_("shortcut window", "Previous Page"); + action-name: "win.previous_page"; + accelerator: "Page_Up"; + } + + Adw.ShortcutsItem { + title: C_("shortcut window", "Next Page"); + action-name: "win.next_page"; + accelerator: "Page_Down"; + } + } +} diff --git a/src/handlers/window_actions.py b/src/handlers/window_actions.py index 3424f3f..08229cd 100644 --- a/src/handlers/window_actions.py +++ b/src/handlers/window_actions.py @@ -38,7 +38,6 @@ def setup_actions(self) -> None: """Setup all window actions and keyboard shortcuts""" actions = [ ("open_menu", self.on_open_menu_action, ["F10"]), - ("show-help-overlay", self.on_show_help_overlay, ["question"]), ("play_pause", self.handle_play_pause_action, ["space"]), ("clear_toggles", self.handle_clear_action, ["Delete"]), ("increase_bpm", self.increase_bpm_action, ["plus", "equal"]), @@ -77,11 +76,6 @@ def on_open_menu_action( ) -> None: self.window.menu_button.activate() - def on_show_help_overlay( - self, action: Gio.SimpleAction, param: Optional[object] - ) -> None: - self.window.get_help_overlay().present() - def handle_play_pause_action( self, action: Gio.SimpleAction, param: Optional[object] ) -> None: diff --git a/src/meson.build b/src/meson.build index 48c5abf..8a970d0 100644 --- a/src/meson.build +++ b/src/meson.build @@ -5,7 +5,7 @@ gnome = import('gnome') blueprint_compiler = find_program('blueprint-compiler', required: true) blueprint_files = files( - 'gtk/help-overlay.blp', + 'gtk/shortcuts-dialog.blp', 'gtk/audio-export-dialog.blp', 'gtk/save-changes-dialog.blp', 'gtk/reset-defaults-dialog.blp', diff --git a/src/window.ui b/src/window.ui index 8410df9..bdd5c47 100644 --- a/src/window.ui +++ b/src/window.ui @@ -240,7 +240,7 @@ audio-volume-medium-symbolic
_Keyboard Shortcuts - win.show-help-overlay + app.shortcuts _About Drum Machine