From 5421afd75d099e223c2289710cf3ca4fa3f4ed70 Mon Sep 17 00:00:00 2001 From: yggverse Date: Thu, 6 Mar 2025 05:49:01 +0200 Subject: [PATCH] separate controllers to ignore other buttons pressed --- src/app/browser/widget.rs | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/app/browser/widget.rs b/src/app/browser/widget.rs index 9c77a4d9..931d3ae3 100644 --- a/src/app/browser/widget.rs +++ b/src/app/browser/widget.rs @@ -37,17 +37,21 @@ impl Widget { // Connect back/forward navigation buttons @TODO use constant application_window.add_controller({ - use gtk::prelude::GestureSingleExt; - let button_controller = gtk::GestureClick::builder().button(0).build(); - button_controller.connect_pressed({ + let controller = gtk::GestureClick::builder().button(8).build(); + controller.connect_pressed({ let window = window.clone(); - move |this, _, _, _| match this.current_button() { - 8 => window.tab.history_back(None), - 9 => window.tab.history_forward(None), - _ => {} - } + move |_, _, _, _| window.tab.history_back(None) }); - button_controller + controller + }); + + application_window.add_controller({ + let controller = gtk::GestureClick::builder().button(9).build(); + controller.connect_pressed({ + let window = window.clone(); + move |_, _, _, _| window.tab.history_forward(None) + }); + controller }); // Return new struct