fix
This commit is contained in:
@@ -161,11 +161,12 @@ module BBS
|
|||||||
|
|
||||||
def dispatch(event)
|
def dispatch(event)
|
||||||
# An open menubar has priority — its keys (arrows, Enter, hotkeys, Esc)
|
# An open menubar has priority — its keys (arrows, Enter, hotkeys, Esc)
|
||||||
# must beat any modal window's focused widget.
|
# must beat any modal window's focused widget. Always swallow events
|
||||||
|
# while the menu is open so they cannot leak through to windows.
|
||||||
if @menubar&.open?
|
if @menubar&.open?
|
||||||
result = @menubar.handle_event(event)
|
result = @menubar.handle_event(event)
|
||||||
return :halt if result == :halt
|
return :halt if result == :halt
|
||||||
return nil if result
|
return nil
|
||||||
end
|
end
|
||||||
|
|
||||||
# Modal windows: top window gets first shot at events
|
# Modal windows: top window gets first shot at events
|
||||||
|
|||||||
@@ -91,8 +91,11 @@ module BBS
|
|||||||
end
|
end
|
||||||
|
|
||||||
def handle_event(event)
|
def handle_event(event)
|
||||||
return open_via_keyboard(event) if !open? && event.key?
|
|
||||||
return navigate(event) if open?
|
return navigate(event) if open?
|
||||||
|
return open_via_keyboard(event) if event.key?
|
||||||
|
if event.mouse? && event.mouse.kind == :press && event.mouse.button == :left
|
||||||
|
return handle_mouse_press(event)
|
||||||
|
end
|
||||||
nil
|
nil
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -142,9 +145,6 @@ module BBS
|
|||||||
return :handled
|
return :handled
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if event.mouse? && event.mouse.kind == :press && event.mouse.button == :left
|
|
||||||
return handle_mouse_press(event)
|
|
||||||
end
|
|
||||||
nil
|
nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user