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.
This commit is contained in:
parent
5928f8ad88
commit
dcb8b2b8d1
3 changed files with 11 additions and 32 deletions
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue