aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/application.vala
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2023-09-18 23:42:07 +0200
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2023-10-09 14:08:59 +0200
commit677ac164a953a90acff60e7b84b0091184f56464 (patch)
treee015357c23ab56326fae4217c25d294b6626b850 /main/src/ui/application.vala
parent2f1f04b3e80beaf2c7f333a14cb7e14eeafe935e (diff)
downloaddino-677ac164a953a90acff60e7b84b0091184f56464.tar.gz
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.
Diffstat (limited to 'main/src/ui/application.vala')
-rw-r--r--main/src/ui/application.vala17
1 files changed, 16 insertions, 1 deletions
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) => {