aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/callbacks.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/callbacks.c')
-rw-r--r--src/callbacks.c35
1 files changed, 25 insertions, 10 deletions
diff --git a/src/callbacks.c b/src/callbacks.c
index f41ac74..bed4fab 100644
--- a/src/callbacks.c
+++ b/src/callbacks.c
@@ -309,6 +309,17 @@ cmd_useragent() {
}
void
+set_accept_languages() {
+ if (*uzbl.net.accept_languages == ' ') {
+ g_free (uzbl.net.accept_languages);
+ uzbl.net.accept_languages = NULL;
+ } else {
+ g_object_set(G_OBJECT(uzbl.net.soup_session),
+ SOUP_SESSION_ACCEPT_LANGUAGE, uzbl.net.accept_languages, NULL);
+ }
+}
+
+void
cmd_javascript_windows() {
g_object_set (G_OBJECT(view_settings()), "javascript-can-open-windows-automatically",
uzbl.behave.javascript_windows, NULL);
@@ -324,7 +335,8 @@ cmd_scrollbars_visibility() {
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));
}
- gtk_widget_set_scroll_adjustments (GTK_WIDGET (uzbl.gui.web_view), uzbl.gui.bar_h, uzbl.gui.bar_v);
+
+ set_webview_scroll_adjustments();
}
/* requires webkit >=1.1.14 */
@@ -813,16 +825,19 @@ download_cb(WebKitWebView *web_view, WebKitDownload *download, gpointer user_dat
g_object_get(download, "suggested-filename", &suggested_filename, NULL);
/* get the mimetype of the download */
- const gchar *content_type;
+ const gchar *content_type = NULL;
WebKitNetworkResponse *r = webkit_download_get_network_response(download);
/* downloads can be initiated from the context menu, in that case there is
no network response yet and trying to get one would crash. */
if(WEBKIT_IS_NETWORK_RESPONSE(r)) {
- SoupMessage *m = webkit_network_response_get_message(r);
- SoupMessageHeaders *h;
+ SoupMessage *m = webkit_network_response_get_message(r);
+ SoupMessageHeaders *h = NULL;
g_object_get(m, "response-headers", &h, NULL);
- content_type = soup_message_headers_get_one(h, "Content-Type");
- } else
+ if(h) /* some versions of libsoup don't have "response-headers" here */
+ content_type = soup_message_headers_get_one(h, "Content-Type");
+ }
+
+ if(!content_type)
content_type = "application/octet-stream";
/* get the filesize of the download, as given by the server.
@@ -952,14 +967,14 @@ populate_popup_cb(WebKitWebView *v, GtkMenu *m, void *c) {
(context & mi->context)) {
if(mi->issep) {
item = gtk_separator_menu_item_new();
- gtk_menu_append(GTK_MENU(m), item);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), item);
gtk_widget_show(item);
}
else {
item = gtk_menu_item_new_with_label(mi->name);
g_signal_connect(item, "activate",
G_CALLBACK(run_menu_command), mi->cmd);
- gtk_menu_append(GTK_MENU(m), item);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), item);
gtk_widget_show(item);
}
hit++;
@@ -970,14 +985,14 @@ populate_popup_cb(WebKitWebView *v, GtkMenu *m, void *c) {
!hit) {
if(mi->issep) {
item = gtk_separator_menu_item_new();
- gtk_menu_append(GTK_MENU(m), item);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), item);
gtk_widget_show(item);
}
else {
item = gtk_menu_item_new_with_label(mi->name);
g_signal_connect(item, "activate",
G_CALLBACK(run_menu_command), mi->cmd);
- gtk_menu_append(GTK_MENU(m), item);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m), item);
gtk_widget_show(item);
}
}