From 677ac164a953a90acff60e7b84b0091184f56464 Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Mon, 18 Sep 2023 23:42:07 +0200 Subject: Make Ctrl-Q accelerator user-configurable Some devices, such as those using virtual keyboards such as Squeekboard, might find the Ctrl-Q accelerator annoying, as it can be easily mistyped. --- main/src/ui/application.vala | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'main/src/ui/application.vala') diff --git a/main/src/ui/application.vala b/main/src/ui/application.vala index 91d4dec4..a7aaf075 100644 --- a/main/src/ui/application.vala +++ b/main/src/ui/application.vala @@ -117,6 +117,8 @@ public class Dino.Ui.Application : Gtk.Application, Dino.Application { } private void create_actions() { + Dino.Entities.Settings settings = Dino.Application.get_default().settings; + SimpleAction accounts_action = new SimpleAction("accounts", null); accounts_action.activate.connect(show_accounts_window); add_action(accounts_action); @@ -132,7 +134,20 @@ public class Dino.Ui.Application : Gtk.Application, Dino.Application { SimpleAction quit_action = new SimpleAction("quit", null); quit_action.activate.connect(quit); add_action(quit_action); - set_accels_for_action("app.quit", KEY_COMBINATION_QUIT); + + if (settings.quit_ctrl_q) { + set_accels_for_action("app.quit", KEY_COMBINATION_QUIT); + } + + settings.quit_ctrl_q_update.connect((active) => + { + if (active) { + set_accels_for_action("app.quit", KEY_COMBINATION_QUIT); + } + else { + set_accels_for_action("app.quit", {null}); + } + }); SimpleAction open_conversation_action = new SimpleAction("open-conversation", VariantType.INT32); open_conversation_action.activate.connect((variant) => { -- cgit v1.2.3