You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.7 KiB
47 lines
1.7 KiB
From a10a6e9bbe8d53ffe661c180c6e75a4004d5f881 Mon Sep 17 00:00:00 2001 |
|
From: Jakub Filak <jfilak@redhat.com> |
|
Date: Mon, 17 Mar 2014 10:37:58 +0100 |
|
Subject: [LIBREPORT PATCH 40/93] report-gtk: confirm the ask dialogs on |
|
'Enter' |
|
|
|
This commit adds a convinient way of closing an ask dialog. If user |
|
enters some text, hitting 'Enter' key closes the dialog. Closing the |
|
dialog with empty input text is not allowed because it is simmilar to |
|
clicking 'Cancel' button. |
|
|
|
Related to rhbz#1067123 |
|
|
|
Signed-off-by: Jakub Filak <jfilak@redhat.com> |
|
--- |
|
src/gui-wizard-gtk/wizard.c | 8 ++++++++ |
|
1 file changed, 8 insertions(+) |
|
|
|
diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c |
|
index 32e95c0..f8df31a 100644 |
|
--- a/src/gui-wizard-gtk/wizard.c |
|
+++ b/src/gui-wizard-gtk/wizard.c |
|
@@ -1608,6 +1608,13 @@ static void run_event_gtk_alert(const char *msg, void *args) |
|
log_request_response_communication(msg, NULL, (struct analyze_event_data *)args); |
|
} |
|
|
|
+static void gtk_entry_emit_dialog_response_ok(GtkEntry *entry, GtkDialog *dialog) |
|
+{ |
|
+ /* Don't close the dialogue if the entry is empty */ |
|
+ if (gtk_entry_get_text_length(entry) > 0) |
|
+ gtk_dialog_response(dialog, GTK_RESPONSE_OK); |
|
+} |
|
+ |
|
static char *ask_helper(const char *msg, void *args, bool password) |
|
{ |
|
GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(g_wnd_assistant), |
|
@@ -1626,6 +1633,7 @@ static char *ask_helper(const char *msg, void *args, bool password) |
|
* g_object_set |
|
*/ |
|
g_object_set(G_OBJECT(textbox), "editable", TRUE, NULL); |
|
+ g_signal_connect(textbox, "activate", G_CALLBACK(gtk_entry_emit_dialog_response_ok), dialog); |
|
|
|
if (password) |
|
gtk_entry_set_visibility(GTK_ENTRY(textbox), FALSE); |
|
-- |
|
1.8.3.1 |
|
|
|
|