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
This commit is contained in:
Christopher Davis 2023-07-03 21:55:11 -04:00 committed by fiaxh
parent a36a63d7e4
commit 3d5dad25d8
5 changed files with 4 additions and 19 deletions

View file

@ -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

View file

@ -61,11 +61,10 @@
<file>quote.ui</file>
<file>search_autocomplete.ui</file>
<file>settings_dialog.ui</file>
<file>shortcuts.ui</file>
<file>gtk/help-overlay.ui</file>
<file>style-dark.css</file>
<file>style.css</file>
<file>unified_main_content.ui</file>
<file>unified_window_placeholder.ui</file>
</gresource>
</gresources>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkShortcutsWindow" id="shortcuts-window">
<object class="GtkShortcutsWindow" id="help_overlay">
<property name="modal">True</property>
<child>
<object class="GtkShortcutsSection">

View file

@ -13,7 +13,7 @@
<attribute name="label" translatable="yes">Preferences</attribute>
</item>
<item>
<attribute name="action">app.open_shortcuts</attribute>
<attribute name="action">win.show-help-overlay</attribute>
<attribute name="label" translatable="yes">Keyboard Shortcuts</attribute>
</item>
<item>

View file

@ -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();