Title: [99201] trunk/Tools
Revision
99201
Author
[email protected]
Date
2011-11-03 09:13:49 -0700 (Thu, 03 Nov 2011)

Log Message

[GTK] Show load progress information in MiniBrowser using WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=71461

Reviewed by Martin Robinson.

* MiniBrowser/gtk/BrowserWindow.c:
(resetEntryProgress): Reset the entry progress after a while when
load has been completed.
(webViewLoadProgressChanged): Update location entry progress.
(browserWindowConstructed): Connect to WebView
notify::estimated-load-progress signal.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (99200 => 99201)


--- trunk/Tools/ChangeLog	2011-11-03 16:10:42 UTC (rev 99200)
+++ trunk/Tools/ChangeLog	2011-11-03 16:13:49 UTC (rev 99201)
@@ -1,5 +1,19 @@
 2011-11-03  Carlos Garcia Campos  <[email protected]>
 
+        [GTK] Show load progress information in MiniBrowser using WebKit2 GTK+ API
+        https://bugs.webkit.org/show_bug.cgi?id=71461
+
+        Reviewed by Martin Robinson.
+
+        * MiniBrowser/gtk/BrowserWindow.c:
+        (resetEntryProgress): Reset the entry progress after a while when
+        load has been completed.
+        (webViewLoadProgressChanged): Update location entry progress.
+        (browserWindowConstructed): Connect to WebView
+        notify::estimated-load-progress signal.
+
+2011-11-03  Carlos Garcia Campos  <[email protected]>
+
         [GTK] Remove WebKit2 C API from MiniBrowser
         https://bugs.webkit.org/show_bug.cgi?id=71459
 

Modified: trunk/Tools/MiniBrowser/gtk/BrowserWindow.c (99200 => 99201)


--- trunk/Tools/MiniBrowser/gtk/BrowserWindow.c	2011-11-03 16:10:42 UTC (rev 99200)
+++ trunk/Tools/MiniBrowser/gtk/BrowserWindow.c	2011-11-03 16:13:49 UTC (rev 99201)
@@ -72,6 +72,20 @@
     gtk_entry_set_text(GTK_ENTRY(window->uriEntry), webkit_web_view_get_uri(webView));
 }
 
+static gboolean resetEntryProgress(GtkEntry *entry)
+{
+    gtk_entry_set_progress_fraction(entry, 0);
+    return FALSE;
+}
+
+static void webViewLoadProgressChanged(WebKitWebView *webView, GParamSpec *pspec, BrowserWindow *window)
+{
+    gdouble progress = webkit_web_view_get_estimated_load_progress(webView);
+    gtk_entry_set_progress_fraction(GTK_ENTRY(window->uriEntry), progress);
+    if (progress == 1.0)
+        g_timeout_add(500, (GSourceFunc)resetEntryProgress, window->uriEntry);
+}
+
 static void browserWindowFinalize(GObject *gObject)
 {
     G_OBJECT_CLASS(browser_window_parent_class)->finalize(gObject);
@@ -159,6 +173,7 @@
     BrowserWindow *window = BROWSER_WINDOW(gObject);
 
     g_signal_connect(window->webView, "notify::uri", G_CALLBACK(webViewURIChanged), window);
+    g_signal_connect(window->webView, "notify::estimated-load-progress", G_CALLBACK(webViewLoadProgressChanged), window);
 
     gtk_box_pack_start(GTK_BOX(window->mainBox), GTK_WIDGET(window->webView), TRUE, TRUE, 0);
     gtk_widget_show(GTK_WIDGET(window->webView));
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to