FIX:fix search dialog cannot dismiss when alt+tab

Change-Id: I2fd0099685ce80e72f6214643b35535c274f7e22
This commit is contained in:
liz.li 2022-11-22 14:20:06 +08:00 committed by Lane.Wei
parent 5f2a537f14
commit fafff5c1d1
2 changed files with 6 additions and 2 deletions

View file

@ -623,6 +623,7 @@ void SearchDialog::Popup(wxPoint position /*= wxDefaultPosition*/)
//const std::string &line = searcher->search_string(); //const std::string &line = searcher->search_string();
//searcher->search(into_u8(line), true); //searcher->search(into_u8(line), true);
wxPopupTransientWindow::Popup(); wxPopupTransientWindow::Popup();
search_line->SetFocus();
update_list(); update_list();
} }
@ -638,7 +639,11 @@ void SearchDialog::OnDismiss() { }
void SearchDialog::Dismiss() void SearchDialog::Dismiss()
{ {
auto pos = wxGetMousePosition(); auto pos = wxGetMousePosition();
if (!m_event_tag->GetScreenRect().Contains(pos) && !this->GetScreenRect().Contains(pos) && !m_search_item_tag->GetScreenRect().Contains(pos)) {
if (!search_line->HasFocus() && !this->HasFocus()) {
Die();
}
else if (!m_event_tag->GetScreenRect().Contains(pos) && !this->GetScreenRect().Contains(pos) && !m_search_item_tag->GetScreenRect().Contains(pos)) {
Die(); Die();
} }
} }

View file

@ -325,7 +325,6 @@ void Tab::create_preset_tab()
this->GetParent()->Layout(); this->GetParent()->Layout();
wxGetApp().plater()->search(false, m_type, m_top_panel->GetParent(), m_search_input, m_btn_search); wxGetApp().plater()->search(false, m_type, m_top_panel->GetParent(), m_search_input, m_btn_search);
m_search_input->SetFocus();
Thaw(); Thaw();
}); });