1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 21:48:13 +00:00

LibGUI: Support typing to search for ComboBox

LibGUI: Fixup missing  one charactor issue
This commit is contained in:
zzLinus 2022-06-20 02:16:28 +08:00 committed by Sam Atkins
parent 247951e09c
commit 6453f74642

View file

@ -25,6 +25,7 @@ class ComboBoxEditor final : public TextEditor {
public:
Function<void(int delta)> on_mousewheel;
Function<void(KeyEvent& event)> on_keypress;
private:
ComboBoxEditor()
@ -46,8 +47,10 @@ private:
if (is_focused())
set_focus(false);
event.accept();
} else
} else {
on_keypress(event);
TextEditor::keydown_event(event);
}
}
};
@ -86,6 +89,12 @@ ComboBox::ComboBox()
if (only_allow_values_from_model())
m_open_button->click();
};
m_editor->on_keypress = [this](KeyEvent& event) {
if (!m_list_window->is_visible() && event.key() <= Key_Z && event.key() >= Key_A) {
open();
m_list_window->event(event);
}
};
m_open_button = add<Button>();
m_open_button->set_button_style(Gfx::ButtonStyle::ThickCap);