summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/entry.c22
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;
bgstack15