Revert "Fix for #11988 : Drop down menus appear outside of PS and cannot be opened again"

This reverts commit 6ff8537ff4fbd14ca09934cdb2bb987131a7b559. There is a non-trivial conflict
when merging to master, let's redo the commit after the merge so it is clear in history.
This commit is contained in:
Lukas Matena 2024-01-26 12:54:10 +01:00
parent df14f7518d
commit 69e0bc3064
2 changed files with 0 additions and 30 deletions

View File

@ -753,38 +753,10 @@ static wxRichToolTipPopup* get_rtt_popup(wxButton* btn)
return nullptr;
}
// Help function to find and check if some combobox is dropped down and then dismiss it
static bool found_and_dismiss_shown_dropdown(wxWindow* win)
{
auto children = win->GetChildren();
if (children.IsEmpty()) {
if (auto dd = dynamic_cast<DropDown*>(win); dd && dd->IsShown()) {
dd->CallDismissAndNotify();
return true;
}
}
for (auto child : children) {
if (found_and_dismiss_shown_dropdown(child))
return true;
}
return false;
}
void Sidebar::priv::show_rich_tip(const wxString& tooltip, wxButton* btn)
{
if (tooltip.IsEmpty())
return;
// Currently state (propably wxWidgets issue) :
// When second wxPopupTransientWindow is popped up, then first wxPopupTransientWindow doesn't receive EVT_DISMISS and stay on the top.
// New comboboxes use wxPopupTransientWindow as DropDown now
// That is why DropDown stay on top, when we show rich tooltip for btn.
// (see https://github.com/prusa3d/PrusaSlicer/issues/11988)
// So, check the combo boxes and close them if necessary before showing the rich tip.
found_and_dismiss_shown_dropdown(scrolled);
wxRichToolTip tip(tooltip, "");
tip.SetIcon(wxICON_NONE);
tip.SetTipKind(wxTipKind_BottomRight);

View File

@ -86,8 +86,6 @@ public:
bool HasDismissLongTime();
static void SetTransparentBG(wxDC& dc, wxWindow* win);
void CallDismissAndNotify() { DismissAndNotify(); }
protected:
void OnDismiss() override;