From 3d5dad25d8d400003bea74b4c891f041c01351b5 Mon Sep 17 00:00:00 2001 From: Christopher Davis Date: Mon, 3 Jul 2023 21:55:11 -0400 Subject: application: Load help overlay automatically GTK automatically loads and sets up the action and keyboard shortcut for the Keyboard Shortcuts dialog. We don't need to manually do it as long as we put everything in the right place. See https://docs.gtk.org/gtk4/class.Application.html#automatic-resources --- main/CMakeLists.txt | 2 +- main/data/gresource.xml | 3 +- main/data/gtk/help-overlay.ui | 68 +++++++++++++++++++++++++++++++++++++++++++ main/data/menu_app.ui | 2 +- main/data/shortcuts.ui | 68 ------------------------------------------- main/src/ui/application.vala | 14 --------- 6 files changed, 71 insertions(+), 86 deletions(-) create mode 100644 main/data/gtk/help-overlay.ui delete mode 100644 main/data/shortcuts.ui diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index f78a1191..9202c1c7 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -82,7 +82,7 @@ set(RESOURCE_LIST quote.ui search_autocomplete.ui settings_dialog.ui - shortcuts.ui + gtk/help-overlay.ui unified_main_content.ui unified_window_placeholder.ui diff --git a/main/data/gresource.xml b/main/data/gresource.xml index 603d7fd0..84c6f2b4 100644 --- a/main/data/gresource.xml +++ b/main/data/gresource.xml @@ -61,11 +61,10 @@ quote.ui search_autocomplete.ui settings_dialog.ui - shortcuts.ui + gtk/help-overlay.ui style-dark.css style.css unified_main_content.ui unified_window_placeholder.ui - diff --git a/main/data/gtk/help-overlay.ui b/main/data/gtk/help-overlay.ui new file mode 100644 index 00000000..17b0555c --- /dev/null +++ b/main/data/gtk/help-overlay.ui @@ -0,0 +1,68 @@ + + + + True + + + shortcuts + + + General + + + <ctrl>T + Start Conversation + + + + + <ctrl>G + Join Channel + + + + + <ctrl>question + Keyboard shortcuts + + + + + + + Conversation + + + <ctrl>F + Search messages + + + + + <ctrl>U + Send a file + + + + + + + Navigation + + + <ctrl>Tab + Jump to next conversation + + + + + <ctrl><Shift>Tab + Jump to previous conversation + + + + + + + + diff --git a/main/data/menu_app.ui b/main/data/menu_app.ui index f269e219..bb33ff65 100644 --- a/main/data/menu_app.ui +++ b/main/data/menu_app.ui @@ -13,7 +13,7 @@ Preferences - app.open_shortcuts + win.show-help-overlay Keyboard Shortcuts diff --git a/main/data/shortcuts.ui b/main/data/shortcuts.ui deleted file mode 100644 index 6cc5851a..00000000 --- a/main/data/shortcuts.ui +++ /dev/null @@ -1,68 +0,0 @@ - - - - True - - - shortcuts - - - General - - - <ctrl>T - Start Conversation - - - - - <ctrl>G - Join Channel - - - - - <ctrl>question - Keyboard shortcuts - - - - - - - Conversation - - - <ctrl>F - Search messages - - - - - <ctrl>U - Send a file - - - - - - - Navigation - - - <ctrl>Tab - Jump to next conversation - - - - - <ctrl><Shift>Tab - Jump to previous conversation - - - - - - - - diff --git a/main/src/ui/application.vala b/main/src/ui/application.vala index 9ee3361a..45d958cb 100644 --- a/main/src/ui/application.vala +++ b/main/src/ui/application.vala @@ -195,20 +195,6 @@ public class Dino.Ui.Application : Adw.Application, Dino.Application { add_action(loop_conversations_bw_action); set_accels_for_action("app.loop_conversations_bw", KEY_COMBINATION_LOOP_CONVERSATIONS_REV); - SimpleAction open_shortcuts_action = new SimpleAction("open_shortcuts", null); - open_shortcuts_action.activate.connect((variant) => { - Builder builder = new Builder.from_resource("/im/dino/Dino/shortcuts.ui"); - ShortcutsWindow dialog = (ShortcutsWindow) builder.get_object("shortcuts-window"); - if (!use_csd()) { - dialog.set_titlebar(null); - } - dialog.title = _("Keyboard Shortcuts"); - dialog.set_transient_for(get_active_window()); - dialog.present(); - }); - add_action(open_shortcuts_action); - set_accels_for_action("app.open_shortcuts", KEY_COMBINATION_SHOW_KEYBOARD_SHORTCUTS); - SimpleAction accept_call_action = new SimpleAction("accept-call", new VariantType.tuple(new VariantType[]{VariantType.INT32, VariantType.INT32})); accept_call_action.activate.connect((variant) => { int conversation_id = variant.get_child_value(0).get_int32(); -- cgit v1.2.3-54-g00ecf