diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 8239a66233..a2b0a1e72f 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -246,7 +246,10 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_ m_reset_title_text_colour_timer->Stop(); m_reset_title_text_colour_timer->Start(500); } - } + m_mac_fullscreen = false; + } else { + m_mac_fullscreen = true; + } auto int_event = new IntEvent(EVT_NOTICE_FULL_SCREEN_CHANGED, e.IsFullScreen() ? 1 : 0); wxQueueEvent(wxGetApp().plater(), int_event); e.Skip(); diff --git a/src/slic3r/GUI/MainFrame.hpp b/src/slic3r/GUI/MainFrame.hpp index 115760a081..4cb3044a40 100644 --- a/src/slic3r/GUI/MainFrame.hpp +++ b/src/slic3r/GUI/MainFrame.hpp @@ -91,7 +91,10 @@ protected: class MainFrame : public DPIFrame { - bool m_loaded {false}; +#ifdef __APPLE__ + bool m_mac_fullscreen{false}; +#endif + bool m_loaded {false}; wxTimer* m_reset_title_text_colour_timer{ nullptr }; wxString m_qs_last_input_file = wxEmptyString; @@ -205,7 +208,9 @@ protected: public: MainFrame(); ~MainFrame() = default; - +#ifdef __APPLE__ + bool get_mac_full_screen() { return m_mac_fullscreen; } +#endif //BBS GUI refactor enum TabPosition { diff --git a/src/slic3r/GUI/ReleaseNote.cpp b/src/slic3r/GUI/ReleaseNote.cpp index af1b52cf35..a50663938d 100644 --- a/src/slic3r/GUI/ReleaseNote.cpp +++ b/src/slic3r/GUI/ReleaseNote.cpp @@ -755,6 +755,11 @@ void SecondaryCheckDialog::update_text(wxString text) void SecondaryCheckDialog::on_show() { +#ifdef __APPLE__ + if (wxGetApp().mainframe && wxGetApp().mainframe->get_mac_full_screen()) { + SetWindowStyleFlag(GetWindowStyleFlag() | wxSTAY_ON_TOP); + } +#endif wxGetApp().UpdateFrameDarkUI(this); // recover button color wxMouseEvent evt_ok(wxEVT_LEFT_UP); @@ -763,7 +768,7 @@ void SecondaryCheckDialog::on_show() m_button_cancel->GetEventHandler()->ProcessEvent(evt_cancel); this->Show(); - //this->Raise(); + this->Raise(); } void SecondaryCheckDialog::on_hide()