From dcb8b2b8d154fc7d0cd4d74e40a0c93dc498a71f Mon Sep 17 00:00:00 2001 From: Christian Dywan Date: Thu, 20 Dec 2007 02:07:22 +0100 Subject: [PATCH] Make the progressbar work properly again The code was not updated along with other changes in the past. It was cleaned up to work properly again, particularly the percentage is displayed in text form again. --- src/browser.h | 2 -- src/helpers.c | 36 ++++++++++-------------------------- src/webView.c | 5 +---- 3 files changed, 11 insertions(+), 32 deletions(-) diff --git a/src/browser.h b/src/browser.h index 161ddc8f..0d08b352 100644 --- a/src/browser.h +++ b/src/browser.h @@ -68,8 +68,6 @@ typedef struct _CBrowser gboolean hasStatusbar; gchar* elementUri; // the element the mouse is hovering on gint loadedPercent; // -1 means "not loading" - gint loadedBytes; - gint loadedBytesMax; //UNDEFINED favicon; guint security; gchar* statusMessage; // message from a webView diff --git a/src/helpers.c b/src/helpers.c index 6f7b912b..0e895b96 100644 --- a/src/helpers.c +++ b/src/helpers.c @@ -318,18 +318,12 @@ void update_statusbar_text(CBrowser* browser) gtk_statusbar_push(GTK_STATUSBAR(browser->statusbar), 1 , browser->statusMessage); } - else + sokoke_widget_set_visible(browser->progress, browser->loadedPercent > -1); + if(browser->loadedPercent > -1) { - gchar* message; - if(browser->loadedPercent) - message = g_strdup_printf("%d%% loaded, %d/%d bytes" - , browser->loadedPercent, browser->loadedBytes, browser->loadedBytesMax); - else if(browser->loadedBytes) - message = g_strdup_printf("%d bytes", browser->loadedBytes); - else - message = g_strdup(" "); - gtk_progress_bar_set_text(GTK_PROGRESS_BAR(browser->progress), message); - g_free(message); + gchar* message = g_strdup_printf("%d%% loaded", browser->loadedPercent); + gtk_progress_bar_set_text(GTK_PROGRESS_BAR(browser->progress), message); + g_free(message); } } @@ -388,22 +382,12 @@ void update_gui_state(CBrowser* browser) gtk_image_set_from_stock(GTK_IMAGE(browser->location_icon), GTK_STOCK_FILE , GTK_ICON_SIZE_MENU); - if(browser->loadedBytesMax < 1) // Skip null and negative values - { - gtk_progress_bar_pulse(GTK_PROGRESS_BAR(browser->progress)); - update_statusbar_text(browser); - } + if(browser->loadedPercent > -1) + gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(browser->progress) + , browser->loadedPercent ? browser->loadedPercent / 100.0 : 0); else - { - if(browser->loadedBytes > browser->loadedBytesMax) - browser->loadedPercent = 100; - else - browser->loadedPercent - = (browser->loadedBytes * 100) / browser->loadedBytesMax; - gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(browser->progress) - , browser->loadedPercent / 100.0); - update_statusbar_text(browser); - } + gtk_progress_bar_pulse(GTK_PROGRESS_BAR(browser->progress)); + update_statusbar_text(browser); } void update_feeds(CBrowser* browser) diff --git a/src/webView.c b/src/webView.c index 4f0f9583..cfc2bb44 100644 --- a/src/webView.c +++ b/src/webView.c @@ -77,8 +77,6 @@ void on_webView_load_started(GtkWidget* webView, WebKitWebFrame* widget , CBrowser* browser) { browser->loadedPercent = 0; - browser->loadedBytes = 0; - browser->loadedBytesMax = 0; update_favicon(browser); if(webView == get_nth_webView(-1, browser)) update_gui_state(browser); @@ -104,8 +102,7 @@ void on_webView_load_committed(GtkWidget* webView, WebKitWebFrame* frame void on_webView_load_changed(GtkWidget* webView, gint progress, CBrowser* browser) { - browser->loadedBytes = progress; - browser->loadedBytes = 100; + browser->loadedPercent = progress; if(webView == get_nth_webView(-1, browser)) update_gui_state(browser); }