From b408a28745702439fd3fb6777d40259fab626f8b Mon Sep 17 00:00:00 2001 From: Friedrich Beckmann Date: Sat, 27 Jun 2020 09:44:16 +0200 Subject: [PATCH] switched to portable control key for accellerators gtk supports the "Primary" key which translates to the "CMD" key on MacOS and "Ctrl" on linux. So this is a portable way to say the "Copy" via key. --- src/ui/gui/psppire-data-window.c | 19 ++++++++++++------- src/ui/gui/psppire-output-window.c | 4 ++-- src/ui/gui/psppire-syntax-window.c | 6 +++--- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/ui/gui/psppire-data-window.c b/src/ui/gui/psppire-data-window.c index 6a0d4719c9..2fffd790a5 100644 --- a/src/ui/gui/psppire-data-window.c +++ b/src/ui/gui/psppire-data-window.c @@ -1230,7 +1230,7 @@ create_file_menu (PsppireDataWindow *dw) } GtkWidget *open = gtk_menu_item_new_with_mnemonic (_("_Open")); - connect_action_to_menuitem (G_ACTION_MAP (dw), "open", open, "O"); + connect_action_to_menuitem (G_ACTION_MAP (dw), "open", open, "O"); GtkWidget *import = gtk_menu_item_new_with_mnemonic (_("_Import Data...")); connect_action_to_menuitem (G_ACTION_MAP (dw), "file-import", import, 0); @@ -1241,10 +1241,10 @@ create_file_menu (PsppireDataWindow *dw) gtk_menu_attach (GTK_MENU (menu), gtk_separator_menu_item_new (), 0, 1, 3, 4); GtkWidget *save = gtk_menu_item_new_with_mnemonic (_("_Save...")); - connect_action_to_menuitem (G_ACTION_MAP (dw), "save", save, "S"); + connect_action_to_menuitem (G_ACTION_MAP (dw), "save", save, "S"); GtkWidget *save_as = gtk_menu_item_new_with_mnemonic (_("Save _As...")); - connect_action_to_menuitem (G_ACTION_MAP (dw), "save-as", save_as, "S"); + connect_action_to_menuitem (G_ACTION_MAP (dw), "save-as", save_as, "S"); GtkWidget *rename_dataset = gtk_menu_item_new_with_mnemonic (_("_Rename Dataset...")); connect_action_to_menuitem (G_ACTION_MAP (dw), "rename-dataset", rename_dataset, 0); @@ -1328,7 +1328,7 @@ create_file_menu (PsppireDataWindow *dw) gtk_menu_attach (GTK_MENU (menu), quit, 0, 1, 13, 14); connect_action_to_menuitem (G_ACTION_MAP (g_application_get_default ()), - "quit", quit, "Q"); + "quit", quit, "Q"); } g_object_set (menuitem, "submenu", menu, NULL); @@ -1367,6 +1367,8 @@ create_edit_menu (PsppireDataWindow *dw) { GtkAccelGroup *ag = gtk_accel_group_new (); + guint key; + GdkModifierType modifier; dw->mi_edit_separator = gtk_separator_menu_item_new (); gtk_menu_attach (GTK_MENU (menu), dw->mi_edit_separator, 0, 1, i, i + 1); ++i; @@ -1376,20 +1378,23 @@ create_edit_menu (PsppireDataWindow *dw) g_signal_connect_swapped (dw->mi_cut, "activate", G_CALLBACK (on_cut), dw); gtk_window_add_accel_group (GTK_WINDOW (dw), ag); + gtk_accelerator_parse ("X", &key, &modifier); gtk_widget_add_accelerator (dw->mi_cut, "activate", ag, - 'X', GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); + key, modifier, GTK_ACCEL_VISIBLE); dw->mi_copy = gtk_menu_item_new_with_mnemonic (_("_Copy")); gtk_menu_attach (GTK_MENU (menu), dw->mi_copy, 0, 1, i, i + 1); ++i; g_signal_connect_swapped (dw->mi_copy, "activate", G_CALLBACK (on_copy), dw); + gtk_accelerator_parse ("C", &key, &modifier); gtk_widget_add_accelerator (dw->mi_copy, "activate", ag, - 'C', GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); + key, modifier, GTK_ACCEL_VISIBLE); dw->mi_paste = gtk_menu_item_new_with_mnemonic (_("_Paste")); gtk_menu_attach (GTK_MENU (menu), dw->mi_paste, 0, 1, i, i + 1); ++i; g_signal_connect_swapped (dw->mi_paste, "activate", G_CALLBACK (on_paste), dw); + gtk_accelerator_parse ("V", &key, &modifier); gtk_widget_add_accelerator (dw->mi_paste, "activate", ag, - 'V', GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); + key, modifier, GTK_ACCEL_VISIBLE); dw->mi_clear_variables = gtk_menu_item_new_with_mnemonic (_("Clear _Variables")); gtk_menu_attach (GTK_MENU (menu), dw->mi_clear_variables, 0, 1, i, i + 1); ++i; diff --git a/src/ui/gui/psppire-output-window.c b/src/ui/gui/psppire-output-window.c index 6e2c42d722..2c45f7cf6a 100644 --- a/src/ui/gui/psppire-output-window.c +++ b/src/ui/gui/psppire-output-window.c @@ -535,7 +535,7 @@ psppire_output_window_init (PsppireOutputWindow *window) g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (print)); - const gchar *accels[2] = { "P", NULL}; + const gchar *accels[2] = { "P", NULL}; gtk_application_set_accels_for_action (app, "win.print", accels); @@ -557,7 +557,7 @@ psppire_output_window_init (PsppireOutputWindow *window) GSimpleAction *copy = g_simple_action_new ("copy", NULL); g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (copy)); - const gchar *accels[2] = { "C", NULL}; + const gchar *accels[2] = { "C", NULL}; gtk_application_set_accels_for_action (app, "win.copy", accels); diff --git a/src/ui/gui/psppire-syntax-window.c b/src/ui/gui/psppire-syntax-window.c index 3fecfad26a..f9e5db633a 100644 --- a/src/ui/gui/psppire-syntax-window.c +++ b/src/ui/gui/psppire-syntax-window.c @@ -906,7 +906,7 @@ psppire_syntax_window_init (PsppireSyntaxWindow *window) G_CALLBACK (psppire_window_save), window); - const gchar *accels[2] = { "S", NULL}; + const gchar *accels[2] = { "S", NULL}; gtk_application_set_accels_for_action (app, "win.save", accels); @@ -924,7 +924,7 @@ psppire_syntax_window_init (PsppireSyntaxWindow *window) window); - const gchar *accels[2] = { "S", NULL}; + const gchar *accels[2] = { "S", NULL}; gtk_application_set_accels_for_action (app, "win.save_as", accels); @@ -976,7 +976,7 @@ psppire_syntax_window_init (PsppireSyntaxWindow *window) g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (run_current_line)); GtkApplication *app = GTK_APPLICATION (g_application_get_default ()); - const gchar *accels[2] = { "R", NULL}; + const gchar *accels[2] = { "R", NULL}; gtk_application_set_accels_for_action (app, "win.run-current-line", accels); -- 2.30.2