Updating branch refs/heads/master to 1161ff583b2c946715826a514a5489a7309dacea (commit) from b1b9fa1598e54093c4a9682b875f083dfb0a2a74 (commit)
commit 1161ff583b2c946715826a514a5489a7309dacea Author: Jérôme Guelfucci <jero...@xfce.org> Date: Sat Dec 22 10:00:57 2012 +0100 Improve the contents of the command dialog. When creating a shortcut show an explanation instead of an empty shortcut label. Show the shortcut label when we have one instead of the raw Gtk+ accelerator string. dialogs/keyboard-settings/command-dialog.c | 36 +++++++++++++++----- dialogs/keyboard-settings/xfce-keyboard-settings.c | 6 +++- 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/dialogs/keyboard-settings/command-dialog.c b/dialogs/keyboard-settings/command-dialog.c index 7216c7b..5256b3a 100644 --- a/dialogs/keyboard-settings/command-dialog.c +++ b/dialogs/keyboard-settings/command-dialog.c @@ -120,6 +120,21 @@ command_dialog_create_contents (CommandDialog *dialog, gtk_widget_grab_default (button); gtk_widget_show (button); + if (!shortcut) + { + const gchar *explanation; + gchar *explanation_markup; + + label = gtk_label_new (NULL); + + explanation = _("Enter the command you want to trigger with a shortcut."); + explanation_markup = g_strdup_printf ("<i>%s</i>", explanation); + gtk_label_set_markup (GTK_LABEL (label), explanation_markup); + gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), + label, FALSE, FALSE, 0); + gtk_widget_show (label); + } + table = gtk_table_new (3, 2, FALSE); gtk_table_set_row_spacings (GTK_TABLE (table), 6); gtk_table_set_col_spacings (GTK_TABLE (table), 12); @@ -127,15 +142,18 @@ command_dialog_create_contents (CommandDialog *dialog, gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), table); gtk_widget_show (table); - label = gtk_label_new (_("Shortcut:")); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 0); - gtk_widget_show (label); - - label = gtk_label_new (shortcut); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_table_attach (GTK_TABLE (table), label, 1, 2, 0, 1, GTK_FILL, GTK_FILL, 0, 0); - gtk_widget_show (label); + if (shortcut) + { + label = gtk_label_new (_("Shortcut:")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 0); + gtk_widget_show (label); + + label = gtk_label_new (shortcut); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (table), label, 1, 2, 0, 1, GTK_FILL, GTK_FILL, 0, 0); + gtk_widget_show (label); + } label = gtk_label_new (_("Command:")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); diff --git a/dialogs/keyboard-settings/xfce-keyboard-settings.c b/dialogs/keyboard-settings/xfce-keyboard-settings.c index 0a01e1a..6880d95 100644 --- a/dialogs/keyboard-settings/xfce-keyboard-settings.c +++ b/dialogs/keyboard-settings/xfce-keyboard-settings.c @@ -728,14 +728,17 @@ xfce_keyboard_settings_edit_command (XfceKeyboardSettings *settings, /* Convert tree path to tree iter */ if (G_LIKELY (gtk_tree_model_get_iter (model, &iter, path))) { + gchar *shortcut_label; + /* Read shortcut and current command from the activated row */ gtk_tree_model_get (model, &iter, COMMAND_COLUMN, &command, SHORTCUT_COLUMN, &shortcut, + SHORTCUT_LABEL_COLUMN, &shortcut_label, SNOTIFY_COLUMN, &snotify, -1); /* Request a new command from the user */ - dialog = command_dialog_new (shortcut, command, snotify); + dialog = command_dialog_new (shortcut_label, command, snotify); response = command_dialog_run (COMMAND_DIALOG (dialog), GTK_WIDGET (tree_view)); if (G_LIKELY (response == GTK_RESPONSE_OK)) @@ -760,6 +763,7 @@ xfce_keyboard_settings_edit_command (XfceKeyboardSettings *settings, gtk_widget_destroy (dialog); /* Free strings */ + g_free (shortcut_label); g_free (shortcut); g_free (command); } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits