summaryrefslogtreecommitdiff
path: root/src/fileselection.c
diff options
context:
space:
mode:
authorArx Cruz <arxcruz@gnome.org>2013-03-05 16:56:24 -0300
committerArx Cruz <arxcruz@gnome.org>2013-03-05 16:56:24 -0300
commit1ac1da63f8de626ce10d350be7b29744a743ec95 (patch)
tree1cefe39f0cd305c6f30807fcf8e87022ff249f48 /src/fileselection.c
parent3af1e444e63449b97167e428ef99b9b8c7c130dd (diff)
downloadzenity-1ac1da63f8de626ce10d350be7b29744a743ec95.tar.gz
But #674881 - Timeout option overriding normal exit code
Diffstat (limited to 'src/fileselection.c')
-rw-r--r--src/fileselection.c33
1 files changed, 22 insertions, 11 deletions
diff --git a/src/fileselection.c b/src/fileselection.c
index cf82f02..b4b0a65 100644
--- a/src/fileselection.c
+++ b/src/fileselection.c
@@ -146,29 +146,40 @@ void zenity_fileselection (ZenityData *data, ZenityFileData *file_data)
}
static void
+zenity_fileselection_dialog_output (GtkWidget *widget, ZenityFileData *file_data)
+{
+ GSList *selections, *iter;
+ selections = gtk_file_chooser_get_filenames (GTK_FILE_CHOOSER (widget));
+ for (iter = selections;iter != NULL; iter = iter->next) {
+ g_print ("%s", g_filename_to_utf8 ((gchar*)iter->data, -1, NULL, NULL, NULL));
+ g_free (iter->data);
+ if (iter->next != NULL)
+ g_print ("%s",file_data->separator);
+ }
+ g_print("\n");
+ g_slist_free(selections);
+}
+
+static void
zenity_fileselection_dialog_response (GtkWidget *widget, int response, gpointer data)
{
ZenityFileData *file_data = data;
- GSList *selections, *iter;
-
+
switch (response) {
case GTK_RESPONSE_OK:
+ zenity_fileselection_dialog_output (widget, file_data);
zenity_util_exit_code_with_data(ZENITY_OK, zen_data);
- selections = gtk_file_chooser_get_filenames (GTK_FILE_CHOOSER (widget));
- for (iter = selections;iter != NULL; iter = iter->next) {
- g_print ("%s", g_filename_to_utf8 ((gchar*)iter->data, -1, NULL, NULL, NULL));
- g_free (iter->data);
- if (iter->next != NULL)
- g_print ("%s",file_data->separator);
- }
- g_print("\n");
- g_slist_free(selections);
break;
case GTK_RESPONSE_CANCEL:
zen_data->exit_code = zenity_util_return_exit_code (ZENITY_CANCEL);
break;
+ case ZENITY_TIMEOUT:
+ zenity_fileselection_dialog_output (widget, file_data);
+ zen_data->exit_code = zenity_util_return_exit_code (ZENITY_TIMEOUT);
+ break;
+
default:
/* Esc dialog */
zen_data->exit_code = zenity_util_return_exit_code (ZENITY_ESC);