diff options
Allow toggling auto_load_images
1 files changed, 32 insertions, 0 deletions
| -rw-r--r-- | badwolf.c | 32 |
@@ -53,6 +53,7 @@ static void web_contextCb_download_started(WebKitWebContext *web_context, gpointer user_data); static gboolean locationCb_activate(GtkEntry *location, gpointer user_data); static gboolean javascriptCb_toggled(GtkButton *javascript, gpointer user_data); +static gboolean auto_load_imagesCb_toggled(GtkButton *auto_load_images, gpointer user_data); static gboolean SearchEntryCb_next__match(GtkSearchEntry *search, gpointer user_data); static gboolean SearchEntryCb_previous__match(GtkSearchEntry *search, gpointer user_data); static gboolean SearchEntryCb_search__changed(GtkSearchEntry *search, gpointer user_data); @@ -463,6 +464,21 @@ javascriptCb_toggled(GtkButton *javascript, gpointer user_data) } static gboolean +auto_load_imagesCb_toggled(GtkButton *auto_load_images, gpointer user_data) +{ + struct Client *browser = (struct Client *)user_data; + + WebKitSettings *settings = webkit_web_view_get_settings(browser->webView); + + webkit_settings_set_auto_load_images( + settings, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(auto_load_images))); + + webkit_web_view_set_settings(browser->webView, settings); + + return TRUE; +} + +static gboolean SearchEntryCb_next__match(GtkSearchEntry *search, gpointer user_data) { (void)search; @@ -530,6 +546,10 @@ new_browser(struct Window *window, const gchar *target_url, WebKitWebView *relat gtk_widget_set_name(browser->javascript, "browser__javascript"); gtk_container_add(GTK_CONTAINER(browser->javascript), gtk_image_new_from_icon_name("text-x-script", GTK_ICON_SIZE_LARGE_TOOLBAR)); + browser->auto_load_images = gtk_toggle_button_new(); + gtk_widget_set_name(browser->auto_load_images, "browser__load_images"); + gtk_container_add(GTK_CONTAINER(browser->auto_load_images), + gtk_image_new_from_icon_name("image-x-generic", GTK_ICON_SIZE_LARGE_TOOLBAR)); browser->statusbar = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_set_name(browser->statusbar, "browser__statusbar"); @@ -562,6 +582,8 @@ new_browser(struct Window *window, const gchar *target_url, WebKitWebView *relat gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(browser->javascript), webkit_settings_get_enable_javascript_markup(settings)); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(browser->auto_load_images), + webkit_settings_get_auto_load_images(settings)); browser->webView = WEBKIT_WEB_VIEW(g_object_new(WEBKIT_TYPE_WEB_VIEW, "web-context", @@ -574,6 +596,7 @@ new_browser(struct Window *window, const gchar *target_url, WebKitWebView *relat gtk_widget_set_name(GTK_WIDGET(browser->webView), "browser__webView"); gtk_widget_set_tooltip_text(browser->javascript, _("Toggle javascript")); + gtk_widget_set_tooltip_text(browser->auto_load_images, _("Toggle loading images automatically")); gtk_box_pack_start(GTK_BOX(browser->toolbar), GTK_WIDGET(browser->location), @@ -585,6 +608,11 @@ new_browser(struct Window *window, const gchar *target_url, WebKitWebView *relat FALSE, FALSE, BADWOLF_TOOLBAR_PADDING); + gtk_box_pack_start(GTK_BOX(browser->toolbar), + GTK_WIDGET(browser->auto_load_images), + FALSE, + FALSE, + BADWOLF_TOOLBAR_PADDING); gtk_box_pack_start( GTK_BOX(browser->box), GTK_WIDGET(browser->toolbar), FALSE, FALSE, BADWOLF_BOX_PADDING); @@ -621,6 +649,10 @@ new_browser(struct Window *window, const gchar *target_url, WebKitWebView *relat /* signals for javacript toggle widget */ g_signal_connect(browser->javascript, "toggled", G_CALLBACK(javascriptCb_toggled), browser); + /* signals for auto_load_images toggle widget */ + g_signal_connect( + browser->auto_load_images, "toggled", G_CALLBACK(auto_load_imagesCb_toggled), browser); + /* signals for WebView widget */ g_signal_connect(browser->webView, "web-process-terminated", |