ports/cad/PrusaSlicer/files/patch-src_slic3r_GUI_PrintHostDialogs.cpp
Michael Reifenberger ae9787cdfb cad/PrusaSlicer: update to 2.9.0
Adapted patch provided from Jesper Schmitz Mouridsen

PR:		284821
Reported by:	Torfinn Ingolfsen
Approved by:	teodorsigaev@
2025-03-09 15:37:10 +01:00

58 lines
3.5 KiB
C++

--- src/slic3r/GUI/PrintHostDialogs.cpp.orig 2024-12-20 11:54:34 UTC
+++ src/slic3r/GUI/PrintHostDialogs.cpp
@@ -105,8 +105,8 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
if (size_t extension_start = recent_path.find_last_of('.'); extension_start != std::string::npos)
m_valid_suffix = recent_path.substr(extension_start);
// .gcode suffix control
- auto validate_path = [this](const wxString &path) -> bool {
- if (!path.Lower().EndsWith(m_valid_suffix.Lower())) {
+ auto validate_path = [this](const std::wstring &path) -> bool {
+ if (! (new wxString(path))->Lower().EndsWith(m_valid_suffix.Lower())) {
MessageDialog msg_wingow(this, wxString::Format(_L("Upload filename doesn't end with \"%s\". Do you wish to continue?"), m_valid_suffix), wxString(SLIC3R_APP_NAME), wxYES | wxNO);
return msg_wingow.ShowModal() == wxID_YES;
}
@@ -115,7 +115,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
auto* btn_ok = add_button(wxID_OK, true, _L("Upload"));
btn_ok->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
- if (validate_path(txt_filename->GetValue())) {
+ if (validate_path(txt_filename->GetValue().ToStdWstring())) {
post_upload_action = PrintHostPostUploadAction::None;
EndDialog(wxID_OK);
}
@@ -125,7 +125,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
if (post_actions.has(PrintHostPostUploadAction::QueuePrint)) {
auto* btn_print = add_button(wxID_ADD, false, _L("Upload to Queue"));
btn_print->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
- if (validate_path(txt_filename->GetValue())) {
+ if (validate_path(txt_filename->GetValue().ToStdWstring())) {
post_upload_action = PrintHostPostUploadAction::QueuePrint;
EndDialog(wxID_OK);
}
@@ -135,7 +135,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
if (post_actions.has(PrintHostPostUploadAction::StartPrint)) {
auto* btn_print = add_button(wxID_YES, false, _L("Upload and Print"));
btn_print->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
- if (validate_path(txt_filename->GetValue())) {
+ if (validate_path(txt_filename->GetValue().ToStdWstring())) {
post_upload_action = PrintHostPostUploadAction::StartPrint;
EndDialog(wxID_OK);
}
@@ -146,7 +146,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
// Using wxID_MORE as a button identifier to be different from the other buttons, wxID_MORE has no other meaning here.
auto* btn_simulate = add_button(wxID_MORE, false, _L("Upload and Simulate"));
btn_simulate->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
- if (validate_path(txt_filename->GetValue())) {
+ if (validate_path(txt_filename->GetValue().ToStdWstring())) {
post_upload_action = PrintHostPostUploadAction::StartSimulation;
EndDialog(wxID_OK);
}
@@ -156,7 +156,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::pat
add_button(wxID_CANCEL);
finalize();
-#ifdef __linux__
+#if defined(__linux__) || defined(__FreeBSD__)
// On Linux with GTK2 when text control lose the focus then selection (colored background) disappears but text color stay white
// and as a result the text is invisible with light mode
// see https://github.com/prusa3d/PrusaSlicer/issues/4532