diff options
author | Peter Hofmann <scm@uninformativ.de> | 2017-01-29 13:06:47 +0100 |
---|---|---|
committer | Peter Hofmann <scm@uninformativ.de> | 2017-01-29 13:22:16 +0100 |
commit | 25690854369a6bdf8e5f01da406fd350009ec135 (patch) | |
tree | 42cf18e0d6674f5db0f27a6f87c809e5c400b0f4 | |
parent | 6511ae1bcbdff80e731e6e805599a6766b0f7917 (diff) | |
download | lariza-25690854369a6bdf8e5f01da406fd350009ec135.tar.gz |
Remove GtkLevelBar, use bar included in GtkEntry
I was still seeing this warning whenever the GtkLevelBar was set to a
value of 0:
Negative content width -2 (allocation 0, extents 1x1) while
allocating gadget (node block, owner GtkLevelBar)
This happens even in a minimal test program:
#include <gtk/gtk.h>
int
main(int argc, char **argv)
{
GtkWidget *win, *progress;
gtk_init(&argc, &argv);
win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
progress = gtk_level_bar_new();
gtk_level_bar_set_value(GTK_LEVEL_BAR(progress), 0);
gtk_container_add(GTK_CONTAINER(win), progress);
gtk_widget_show_all(win);
gtk_main();
}
It would appear that it's illegal to call gtk_level_bar_set_value() with
a value of 0. Or, and that's just as likely, I don't understand how a
GtkLevelBar is supposed to work. You don't even have to call
gtk_level_bar_set_value() at all, since 0 is the default value of such a
bar.
All of this doesn't really matter, though, since GtkEntry has a built-in
progress bar that we can use.
CC #20.
-rw-r--r-- | CHANGES | 4 | ||||
-rw-r--r-- | browser.c | 17 |
2 files changed, 7 insertions, 14 deletions
@@ -13,6 +13,10 @@ next - Lariza now uses WebKit's multi-process model. This means that (most) tabs run as independent processes. If one tab crashes, it should not affect the others. + - The GtkLevelBar to show page loading progress has been removed. + Instead, we now use the progress bar which is already included in + GtkEntry (the input box). This is mostly a cosmetic change, but it + also eliminates some GTK warnings. [Added] - An external user-supplied program can be called for the current URI @@ -55,8 +55,6 @@ struct Client gchar *external_handler_uri; gchar *hover_uri; GtkWidget *location; - GtkWidget *progress; - GtkWidget *top_box; GtkWidget *vbox; GtkWidget *web_view; GtkWidget *win; @@ -207,17 +205,8 @@ client_new(const gchar *uri, WebKitWebView *related_wv, gboolean show) g_signal_connect(G_OBJECT(c->location), "key-press-event", G_CALLBACK(key_location), c); - /* XXX Progress bars don't work/look as intended anymore. Level bars - * are a dirty workaround (kind of). */ - c->progress = gtk_level_bar_new(); - gtk_level_bar_set_value(GTK_LEVEL_BAR(c->progress), 1); - - c->top_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); - gtk_box_pack_start(GTK_BOX(c->top_box), c->location, TRUE, TRUE, 0); - gtk_box_pack_start(GTK_BOX(c->top_box), c->progress, FALSE, FALSE, 0); - c->vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); - gtk_box_pack_start(GTK_BOX(c->vbox), c->top_box, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(c->vbox), c->location, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(c->vbox), c->web_view, TRUE, TRUE, 0); gtk_container_add(GTK_CONTAINER(c->win), c->vbox); @@ -327,7 +316,7 @@ changed_load_progress(GObject *obj, GParamSpec *pspec, gpointer data) gdouble p; p = webkit_web_view_get_estimated_load_progress(WEBKIT_WEB_VIEW(c->web_view)); - gtk_level_bar_set_value(GTK_LEVEL_BAR(c->progress), p); + gtk_entry_set_progress_fraction(GTK_ENTRY(c->location), p); } void @@ -769,7 +758,7 @@ key_web_view(GtkWidget *widget, GdkEvent *event, gpointer data) if (((GdkEventKey *)event)->keyval == GDK_KEY_Escape) { webkit_web_view_stop_loading(WEBKIT_WEB_VIEW(c->web_view)); - gtk_level_bar_set_value(GTK_LEVEL_BAR(c->progress), 0); + gtk_entry_set_progress_fraction(GTK_ENTRY(c->location), 0); } } else if (event->type == GDK_BUTTON_PRESS) |