summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Hebble <pjhebble@gmail.com>2021-02-06 00:09:28 -0600
committerPaul Hebble <pjhebble@gmail.com>2021-02-06 00:09:28 -0600
commit73b311bf81f83cbe5ae128ffd77326abb43d9a8a (patch)
treeb6a22dc3f2ca95e06356ded08598382c5590fc0a
parent414867b905e3691758d957cffc3d97a64fa7f2eb (diff)
downloadyelp-73b311bf81f83cbe5ae128ffd77326abb43d9a8a.tar.gz
Handle mouse back/forward buttons at window level
-rw-r--r--src/yelp-window.c23
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);
}
/******************************************************************************/