diff options
-rw-r--r-- | src/entry.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/entry.c b/src/entry.c index 0d55f44a..69822823 100644 --- a/src/entry.c +++ b/src/entry.c @@ -26,6 +26,7 @@ #include "util.h" static void zenity_entry_dialog_response (GtkWidget *widget, int response, gpointer data); +static void zenity_entry_response (GtkWidget *widget, gpointer data); static GtkWidget *entry; @@ -68,6 +69,9 @@ zenity_entry (ZenityData *data, ZenityEntryData *entry_data) entry = glade_xml_get_widget (glade_dialog, "zenity_entry_input"); + g_signal_connect (G_OBJECT (entry), "activate", + G_CALLBACK (zenity_entry_response), data); + if (glade_dialog) g_object_unref (glade_dialog); @@ -84,6 +88,22 @@ zenity_entry (ZenityData *data, ZenityEntryData *entry_data) } static void +zenity_entry_response (GtkWidget *widget, gpointer data) +{ + ZenityData *zen_data = data; + const gchar *text; + + zen_data->exit_code = zenity_util_return_exit_code (ZENITY_OK); + + text = gtk_entry_get_text (GTK_ENTRY (entry)); + + if (text != NULL) + g_print ("%s\n", text); + + gtk_main_quit (); +} + +static void zenity_entry_dialog_response (GtkWidget *widget, int response, gpointer data) { ZenityData *zen_data = data; @@ -95,7 +115,7 @@ zenity_entry_dialog_response (GtkWidget *widget, int response, gpointer data) text = gtk_entry_get_text (GTK_ENTRY (entry)); if (text != NULL) - g_print ("%s\n", gtk_entry_get_text (GTK_ENTRY (entry))); + g_print ("%s\n", text); gtk_main_quit (); break; |