about summary refs log tree commit diff stats
path: root/xombrero.c
diff options
context:
space:
mode:
authorJosh Rickmar <jrick@devio.us>2012-07-13 11:34:24 -0400
committerJosh Rickmar <jrick@devio.us>2012-07-13 11:34:24 -0400
commitdf94016aeecc4512fbc28f1e9d79c7751d6a9488 (patch)
treea3fbe6b217c38ecaae63c56d92daa254d42e5cac /xombrero.c
parentd4352ad1c354e854d7dd5f7991f8dc42224d4985 (diff)
downloadxombrero-df94016aeecc4512fbc28f1e9d79c7751d6a9488.tar.gz
Always create the items in the toolbar, even if they aren't going to
be immediatelly shown due to fancy_bar = 0 or an empty search_string.
We need these to be created in case they are shown again by changing
these gui settings at runtime later.  This also prevents a lot of
Gtk-CRITICAL warnings due to trying to set various widgets active or
inactive based on the current page status (for example, stop and the
js toggle button).

While here, kill some useless boxes around both the uri and search
entries in the toolbar.
Diffstat (limited to 'xombrero.c')
-rw-r--r--xombrero.c109
1 files changed, 49 insertions, 60 deletions
diff --git a/xombrero.c b/xombrero.c
index b4e07cb..ab54bdb 100644
--- a/xombrero.c
+++ b/xombrero.c
@@ -6965,7 +6965,7 @@ create_kiosk_toolbar(struct tab *t)
 GtkWidget *
 create_toolbar(struct tab *t)
 {
-	GtkWidget		*toolbar = NULL, *b, *eb1;
+	GtkWidget		*toolbar = NULL, *b;
 
 #if GTK_CHECK_VERSION(3, 0, 0)
 	b = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
@@ -6976,74 +6976,54 @@ create_toolbar(struct tab *t)
 	toolbar = b;
 	gtk_container_set_border_width(GTK_CONTAINER(toolbar), 0);
 
-	if (fancy_bar) {
-		/* backward button */
-		t->backward = create_button("Back", GTK_STOCK_GO_BACK, 0);
-		gtk_widget_set_sensitive(t->backward, FALSE);
-		g_signal_connect(G_OBJECT(t->backward), "clicked",
-		    G_CALLBACK(backward_cb), t);
-		gtk_box_pack_start(GTK_BOX(b), t->backward, FALSE, FALSE, 0);
-
-		/* forward button */
-		t->forward = create_button("Forward",GTK_STOCK_GO_FORWARD, 0);
-		gtk_widget_set_sensitive(t->forward, FALSE);
-		g_signal_connect(G_OBJECT(t->forward), "clicked",
-		    G_CALLBACK(forward_cb), t);
-		gtk_box_pack_start(GTK_BOX(b), t->forward, FALSE,
-		    FALSE, 0);
-
-		/* stop button */
-		t->stop = create_button("Stop", GTK_STOCK_STOP, 0);
-		gtk_widget_set_sensitive(t->stop, FALSE);
-		g_signal_connect(G_OBJECT(t->stop), "clicked",
-		    G_CALLBACK(stop_cb), t);
-		gtk_box_pack_start(GTK_BOX(b), t->stop, FALSE,
-		    FALSE, 0);
-
-		/* JS button */
-		t->js_toggle = create_button("JS-Toggle", enable_scripts ?
-		    GTK_STOCK_MEDIA_PLAY : GTK_STOCK_MEDIA_PAUSE, 0);
-		gtk_widget_set_sensitive(t->js_toggle, TRUE);
-		g_signal_connect(G_OBJECT(t->js_toggle), "clicked",
-		    G_CALLBACK(js_toggle_cb), t);
-		gtk_box_pack_start(GTK_BOX(b), t->js_toggle, FALSE, FALSE, 0);
-	}
+	/* backward button */
+	t->backward = create_button("Back", GTK_STOCK_GO_BACK, 0);
+	gtk_widget_set_sensitive(t->backward, FALSE);
+	g_signal_connect(G_OBJECT(t->backward), "clicked",
+	    G_CALLBACK(backward_cb), t);
+	gtk_box_pack_start(GTK_BOX(b), t->backward, FALSE, FALSE, 0);
+
+	/* forward button */
+	t->forward = create_button("Forward",GTK_STOCK_GO_FORWARD, 0);
+	gtk_widget_set_sensitive(t->forward, FALSE);
+	g_signal_connect(G_OBJECT(t->forward), "clicked",
+	    G_CALLBACK(forward_cb), t);
+	gtk_box_pack_start(GTK_BOX(b), t->forward, FALSE,
+	    FALSE, 0);
+
+	/* stop button */
+	t->stop = create_button("Stop", GTK_STOCK_STOP, 0);
+	gtk_widget_set_sensitive(t->stop, FALSE);
+	g_signal_connect(G_OBJECT(t->stop), "clicked",
+	    G_CALLBACK(stop_cb), t);
+	gtk_box_pack_start(GTK_BOX(b), t->stop, FALSE,
+	    FALSE, 0);
+
+	/* JS button */
+	t->js_toggle = create_button("JS-Toggle", enable_scripts ?
+	    GTK_STOCK_MEDIA_PLAY : GTK_STOCK_MEDIA_PAUSE, 0);
+	gtk_widget_set_sensitive(t->js_toggle, TRUE);
+	g_signal_connect(G_OBJECT(t->js_toggle), "clicked",
+	    G_CALLBACK(js_toggle_cb), t);
+	gtk_box_pack_start(GTK_BOX(b), t->js_toggle, FALSE, FALSE, 0);
 
 	t->uri_entry = gtk_entry_new();
-	gtk_widget_set_name(GTK_WIDGET(t->uri_entry), "url-red");
 	g_signal_connect(G_OBJECT(t->uri_entry), "activate",
 	    G_CALLBACK(activate_uri_entry_cb), t);
 	g_signal_connect(G_OBJECT(t->uri_entry), "key-press-event",
 	    G_CALLBACK(entry_key_cb), t);
 	completion_add(t);
-#if GTK_CHECK_VERSION(3, 0, 0)
-	eb1 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
-#else
-	eb1 = gtk_hbox_new(FALSE, 0);
-#endif
-	gtk_container_set_border_width(GTK_CONTAINER(eb1), 1);
-	gtk_box_pack_start(GTK_BOX(eb1), t->uri_entry, TRUE, TRUE, 0);
-	gtk_box_pack_start(GTK_BOX(b), eb1, TRUE, TRUE, 0);
+	gtk_box_pack_start(GTK_BOX(b), t->uri_entry, TRUE, TRUE, 0);
 
 	/* search entry */
-	if (fancy_bar && search_string != NULL && strlen(search_string) != 0) {
-		GtkWidget *eb2;
-		t->search_entry = gtk_entry_new();
-		gtk_entry_set_width_chars(GTK_ENTRY(t->search_entry), 30);
-		g_signal_connect(G_OBJECT(t->search_entry), "activate",
-		    G_CALLBACK(activate_search_entry_cb), t);
-		g_signal_connect(G_OBJECT(t->search_entry), "key-press-event",
-		    G_CALLBACK(entry_key_cb), t);
-#if GTK_CHECK_VERSION(3, 0, 0)
-		eb2 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
-#else
-		eb2 = gtk_hbox_new(FALSE, 0);
-#endif
-		gtk_container_set_border_width(GTK_CONTAINER(eb2), 1);
-		gtk_box_pack_start(GTK_BOX(eb2), t->search_entry, TRUE, TRUE,
-		    0);
-		gtk_box_pack_start(GTK_BOX(b), eb2, FALSE, FALSE, 0);
-	}
+	t->search_entry = gtk_entry_new();
+	gtk_entry_set_width_chars(GTK_ENTRY(t->search_entry), 30);
+	g_signal_connect(G_OBJECT(t->search_entry), "activate",
+	    G_CALLBACK(activate_search_entry_cb), t);
+	g_signal_connect(G_OBJECT(t->search_entry), "key-press-event",
+	    G_CALLBACK(entry_key_cb), t);
+	gtk_box_pack_start(GTK_BOX(b), t->search_entry, FALSE, FALSE, 0);
+
 #if !GTK_CHECK_VERSION(3, 0, 0)
 	t->default_style = gtk_rc_get_style(t->uri_entry);
 #endif
@@ -7618,6 +7598,15 @@ create_new_tab(char *title, struct undo *u, int focus, int position)
 	gtk_widget_show_all(b);
 	gtk_widget_show_all(t->vbox);
 
+	if (!fancy_bar) {
+		gtk_widget_hide(t->backward);
+		gtk_widget_hide(t->forward);
+		gtk_widget_hide(t->stop);
+		gtk_widget_hide(t->js_toggle);
+	}
+	if (!fancy_bar || (search_string == NULL || strlen(search_string) == 0))
+		gtk_widget_hide(t->search_entry);
+
 	/* compact tab bar */
 	t->tab_elems.label = gtk_label_new(title);
 	t->tab_elems.favicon = gtk_image_new();