diff --git a/src/slic3r/GUI/StatusPanel.cpp b/src/slic3r/GUI/StatusPanel.cpp index 2c7bb2dc4..08027b72f 100644 --- a/src/slic3r/GUI/StatusPanel.cpp +++ b/src/slic3r/GUI/StatusPanel.cpp @@ -1620,8 +1620,13 @@ void StatusPanel::update(MachineObject *obj) if (iter_connect_type->second == "lan" && obj->dev_connection_type == "cloud") { wxString txt = _L("Disconnected from printer [%s] due to LAN mode disabled.Please reconnect the printer by logging in with your user account."); wxString msg = wxString::Format(txt,obj->dev_name); - MessageDialog msg_wingow(nullptr, msg, wxEmptyString, wxICON_WARNING | wxOK); - msg_wingow.ShowModal(); + if (!m_show_mode_changed) { + m_show_mode_changed = true; + MessageDialog msg_wingow(nullptr, msg, wxEmptyString, wxICON_WARNING | wxOK); + if (msg_wingow.ShowModal() == wxID_OK || msg_wingow.ShowModal() == wxID_CLOSE) { + m_show_mode_changed = false; + } + } m_print_connect_types[obj->dev_id] = obj->dev_connection_type; } @@ -1629,8 +1634,13 @@ void StatusPanel::update(MachineObject *obj) if (iter_connect_type->second == "cloud" && obj->dev_connection_type == "lan") { wxString txt = _L("Disconnected from printer [%s] due to LAN mode enabled.Please reconnect the printer by inputting Access Code which can be gotten from printer screen."); wxString msg = wxString::Format(txt, obj->dev_name); - MessageDialog msg_wingow(nullptr, msg, wxEmptyString, wxICON_WARNING | wxOK); - msg_wingow.ShowModal(); + if (!m_show_mode_changed) { + m_show_mode_changed = true; + MessageDialog msg_wingow(nullptr, msg, wxEmptyString, wxICON_WARNING | wxOK); + if (msg_wingow.ShowModal() == wxID_OK || msg_wingow.ShowModal() == wxID_CLOSE) { + m_show_mode_changed = false; + } + } m_print_connect_types[obj->dev_id] = obj->dev_connection_type; } } diff --git a/src/slic3r/GUI/StatusPanel.hpp b/src/slic3r/GUI/StatusPanel.hpp index 51cefac32..9ec8d21ee 100644 --- a/src/slic3r/GUI/StatusPanel.hpp +++ b/src/slic3r/GUI/StatusPanel.hpp @@ -303,7 +303,7 @@ protected: int speed_lvl_timeout {0}; boost::posix_time::ptime speed_dismiss_time; bool m_showing_speed_popup = false; - + bool m_show_mode_changed = false; std::map img_list; // key: url, value: wxBitmap png Image std::map m_print_connect_types; std::vector