about summary refs log tree commit diff stats
path: root/xxxterm.c
diff options
context:
space:
mode:
authorMarco Peereboom <marco@conformal.com>2010-08-31 22:05:09 +0000
committerMarco Peereboom <marco@conformal.com>2010-08-31 22:05:09 +0000
commit262c53ce2f3b3e89263623ee293173637f3090fe (patch)
tree5e1fed060c85ea38c5fdb04fd7fa759646a5f65b /xxxterm.c
parent91a3afcac0a3c33a99bf25144b2718d108431cd3 (diff)
downloadxombrero-262c53ce2f3b3e89263623ee293173637f3090fe.tar.gz
fix spinner that stopped and took a while to start
Diffstat (limited to 'xxxterm.c')
-rw-r--r--xxxterm.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/xxxterm.c b/xxxterm.c
index d18716d..2fc7adb 100644
--- a/xxxterm.c
+++ b/xxxterm.c
@@ -1415,9 +1415,14 @@ notify_load_status_cb(WebKitWebView* wview, GParamSpec* pspec, struct tab *t)
 		errx(1, "notify_load_status_cb");
 
 	switch (webkit_web_view_get_load_status(wview)) {
-	case WEBKIT_LOAD_COMMITTED:
+	case WEBKIT_LOAD_PROVISIONAL:
 		gtk_widget_show(t->spinner);
-		gtk_spinner_start(t->spinner);
+		gtk_spinner_start(GTK_SPINNER(t->spinner));
+		gtk_label_set_text(GTK_LABEL(t->label), "Loading");
+
+		break;
+
+	case WEBKIT_LOAD_COMMITTED:
 		frame = webkit_web_view_get_main_frame(wview);
 		uri = webkit_web_frame_get_uri(frame);
 		if (uri)
@@ -1447,15 +1452,13 @@ notify_load_status_cb(WebKitWebView* wview, GParamSpec* pspec, struct tab *t)
 		}
 		gtk_label_set_text(GTK_LABEL(t->label), uri);
 		gtk_window_set_title(GTK_WINDOW(main_window), uri);
-
 		break;
 
-	case WEBKIT_LOAD_PROVISIONAL:
 	case WEBKIT_LOAD_FINISHED:
 #if WEBKIT_CHECK_VERSION(1, 1, 18)
 	case WEBKIT_LOAD_FAILED:
 #endif
-		gtk_spinner_stop(t->spinner);
+		gtk_spinner_stop(GTK_SPINNER(t->spinner));
 		gtk_widget_hide(t->spinner);
 	default:
 		gtk_widget_set_sensitive(GTK_WIDGET(t->stop), FALSE);
@@ -2254,9 +2257,11 @@ create_new_tab(char *title, int focus)
 	gtk_widget_show_all(t->vbox);
 	t->tab_id = gtk_notebook_append_page(notebook, t->vbox, b);
 
-	/* hide spinner for now */
-	gtk_spinner_stop(t->spinner);
-	gtk_widget_hide(t->spinner);
+	/* turn spinner off if we are a new tab without uri */
+	if (!load) {
+		gtk_spinner_stop(GTK_SPINNER(t->spinner));
+		gtk_widget_hide(t->spinner);
+	}
 
 	/* make notebook tabs reorderable */
 	gtk_notebook_set_tab_reorderable(notebook, t->vbox, TRUE);