From 1ac1da63f8de626ce10d350be7b29744a743ec95 Mon Sep 17 00:00:00 2001 From: Arx Cruz Date: Tue, 5 Mar 2013 16:56:24 -0300 Subject: But #674881 - Timeout option overriding normal exit code --- src/fileselection.c | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) (limited to 'src/fileselection.c') diff --git a/src/fileselection.c b/src/fileselection.c index cf82f028..b4b0a65e 100644 --- a/src/fileselection.c +++ b/src/fileselection.c @@ -145,30 +145,41 @@ void zenity_fileselection (ZenityData *data, ZenityFileData *file_data) gtk_main (); } +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); -- cgit