diff options
author | Brendan Taylor <whateley@gmail.com> | 2010-12-27 09:44:25 -0700 |
---|---|---|
committer | Brendan Taylor <whateley@gmail.com> | 2010-12-27 14:46:47 -0700 |
commit | 6a357cfa2b005cd594ba1183c71531acd4b09556 (patch) | |
tree | 26f79493eb907bf40afba0a34e414306dd2fb306 /src | |
parent | 5d6dae503e09b3581dafbbd83364943334937166 (diff) |
add an ifdef for GTK3 scrollable changes
Diffstat (limited to 'src')
-rw-r--r-- | src/callbacks.c | 4 | ||||
-rw-r--r-- | src/uzbl-core.c | 33 | ||||
-rw-r--r-- | src/uzbl-core.h | 3 |
3 files changed, 27 insertions, 13 deletions
diff --git a/src/callbacks.c b/src/callbacks.c index ee6cf58..673979e 100644 --- a/src/callbacks.c +++ b/src/callbacks.c @@ -324,8 +324,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_scrollable_set_hadjustment (GTK_SCROLLABLE(uzbl.gui.web_view), uzbl.gui.bar_h); - gtk_scrollable_set_vadjustment (GTK_SCROLLABLE(uzbl.gui.web_view), uzbl.gui.bar_v); + + set_webview_scroll_adjustments(); } /* requires webkit >=1.1.14 */ diff --git a/src/uzbl-core.c b/src/uzbl-core.c index cc680c2..73ed5c6 100644 --- a/src/uzbl-core.c +++ b/src/uzbl-core.c @@ -2277,6 +2277,27 @@ retrieve_geometry() { uzbl.gui.geometry = g_string_free(buf, FALSE); } +void +set_webview_scroll_adjustments() { +#ifdef GTK3 + gtk_scrollable_set_hadjustment (GTK_SCROLLABLE(uzbl.gui.web_view), uzbl.gui.bar_h); + gtk_scrollable_set_vadjustment (GTK_SCROLLABLE(uzbl.gui.web_view), uzbl.gui.bar_v); +#else + gtk_widget_set_scroll_adjustments (GTK_WIDGET (uzbl.gui.web_view), + uzbl.gui.bar_h, uzbl.gui.bar_v); +#endif + + g_object_connect((GObject*)uzbl.gui.bar_v, + "signal::value-changed", (GCallback)scroll_vert_cb, NULL, + "signal::changed", (GCallback)scroll_vert_cb, NULL, + NULL); + + g_object_connect((GObject*)uzbl.gui.bar_h, + "signal::value-changed", (GCallback)scroll_horiz_cb, NULL, + "signal::changed", (GCallback)scroll_horiz_cb, NULL, + NULL); +} + /* set up gtk, gobject, variable defaults and other things that tests and other * external applications need to do anyhow */ void @@ -2418,18 +2439,8 @@ main (int argc, char* argv[]) { uzbl.gui.bar_v = gtk_range_get_adjustment((GtkRange*) uzbl.gui.scbar_v); uzbl.gui.scbar_h = (GtkScrollbar*) gtk_hscrollbar_new (NULL); uzbl.gui.bar_h = gtk_range_get_adjustment((GtkRange*) uzbl.gui.scbar_h); - gtk_scrollable_set_hadjustment (GTK_SCROLLABLE(uzbl.gui.web_view), uzbl.gui.bar_h); - gtk_scrollable_set_vadjustment (GTK_SCROLLABLE(uzbl.gui.web_view), uzbl.gui.bar_v); - g_object_connect((GObject*)uzbl.gui.bar_v, - "signal::value-changed", (GCallback)scroll_vert_cb, NULL, - "signal::changed", (GCallback)scroll_vert_cb, NULL, - NULL); - - g_object_connect((GObject*)uzbl.gui.bar_h, - "signal::value-changed", (GCallback)scroll_horiz_cb, NULL, - "signal::changed", (GCallback)scroll_horiz_cb, NULL, - NULL); + set_webview_scroll_adjustments(); gchar *xwin = g_strdup_printf("%d", (int)uzbl.xwin); g_setenv("UZBL_XID", xwin, TRUE); diff --git a/src/uzbl-core.h b/src/uzbl-core.h index 98ae342..097fbfc 100644 --- a/src/uzbl-core.h +++ b/src/uzbl-core.h @@ -398,6 +398,9 @@ void retrieve_geometry(); void +set_webview_scroll_adjustments(); + +void event(WebKitWebView *page, GArray *argv, GString *result); void |