LibGUI: Allow only one CommandPalette at once to be opened

Previously it was possible to open CommandPalette for
a CommandPalette :^)
This commit is contained in:
Maciej 2022-01-30 19:13:39 +01:00 committed by Andreas Kling
parent daec521010
commit 399d1ff961
Notes: sideshowbarker 2024-07-17 19:53:26 +09:00
2 changed files with 3 additions and 1 deletions

View file

@ -196,8 +196,9 @@ void WindowServerConnection::key_down(i32 window_id, u32 code_point, u32 key, u3
}
// FIXME: This shortcut should be configurable.
if (modifiers == (Mod_Ctrl | Mod_Shift) && key == Key_A) {
if (!m_in_command_palette && modifiers == (Mod_Ctrl | Mod_Shift) && key == Key_A) {
auto command_palette = CommandPalette::construct(*window);
TemporaryChange change { m_in_command_palette, true };
if (command_palette->exec() != GUI::Dialog::ExecOK)
return;
auto* action = command_palette->selected_action();

View file

@ -58,6 +58,7 @@ private:
virtual void track_mouse_move(Gfx::IntPoint const&) override;
virtual void ping() override;
bool m_in_command_palette { false };
bool m_display_link_notification_pending { false };
i32 m_client_id;
};