mirror of
https://github.com/RGBCube/serenity
synced 2025-05-28 08:35:09 +00:00
LibGUI: Allow GUI::Action to swallow key events when disabled
Sometimes an action should be disabled and the KeyEvent not posted to the app's event loop nonetheless. In other words the action swallows the KeyEvent without being activated. Specific use-case: Terminal's Ctrl+Shift+{C,V}.
This commit is contained in:
parent
253aa7aa7d
commit
886fe7e69f
2 changed files with 11 additions and 3 deletions
|
@ -173,9 +173,13 @@ void WindowServerConnection::handle(const Messages::WindowClient::KeyDown& messa
|
|||
#endif
|
||||
}
|
||||
|
||||
if (action && action->is_enabled()) {
|
||||
action->activate();
|
||||
return;
|
||||
if (action) {
|
||||
if (action->is_enabled()) {
|
||||
action->activate();
|
||||
return;
|
||||
}
|
||||
if (action->swallow_key_event_when_disabled())
|
||||
return;
|
||||
}
|
||||
|
||||
bool focused_widget_accepts_emoji_input = window->focused_widget() && window->focused_widget()->accepts_emoji_input();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue