HackStudio: Make locator lose focus on close

Make locator lose focus when pressing escape or by clicking in the
editor area.
This commit is contained in:
Marcus Nilsson 2021-06-02 22:44:52 +02:00 committed by Linus Groh
parent b43dad1741
commit 3931b292b0

View file

@ -103,9 +103,12 @@ Locator::Locator(Core::Object* parent)
m_textbox->on_change = [this] {
update_suggestions();
};
m_textbox->on_escape_pressed = [this] {
m_popup_window->hide();
m_textbox->set_focus(false);
};
m_textbox->on_up_pressed = [this] {
GUI::ModelIndex new_index = m_suggestion_view->selection().first();
if (new_index.is_valid())
@ -138,6 +141,10 @@ Locator::Locator(Core::Object* parent)
open_suggestion(selected_index);
};
m_textbox->on_focusout = [&]() {
close();
};
m_popup_window = GUI::Window::construct(parent);
// FIXME: This is obviously not a tooltip window, but it's the closest thing to what we want atm.
m_popup_window->set_window_type(GUI::WindowType::Tooltip);