From ebf05c718e64657665445e6eeff03f3f9c8cfae6 Mon Sep 17 00:00:00 2001 From: Kunlong Ma Date: Tue, 12 Nov 2024 09:48:23 +0800 Subject: [PATCH] FIX: fix wrong layout in error code dialog in mac JIRA: STUDIO-8677 Change-Id: I16e267495c753d8015e7dda47147b630e9e92c8a --- src/slic3r/GUI/ReleaseNote.cpp | 2 +- src/slic3r/GUI/StatusPanel.cpp | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/slic3r/GUI/ReleaseNote.cpp b/src/slic3r/GUI/ReleaseNote.cpp index 503e7d8a3..1b036609e 100644 --- a/src/slic3r/GUI/ReleaseNote.cpp +++ b/src/slic3r/GUI/ReleaseNote.cpp @@ -991,7 +991,7 @@ void PrintErrorDialog::update_text_image(const wxString& text, const wxString& e m_vebview_release_note->SetMinSize(wxSize(FromDIP(320), text_size.y + FromDIP(220))); } else { - m_vebview_release_note->SetMinSize(wxSize(FromDIP(320), text_size.y + FromDIP(25))); + m_vebview_release_note->SetMinSize(wxSize(FromDIP(320), text_size.y + FromDIP(50))); } else { m_vebview_release_note->SetMinSize(wxSize(FromDIP(320), FromDIP(340))); diff --git a/src/slic3r/GUI/StatusPanel.cpp b/src/slic3r/GUI/StatusPanel.cpp index 2a76d728e..da2ccd9ee 100644 --- a/src/slic3r/GUI/StatusPanel.cpp +++ b/src/slic3r/GUI/StatusPanel.cpp @@ -2154,14 +2154,17 @@ void StatusPanel::show_error_message(MachineObject *obj, bool is_exist, wxString if (is_exist && msg.IsEmpty()) { error_info_reset(); } else { + if (msg.IsEmpty()) { msg = _L("Unknow error."); } m_project_task_panel->show_error_msg(msg); if (!used_button.empty()) { BOOST_LOG_TRIVIAL(info) << "show print error! error_msg = " << msg; - if (m_print_error_dlg == nullptr) { - m_print_error_dlg = new PrintErrorDialog(this->GetParent(), wxID_ANY, _L("Error")); + if (m_print_error_dlg != nullptr) { + delete m_print_error_dlg; + m_print_error_dlg = nullptr; } + m_print_error_dlg = new PrintErrorDialog(this->GetParent(), wxID_ANY, _L("Error")); m_print_error_dlg->update_title_style(_L("Error"), used_button, this); m_print_error_dlg->update_text_image(msg, print_error_str, image_url); m_print_error_dlg->Bind(EVT_SECONDARY_CHECK_CONFIRM, [this, obj](wxCommandEvent& e) { @@ -2190,10 +2193,12 @@ void StatusPanel::show_error_message(MachineObject *obj, bool is_exist, wxString wxString show_time = now.Format("%H%M%d"); wxString error_code_msg = wxString::Format("%S\n[%S %S]", msg, print_error_str, show_time); - if (m_print_error_dlg_no_action == nullptr) { - m_print_error_dlg_no_action = new SecondaryCheckDialog(this->GetParent(), wxID_ANY, _L("Warning"), SecondaryCheckDialog::ButtonStyle::ONLY_CONFIRM); + if (m_print_error_dlg_no_action != nullptr) { + delete m_print_error_dlg_no_action; + m_print_error_dlg_no_action = nullptr; } + m_print_error_dlg_no_action = new SecondaryCheckDialog(this->GetParent(), wxID_ANY, _L("Warning"), SecondaryCheckDialog::ButtonStyle::ONLY_CONFIRM); if (it_done != message_containing_done.end() && it_retry != message_containing_retry.end()) { m_print_error_dlg_no_action->update_title_style(_L("Warning"), SecondaryCheckDialog::ButtonStyle::DONE_AND_RETRY, this); } @@ -2241,14 +2246,14 @@ void StatusPanel::update_error_message() char buf[32]; ::sprintf(buf, "%08X", obj->print_error); std::string print_error_str = std::string(buf); - if (print_error_str.size() > 4) { print_error_str.insert(4, " "); } + if (print_error_str.size() > 4) { print_error_str.insert(4, "-"); } wxString error_msg; bool is_errocode_exist = wxGetApp().get_hms_query()->query_print_error_msg(obj->print_error, error_msg); std::vector used_button; wxString error_image_url = wxGetApp().get_hms_query()->query_print_error_url_action(obj->print_error, obj->dev_id, used_button); // special case - if (print_error_str == "0300 8003" || print_error_str == "0300 8002" || print_error_str == "0300 800A") { + if (print_error_str == "0300-8003" || print_error_str == "0300-8002" || print_error_str == "0300-800A") { used_button.emplace_back(PrintErrorDialog::PrintErrorButton::JUMP_TO_LIVEVIEW); } show_error_message(obj, is_errocode_exist, error_msg, print_error_str, error_image_url, used_button);