From 6a65d75921d352323277f770f357ca3065436133 Mon Sep 17 00:00:00 2001 From: Glynn Foster Date: Tue, 7 Jan 2003 13:22:57 +0000 Subject: Fix up the response signal handlers. Use returns of 0 for 'Ok' and 2003-01-07 Glynn Foster * src/calendar.c, src/entry.c, src/fileselection.c, src/main.c, src/msg.c, src/progress.c, src/text.c, src/tree.c, src/zenity.glade, src/zenity.h: Fix up the response signal handlers. Use returns of 0 for 'Ok' and 'Close', 1 for 'Cancel' and 'Escape' and -1 for 'Uh Oh'. Get stuff printing to stderr. Fix up the error handling that I thought was improved, although still have issues with popt callback getting called numerous times because of more than one instance of the same kind is being used in poptOption. * TODO: Update accordingly. --- src/main.c | 55 +++++++++++++++---------------------------------------- 1 file changed, 15 insertions(+), 40 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index dc341c42..f60eb7f0 100644 --- a/src/main.c +++ b/src/main.c @@ -694,6 +694,7 @@ zenity_init_parsing_options (void) { results->calendar_data->day = 0; results->calendar_data->month = 0; results->calendar_data->year = 0; + results->calendar_data->dialog_text = NULL; results->progress_data->percentage = -1; results->entry_data->visible = TRUE; results->tree_data->checkbox = FALSE; @@ -750,8 +751,8 @@ main (gint argc, gchar **argv) { ZenityData *general; ZenityCalendarData *cal_data; poptContext ctx; - char **args; - int nextopt, retval; + gchar **args; + gint nextopt, retval; bindtextdomain(GETTEXT_PACKAGE, GNOMELOCALEDIR); bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); @@ -787,29 +788,29 @@ main (gint argc, gchar **argv) { switch (results->mode) { case MODE_CALENDAR: - retval = zenity_calendar (results->data, results->calendar_data); + zenity_calendar (results->data, results->calendar_data); break; case MODE_ENTRY: - retval = zenity_entry (results->data, results->entry_data); + zenity_entry (results->data, results->entry_data); break; case MODE_ERROR: case MODE_QUESTION: case MODE_WARNING: case MODE_INFO: - retval = zenity_msg (results->data, results->msg_data); + zenity_msg (results->data, results->msg_data); break; case MODE_FILE: - retval = zenity_fileselection (results->data, results->file_data); + zenity_fileselection (results->data, results->file_data); break; case MODE_LIST: results->tree_data->data = poptGetArgs (ctx); - retval = zenity_tree (results->data, results->tree_data); + zenity_tree (results->data, results->tree_data); break; case MODE_PROGRESS: - retval = zenity_progress (results->data, results->progress_data); + zenity_progress (results->data, results->progress_data); break; case MODE_TEXTINFO: - retval = zenity_text (results->data, results->text_data); + zenity_text (results->data, results->text_data); break; default: g_assert_not_reached (); @@ -817,9 +818,10 @@ main (gint argc, gchar **argv) { exit (-1); } + retval = results->data->exit_code; poptFreeContext(ctx); zenity_free_parsing_options (); - exit (0); + exit (retval); } static @@ -945,38 +947,18 @@ void zenity_parse_options_callback (poptContext ctx, case OPTION_WARNINGTEXT: switch (results->mode) { case MODE_CALENDAR: - if (results->calendar_data->dialog_text != NULL) { - g_printerr (_("--text given twice for the same dialog\n")); - zenity_free_parsing_options (); - exit (-1); - } results->calendar_data->dialog_text = g_strdup (arg); break; case MODE_ENTRY: - if (results->entry_data->dialog_text != NULL) { - g_printerr (_("--text given twice for the same dialog\n")); - zenity_free_parsing_options (); - exit (-1); - } results->entry_data->dialog_text = g_strdup (arg); break; case MODE_ERROR: case MODE_QUESTION: case MODE_WARNING: case MODE_INFO: - if (results->msg_data->dialog_text != NULL) { - g_printerr (_("--text given twice for the same dialog\n")); - zenity_free_parsing_options (); - exit (-1); - } results->msg_data->dialog_text = g_strdup (arg); break; case MODE_PROGRESS: - if (results->progress_data->dialog_text != NULL) { - g_printerr (_("--text given twice for the same dialog\n")); - zenity_free_parsing_options (); - exit (-1); - } results->progress_data->dialog_text = g_strdup (arg); break; default: @@ -1054,19 +1036,9 @@ void zenity_parse_options_callback (poptContext ctx, case OPTION_TEXTFILE: switch (results->mode) { case MODE_FILE: - if (results->file_data->uri != NULL) { - g_printerr (_("--filename given twice for the same dialog\n")); - zenity_free_parsing_options (); - exit (-1); - } results->file_data->uri = g_strdup (arg); break; case MODE_TEXTINFO: - if (results->text_data->uri != NULL) { - g_printerr (_("--filename given twice for the same dialog\n")); - zenity_free_parsing_options (); - exit (-1); - } results->text_data->uri = g_strdup (arg); break; default: @@ -1128,6 +1100,8 @@ void zenity_parse_options_callback (poptContext ctx, zenity_free_parsing_options (); exit (-1); } + g_print ("This does nothing at the moment\n"); + exit (0); break; case OPTION_VERSION: if (results->mode != MODE_LAST) { @@ -1136,6 +1110,7 @@ void zenity_parse_options_callback (poptContext ctx, exit (-1); } g_print ("%s\n", VERSION); + exit (0); break; default: g_warning ("Invalid option %s", arg); -- cgit