diff options
author | Lucas Rocha <lucasr@gnome.org> | 2009-08-10 03:22:05 +0100 |
---|---|---|
committer | Lucas Rocha <lucasr@gnome.org> | 2009-08-10 03:22:05 +0100 |
commit | f0dfc8a82038de334c545a4add70851051dabccc (patch) | |
tree | 741666013f5271d9d23ef43446eb13efc0922f5c | |
parent | a66e4df5d1c0ebb485d5f3f8a24129366d2ff598 (diff) |
[progress] Improve code to update of percentage
-rw-r--r-- | src/progress.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/progress.c b/src/progress.c index a0868ea..bc1c102 100644 --- a/src/progress.c +++ b/src/progress.c @@ -156,21 +156,24 @@ zenity_progress_handle_stdin (GIOChannel *channel, continue; /* Now try to convert the thing to a number */ - percentage = atoi (string->str); - if (percentage >= 100) { + percentage = CLAMP(atoi (string->str), 0, 100); + + gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress_bar), + percentage / 100.0); + + progress_data->percentage = percentage; + + if (percentage == 100) { GObject *button; + button = gtk_builder_get_object(builder, "zenity_progress_ok_button"); - gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress_bar), 1.0); - progress_data->percentage = 100; gtk_widget_set_sensitive(GTK_WIDGET (button), TRUE); gtk_widget_grab_focus(GTK_WIDGET (button)); + if (progress_data->autoclose) { zen_data->exit_code = zenity_util_return_exit_code (ZENITY_OK); gtk_main_quit(); } - } else { - gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress_bar), percentage / 100.0); - progress_data->percentage = percentage; } } |