diff options
author | Mike Newman <MikeGTN@src.gnome.org> | 2003-06-03 21:52:16 +0000 |
---|---|---|
committer | Mike Newman <MikeGTN@src.gnome.org> | 2003-06-03 21:52:16 +0000 |
commit | 626d95b752159fdcec1e7c08271f3eaca1113ab7 (patch) | |
tree | 2c1773cc1c39c4ea5abad8316bacccbd9c06097e | |
parent | add a --help option, pointing to zenity docs. Fixes #114338 (diff) | |
download | zenity-626d95b752159fdcec1e7c08271f3eaca1113ab7.tar.gz zenity-626d95b752159fdcec1e7c08271f3eaca1113ab7.tar.bz2 zenity-626d95b752159fdcec1e7c08271f3eaca1113ab7.zip |
Add --auto-close option to progress dialog. Closes dialog when 100% has been reached. Also update docs for new option. Fixes #114125.
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | data/zenity.1 | 3 | ||||
-rw-r--r-- | help/C/zenity.xml | 7 | ||||
-rw-r--r-- | src/main.c | 17 | ||||
-rw-r--r-- | src/progress.c | 10 | ||||
-rw-r--r-- | src/zenity.h | 1 |
6 files changed, 46 insertions, 3 deletions
@@ -1,5 +1,10 @@ 2003-06-03 Mike Newman <mikegtn@gnome.org> + * data/zenity.1: Update docs for --auto-close progress dialog + * help/C/zenity.xml: option. + +2003-06-03 Mike Newman <mikegtn@gnome.org> + * src/gdialog.in: add a --help option, pointing to zenity docs. Fixes #114338 @@ -7,6 +12,12 @@ * configure.in: Added "ko" to ALL_LINGUAS. +2003-06-01 Mike Newman <mikegtn@gnome.org> + + * src/main.c: Implement --auto-close for --progress, which + * src/progress.c: behaves as if OK was clicked when reaching 100% + * src/zenity.h: Fixes #114125 + 2003-05-29 Glynn Foster <glynn.foster@sun.com> * configure.in: release 1.3 diff --git a/data/zenity.1 b/data/zenity.1 index e6b36374..b61a8c99 100644 --- a/data/zenity.1 +++ b/data/zenity.1 @@ -149,6 +149,9 @@ Set the dialog text .B \-\-percentage=INT Set initial percentage .TP +.B \-\-auto\-close +Close dialog when 100% has been reached +.TP .B \-\-pulsate Pulsate progress bar diff --git a/help/C/zenity.xml b/help/C/zenity.xml index e7c9bfb7..37e0fa24 100644 --- a/help/C/zenity.xml +++ b/help/C/zenity.xml @@ -710,6 +710,13 @@ </varlistentry> <varlistentry> + <term><varname>--auto-close</varname></term> + <listitem> + <para>Closes the progress dialog when 100% has been reached.</para> + </listitem> + </varlistentry> + + <varlistentry> <term><varname>--pulsate</varname></term> <listitem> <para>Specify if the Progress dialog should pulsate until an EOF character is read @@ -97,6 +97,7 @@ enum { OPTION_PROGRESSTEXT, OPTION_PERCENTAGE, OPTION_PULSATE, + OPTION_AUTOCLOSE, OPTION_QUESTIONTEXT, OPTION_WARNINGTEXT, OPTION_ABOUT, @@ -520,6 +521,15 @@ struct poptOption progress_options[] = { N_("Pulsate progress bar"), NULL }, + { + "auto-close", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_AUTOCLOSE, + N_("Dismiss the dialog when 100% has been reached"), + NULL + }, POPT_TABLEEND }; @@ -917,6 +927,7 @@ zenity_init_parsing_options (void) { results->tree_data->separator = g_strdup ("/"); results->progress_data->percentage = -1; results->progress_data->pulsate = FALSE; + results->progress_data->autoclose = FALSE; results->entry_data->visible = TRUE; results->tree_data->checkbox = FALSE; results->tree_data->radiobox = FALSE; @@ -1373,6 +1384,12 @@ zenity_parse_options_callback (poptContext ctx, results->progress_data->pulsate = TRUE; break; + case OPTION_AUTOCLOSE: + if (results->mode != MODE_PROGRESS) + zenity_error ("--auto-close", ERROR_SUPPORT); + + results->progress_data->autoclose = TRUE; + break; case OPTION_ABOUT: if (results->mode != MODE_LAST) zenity_error (NULL, ERROR_DIALOG); diff --git a/src/progress.c b/src/progress.c index aa06e7d4..dc0d74b3 100644 --- a/src/progress.c +++ b/src/progress.c @@ -28,7 +28,7 @@ static guint timer; static GladeXML *glade_dialog; - +static ZenityData *zen_data; static GIOChannel *channel; gint zenity_progress_timeout (gpointer data); @@ -111,6 +111,11 @@ zenity_progress_handle_stdin (GIOChannel *channel, gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress_bar), 1.0); gtk_widget_set_sensitive(GTK_WIDGET (button), TRUE); gtk_widget_grab_focus(GTK_WIDGET (button)); + if (progress_data->autoclose) { + zen_data->exit_code = 0; + gtk_main_quit(); + + } } else gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress_bar), percentage / 100.0); } @@ -165,6 +170,7 @@ zenity_progress (ZenityData *data, ZenityProgressData *progress_data) GtkWidget *progress_bar; guint input; + zen_data = data; glade_dialog = zenity_util_load_glade_file ("zenity_progress_dialog"); if (glade_dialog == NULL) { @@ -207,8 +213,6 @@ zenity_progress (ZenityData *data, ZenityProgressData *progress_data) static void zenity_progress_dialog_response (GtkWidget *widget, int response, gpointer data) { - ZenityData *zen_data = data; - switch (response) { case GTK_RESPONSE_OK: zen_data->exit_code = 0; diff --git a/src/zenity.h b/src/zenity.h index 95f477ca..e96f5285 100644 --- a/src/zenity.h +++ b/src/zenity.h @@ -65,6 +65,7 @@ typedef struct { gchar *dialog_text; gchar *entry_text; gboolean pulsate; + gboolean autoclose; gdouble percentage; } ZenityProgressData; |