diff options
author | Josh Rickmar <jrick@devio.us> | 2012-06-15 13:47:20 -0400 |
---|---|---|
committer | Josh Rickmar <jrick@devio.us> | 2012-06-15 13:48:12 -0400 |
commit | 2aaadca5a1351ca1bf34670a97875133a71b8fb3 (patch) | |
tree | 2d1e38903567f760333ed49e6ae35aeb71a72a13 | |
parent | 8aac6ddc8eed06eea81314d2ae01ac12448700a2 (diff) | |
download | xombrero-2aaadca5a1351ca1bf34670a97875133a71b8fb3.tar.gz |
Add an 'p' option to statusbar_elems to show if the http_proxy is
currently enabled or disabled in the statusbar.
-rw-r--r-- | settings.c | 12 | ||||
-rw-r--r-- | xombrero.1 | 1 | ||||
-rw-r--r-- | xombrero.c | 37 | ||||
-rw-r--r-- | xombrero.h | 2 |
4 files changed, 41 insertions, 11 deletions
diff --git a/settings.c b/settings.c index 1fbf989..e3cdc50 100644 --- a/settings.c +++ b/settings.c @@ -571,6 +571,8 @@ set_statusbar_font(char *value) statusbar_font); gtk_widget_modify_font(GTK_WIDGET(t->sbe.position), statusbar_font); + gtk_widget_modify_font(GTK_WIDGET(t->sbe.proxy), + statusbar_font); } return (0); } @@ -2078,10 +2080,14 @@ set_fancy_bar(char *value) void setup_proxy(char *uri) { + struct tab *t; + if (proxy_uri) { g_object_set(session, "proxy_uri", NULL, (char *)NULL); soup_uri_free(proxy_uri); proxy_uri = NULL; + TAILQ_FOREACH(t, &tabs, entry) + gtk_entry_set_text(GTK_ENTRY(t->sbe.proxy), ""); } if (http_proxy) { if (http_proxy != uri) { @@ -2094,9 +2100,13 @@ setup_proxy(char *uri) http_proxy = g_strdup(uri); DNPRINTF(XT_D_CONFIG, "setup_proxy: %s\n", uri); proxy_uri = soup_uri_new(http_proxy); - if (!(proxy_uri == NULL || !SOUP_URI_VALID_FOR_HTTP(proxy_uri))) + if (proxy_uri != NULL && SOUP_URI_VALID_FOR_HTTP(proxy_uri)) { g_object_set(session, "proxy-uri", proxy_uri, (char *)NULL); + TAILQ_FOREACH(t, &tabs, entry) + gtk_entry_set_text(GTK_ENTRY(t->sbe.proxy), + "proxy"); + } } } diff --git a/xombrero.1 b/xombrero.1 index 1c73661..d223e9b 100644 --- a/xombrero.1 +++ b/xombrero.1 @@ -1429,6 +1429,7 @@ Define the components of the status bar. The possible components are: .Bd -literal -offset indent | - separator P - page progress percent +p - proxy enabled/disabled B - buffer command Z - page zoom level T - current tab number diff --git a/xombrero.c b/xombrero.c index ddd6632..c284ac5 100644 --- a/xombrero.c +++ b/xombrero.c @@ -1821,12 +1821,14 @@ statusbar_modify_attr(struct tab *t, const char *text, const char *base) gtk_widget_modify_text(t->sbe.zoom, GTK_STATE_NORMAL, &c_text); gtk_widget_modify_text(t->sbe.position, GTK_STATE_NORMAL, &c_text); gtk_widget_modify_text(t->sbe.tabs, GTK_STATE_NORMAL, &c_text); + gtk_widget_modify_text(t->sbe.proxy, GTK_STATE_NORMAL, &c_text); gtk_widget_modify_base(t->sbe.statusbar, GTK_STATE_NORMAL, &c_base); gtk_widget_modify_base(t->sbe.buffercmd, GTK_STATE_NORMAL, &c_base); gtk_widget_modify_base(t->sbe.zoom, GTK_STATE_NORMAL, &c_base); gtk_widget_modify_base(t->sbe.position, GTK_STATE_NORMAL, &c_base); gtk_widget_modify_base(t->sbe.tabs, GTK_STATE_NORMAL, &c_base); + gtk_widget_modify_base(t->sbe.proxy, GTK_STATE_NORMAL, &c_base); } void @@ -7127,8 +7129,9 @@ create_new_tab(char *title, struct undo *u, int focus, int position) GList *items; GdkColor color; char *p; - int sbe_p = 0, sbe_b = 0, - sbe_z = 0, sbe_t = 0; + int sbe_P = 0, sbe_B = 0, + sbe_Z = 0, sbe_T = 0, + sbe_p = 0; DNPRINTF(XT_D_TAB, "create_new_tab: title %s focus %d\n", title, focus); @@ -7216,6 +7219,7 @@ create_new_tab(char *title, struct undo *u, int focus, int position) t->sbe.zoom = create_sbe(40); t->sbe.buffercmd = create_sbe(60); t->sbe.tabs = create_sbe(40); + t->sbe.proxy = create_sbe(60); statusbar_modify_attr(t, XT_COLOR_WHITE, XT_COLOR_BLACK); @@ -7237,45 +7241,58 @@ create_new_tab(char *title, struct undo *u, int focus, int position) break; } case 'P': - if (sbe_p) { + if (sbe_P) { warnx("flag \"%c\" specified more than " "once in statusbar_elems\n", *p); break; } - sbe_p = 1; + sbe_P = 1; gtk_box_pack_start(GTK_BOX(t->statusbar_box), t->sbe.position, FALSE, FALSE, FALSE); break; case 'B': - if (sbe_b) { + if (sbe_B) { warnx("flag \"%c\" specified more than " "once in statusbar_elems\n", *p); break; } - sbe_b = 1; + sbe_B = 1; gtk_box_pack_start(GTK_BOX(t->statusbar_box), t->sbe.buffercmd, FALSE, FALSE, FALSE); break; case 'Z': - if (sbe_z) { + if (sbe_Z) { warnx("flag \"%c\" specified more than " "once in statusbar_elems\n", *p); break; } - sbe_z = 1; + sbe_Z = 1; gtk_box_pack_start(GTK_BOX(t->statusbar_box), t->sbe.zoom, FALSE, FALSE, FALSE); break; case 'T': - if (sbe_t) { + if (sbe_T) { warnx("flag \"%c\" specified more than " "once in statusbar_elems\n", *p); break; } - sbe_t = 1; + sbe_T = 1; gtk_box_pack_start(GTK_BOX(t->statusbar_box), t->sbe.tabs, FALSE, FALSE, FALSE); break; + case 'p': + if (sbe_p) { + warnx("flag \"%c\" specified more than " + "once in statusbar_elems\n", *p); + break; + } + sbe_p = 1; + gtk_box_pack_start(GTK_BOX(t->statusbar_box), + t->sbe.proxy, FALSE, FALSE, FALSE); + if (proxy_uri) + gtk_entry_set_text(GTK_ENTRY(t->sbe.proxy), + "proxy"); + break; default: warnx("illegal flag \"%c\" in statusbar_elems\n", *p); break; diff --git a/xombrero.h b/xombrero.h index 78e85cb..d49660f 100644 --- a/xombrero.h +++ b/xombrero.h @@ -208,6 +208,7 @@ struct tab { GtkWidget *zoom; GtkWidget *position; GtkWidget *tabs; + GtkWidget *proxy; } sbe; GtkWidget *cmd; GtkWidget *buffers; @@ -723,6 +724,7 @@ extern int fancy_bar; extern int browser_mode; extern int enable_localstorage; extern char *statusbar_elems; +extern SoupURI *proxy_uri; extern int show_tabs; extern int tab_style; |