summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucas Rocha <lucasr@gnome.org>2009-08-10 03:22:05 +0100
committerLucas Rocha <lucasr@gnome.org>2009-08-10 03:22:05 +0100
commitf0dfc8a82038de334c545a4add70851051dabccc (patch)
tree741666013f5271d9d23ef43446eb13efc0922f5c
parentBug 556198 – Support toggling pulsate in progressbar (diff)
downloadzenity-f0dfc8a82038de334c545a4add70851051dabccc.tar.gz
zenity-f0dfc8a82038de334c545a4add70851051dabccc.tar.bz2
zenity-f0dfc8a82038de334c545a4add70851051dabccc.zip
[progress] Improve code to update of percentage
-rw-r--r--src/progress.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/progress.c b/src/progress.c
index a0868eaa..bc1c102d 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;
}
}
bgstack15