desktop: Do not show context menu when right click event is consumed

This commit is contained in:
Kamil Jarosz 2024-07-07 03:13:07 +02:00 committed by TÖRÖK Attila
parent 77d89bbf42
commit 732a31170e
2 changed files with 8 additions and 5 deletions

View File

@ -267,16 +267,17 @@ impl App {
},
ElementState::Released => PlayerEvent::MouseUp { x, y, button },
};
if state == ElementState::Released && button == RuffleMouseButton::Right
let handled = self.player.handle_event(event);
if !handled
&& state == ElementState::Pressed
&& button == RuffleMouseButton::Right
{
// Show context menu.
// TODO: Should be squelched if player consumes the right click event.
if let Some(mut player) = self.player.get() {
let context_menu = player.prepare_context_menu();
self.gui.borrow_mut().show_context_menu(context_menu);
}
}
self.player.handle_event(event);
check_redraw = true;
}
WindowEvent::MouseWheel { delta, .. } => {

View File

@ -435,12 +435,14 @@ impl PlayerController {
}
}
pub fn handle_event(&self, event: PlayerEvent) {
pub fn handle_event(&self, event: PlayerEvent) -> bool {
if let Some(mut player) = self.get() {
if player.is_playing() {
player.handle_event(event);
return player.handle_event(event);
}
}
false
}
pub fn poll(&self) {