]> spindle.queued.net Git - midori/commitdiff
Make the progressbar work properly again
authorChristian Dywan <christian@twotoasts.de>
Thu, 20 Dec 2007 01:07:22 +0000 (02:07 +0100)
committerChristian Dywan <christian@twotoasts.de>
Thu, 20 Dec 2007 01:07:22 +0000 (02:07 +0100)
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
src/helpers.c
src/webView.c

index 161ddc8fdc6a34c1b77ce5ece55a13ad2c17949a..0d08b3528d3fe5464751d5fcd4cd9d2bbf170945 100644 (file)
@@ -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
index 6f7b912b2e1201f19d53f1d92c3643310a397faf..0e895b96960851b70139bddcc8b21107e05b3a34 100644 (file)
@@ -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)
index 4f0f958339fd44e05c3ba5edc64ddf7e4d3f08b1..cfc2bb4402eed26db404e677457302600bd3bb95 100644 (file)
@@ -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);
 }