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.
48 lines
1.7 KiB
48 lines
1.7 KiB
5 years ago
|
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
|
||
|
|