diff options
author | Paul Hebble <pjhebble@gmail.com> | 2021-02-06 00:09:28 -0600 |
---|---|---|
committer | Paul Hebble <pjhebble@gmail.com> | 2021-02-06 00:09:28 -0600 |
commit | 73b311bf81f83cbe5ae128ffd77326abb43d9a8a (patch) | |
tree | b6a22dc3f2ca95e06356ded08598382c5590fc0a | |
parent | 414867b905e3691758d957cffc3d97a64fa7f2eb (diff) | |
download | yelp-73b311bf81f83cbe5ae128ffd77326abb43d9a8a.tar.gz |
Handle mouse back/forward buttons at window level
-rw-r--r-- | src/yelp-window.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/yelp-window.c b/src/yelp-window.c index a648b6ef..0891ca45 100644 --- a/src/yelp-window.c +++ b/src/yelp-window.c @@ -284,6 +284,27 @@ yelp_window_set_property (GObject *object, } } +static gboolean +window_button_press (YelpWindow *window, GdkEventButton *event, gpointer userdata) +{ + switch (event->button) { + case 8: + g_action_activate (g_action_map_lookup_action (G_ACTION_MAP (window), + "yelp-view-go-back"), + NULL); + return TRUE; + + case 9: + g_action_activate (g_action_map_lookup_action (G_ACTION_MAP (window), + "yelp-view-go-forward"), + NULL); + return TRUE; + + default: + return FALSE; + } +} + static void window_construct (YelpWindow *window) { @@ -543,6 +564,8 @@ window_construct (YelpWindow *window) gtk_drag_dest_add_uri_targets (GTK_WIDGET (window)); g_signal_connect (window, "drag-data-received", G_CALLBACK (window_drag_received), NULL); + + g_signal_connect (window, "button-press-event", G_CALLBACK (window_button_press), NULL); } /******************************************************************************/ |