diff options
author | Arx Cruz <arxcruz@gnome.org> | 2013-03-05 16:56:24 -0300 |
---|---|---|
committer | Arx Cruz <arxcruz@gnome.org> | 2013-03-05 16:56:24 -0300 |
commit | 1ac1da63f8de626ce10d350be7b29744a743ec95 (patch) | |
tree | 1cefe39f0cd305c6f30807fcf8e87022ff249f48 /src/fileselection.c | |
parent | Updated Brazilian Portuguese translation (diff) | |
download | zenity-1ac1da63f8de626ce10d350be7b29744a743ec95.tar.gz zenity-1ac1da63f8de626ce10d350be7b29744a743ec95.tar.bz2 zenity-1ac1da63f8de626ce10d350be7b29744a743ec95.zip |
But #674881 - Timeout option overriding normal exit code
Diffstat (limited to 'src/fileselection.c')
-rw-r--r-- | src/fileselection.c | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/src/fileselection.c b/src/fileselection.c index cf82f028..b4b0a65e 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); |