diff options
Diffstat (limited to 'src/callbacks.c')
-rw-r--r-- | src/callbacks.c | 62 |
1 files changed, 24 insertions, 38 deletions
diff --git a/src/callbacks.c b/src/callbacks.c index 3448a20..853edb2 100644 --- a/src/callbacks.c +++ b/src/callbacks.c @@ -12,21 +12,17 @@ void set_proxy_url() { - SoupURI *suri; + const gchar *url = uzbl.net.proxy_url; + SoupSession *session = uzbl.net.soup_session; + SoupURI *soup_uri = NULL; - if (uzbl.net.proxy_url == NULL || *uzbl.net.proxy_url == ' ') { - soup_session_remove_feature_by_type(uzbl.net.soup_session, - (GType) SOUP_SESSION_PROXY_URI); - } - else { - suri = soup_uri_new(uzbl.net.proxy_url); - g_object_set(G_OBJECT(uzbl.net.soup_session), - SOUP_SESSION_PROXY_URI, - suri, NULL); - soup_uri_free(suri); - } + if (url != NULL || *url != 0 || *url != ' ') + soup_uri = soup_uri_new(url); - return; + g_object_set(G_OBJECT(session), SOUP_SESSION_PROXY_URI, soup_uri, NULL); + + if(soup_uri) + soup_uri_free(soup_uri); } @@ -348,16 +344,9 @@ cmd_javascript_windows() { void cmd_scrollbars_visibility() { - if(uzbl.gui.scrollbars_visible) { - uzbl.gui.bar_h = gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (uzbl.gui.scrolled_win)); - uzbl.gui.bar_v = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (uzbl.gui.scrolled_win)); - } - else { - uzbl.gui.bar_v = gtk_range_get_adjustment (GTK_RANGE (uzbl.gui.scbar_v)); - uzbl.gui.bar_h = gtk_range_get_adjustment (GTK_RANGE (uzbl.gui.scbar_h)); - } + GtkPolicyType policy = uzbl.gui.scrollbars_visible ? GTK_POLICY_AUTOMATIC : GTK_POLICY_NEVER; - set_webview_scroll_adjustments(); + gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW (uzbl.gui.scrolled_win), policy, policy ); } /* requires webkit >=1.1.14 */ @@ -478,7 +467,7 @@ load_status_change_cb (WebKitWebView* web_view, GParamSpec param_spec) { } } -void +gboolean load_error_cb (WebKitWebView* page, WebKitWebFrame* frame, gchar *uri, gpointer web_err, gpointer ud) { (void) page; (void) frame; (void) ud; GError *err = web_err; @@ -488,6 +477,8 @@ load_error_cb (WebKitWebView* page, WebKitWebFrame* frame, gchar *uri, gpointer TYPE_INT, err->code, TYPE_STR, err->message, NULL); + + return FALSE; } void @@ -750,10 +741,11 @@ request_starting_cb(WebKitWebView *web_view, WebKitWebFrame *frame, WebKitWebRes } void -create_web_view_js2_cb (WebKitWebView* web_view, GParamSpec param_spec) { +create_web_view_js_cb (WebKitWebView* web_view, GParamSpec param_spec) { (void) web_view; (void) param_spec; + webkit_web_view_stop_loading(web_view); const gchar* uri = webkit_web_view_get_uri(web_view); if (strncmp(uri, "javascript:", strlen("javascript:")) == 0) { @@ -764,18 +756,6 @@ create_web_view_js2_cb (WebKitWebView* web_view, GParamSpec param_spec) { send_event(NEW_WINDOW, NULL, TYPE_STR, uri, NULL); } - -gboolean -create_web_view_js_cb (WebKitWebView* web_view, gpointer user_data) { - (void) web_view; - (void) user_data; - - g_object_connect (web_view, "signal::notify::uri", - G_CALLBACK(create_web_view_js2_cb), NULL, NULL); - return TRUE; -} - - /*@null@*/ WebKitWebView* create_web_view_cb (WebKitWebView *web_view, WebKitWebFrame *frame, gpointer user_data) { (void) web_view; @@ -787,8 +767,8 @@ create_web_view_cb (WebKitWebView *web_view, WebKitWebFrame *frame, gpointer us WebKitWebView* new_view = WEBKIT_WEB_VIEW(webkit_web_view_new()); - g_signal_connect (new_view, "web-view-ready", - G_CALLBACK(create_web_view_js_cb), NULL); + g_object_connect (new_view, "signal::notify::uri", + G_CALLBACK(create_web_view_js_cb), NULL, NULL); return new_view; } @@ -1062,6 +1042,12 @@ populate_popup_cb(WebKitWebView *v, GtkMenu *m, void *c) { } } +gboolean +scrollbars_policy_cb(WebKitWebView *view) { + (void) view; + return TRUE; +} + void window_object_cleared_cb(WebKitWebView *webview, WebKitWebFrame *frame, JSGlobalContextRef *context, JSObjectRef *object) { |