Use Linux-style paths when saving custom bed texture and model files into config
This commit is contained in:
parent
f7e27eb21d
commit
cc919c68b8
@ -204,6 +204,7 @@ bool Bed3D::set_shape(const Pointfs& shape, const std::string& custom_texture, c
|
|||||||
std::string cst_texture(custom_texture);
|
std::string cst_texture(custom_texture);
|
||||||
if (!cst_texture.empty())
|
if (!cst_texture.empty())
|
||||||
{
|
{
|
||||||
|
std::replace(cst_texture.begin(), cst_texture.end(), '\\', '/');
|
||||||
if ((!boost::algorithm::iends_with(custom_texture, ".png") && !boost::algorithm::iends_with(custom_texture, ".svg")) || !boost::filesystem::exists(custom_texture))
|
if ((!boost::algorithm::iends_with(custom_texture, ".png") && !boost::algorithm::iends_with(custom_texture, ".svg")) || !boost::filesystem::exists(custom_texture))
|
||||||
cst_texture = "";
|
cst_texture = "";
|
||||||
}
|
}
|
||||||
@ -212,6 +213,7 @@ bool Bed3D::set_shape(const Pointfs& shape, const std::string& custom_texture, c
|
|||||||
std::string cst_model(custom_model);
|
std::string cst_model(custom_model);
|
||||||
if (!cst_model.empty())
|
if (!cst_model.empty())
|
||||||
{
|
{
|
||||||
|
std::replace(cst_model.begin(), cst_model.end(), '\\', '/');
|
||||||
if (!boost::algorithm::iends_with(custom_model, ".stl") || !boost::filesystem::exists(custom_model))
|
if (!boost::algorithm::iends_with(custom_model, ".stl") || !boost::filesystem::exists(custom_model))
|
||||||
cst_model = "";
|
cst_model = "";
|
||||||
}
|
}
|
||||||
|
@ -60,7 +60,9 @@ void BedShapePanel::build_panel(const ConfigOptionPoints& default_pt, const Conf
|
|||||||
{
|
{
|
||||||
m_shape = default_pt.values;
|
m_shape = default_pt.values;
|
||||||
m_custom_texture = custom_texture.value.empty() ? NONE : custom_texture.value;
|
m_custom_texture = custom_texture.value.empty() ? NONE : custom_texture.value;
|
||||||
|
std::replace(m_custom_texture.begin(), m_custom_texture.end(), '\\', '/');
|
||||||
m_custom_model = custom_model.value.empty() ? NONE : custom_model.value;
|
m_custom_model = custom_model.value.empty() ? NONE : custom_model.value;
|
||||||
|
std::replace(m_custom_model.begin(), m_custom_model.end(), '\\', '/');
|
||||||
|
|
||||||
auto sbsizer = new wxStaticBoxSizer(wxVERTICAL, this, _(L("Shape")));
|
auto sbsizer = new wxStaticBoxSizer(wxVERTICAL, this, _(L("Shape")));
|
||||||
sbsizer->GetStaticBox()->SetFont(wxGetApp().bold_font());
|
sbsizer->GetStaticBox()->SetFont(wxGetApp().bold_font());
|
||||||
@ -212,7 +214,18 @@ wxPanel* BedShapePanel::init_texture_panel()
|
|||||||
wxStaticText* lbl = dynamic_cast<wxStaticText*>(e.GetEventObject());
|
wxStaticText* lbl = dynamic_cast<wxStaticText*>(e.GetEventObject());
|
||||||
if (lbl != nullptr)
|
if (lbl != nullptr)
|
||||||
{
|
{
|
||||||
wxString tooltip_text = (m_custom_texture == NONE) ? "" : _(m_custom_texture);
|
bool exists = (m_custom_texture == NONE) || boost::filesystem::exists(m_custom_texture);
|
||||||
|
lbl->SetForegroundColour(exists ? wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT) : wxColor(*wxRED));
|
||||||
|
|
||||||
|
wxString tooltip_text = "";
|
||||||
|
if (m_custom_texture != NONE)
|
||||||
|
{
|
||||||
|
if (!exists)
|
||||||
|
tooltip_text += _(L("Not found: "));
|
||||||
|
|
||||||
|
tooltip_text += _(m_custom_texture);
|
||||||
|
}
|
||||||
|
|
||||||
wxToolTip* tooltip = lbl->GetToolTip();
|
wxToolTip* tooltip = lbl->GetToolTip();
|
||||||
if ((tooltip == nullptr) || (tooltip->GetTip() != tooltip_text))
|
if ((tooltip == nullptr) || (tooltip->GetTip() != tooltip_text))
|
||||||
lbl->SetToolTip(tooltip_text);
|
lbl->SetToolTip(tooltip_text);
|
||||||
@ -280,7 +293,18 @@ wxPanel* BedShapePanel::init_model_panel()
|
|||||||
wxStaticText* lbl = dynamic_cast<wxStaticText*>(e.GetEventObject());
|
wxStaticText* lbl = dynamic_cast<wxStaticText*>(e.GetEventObject());
|
||||||
if (lbl != nullptr)
|
if (lbl != nullptr)
|
||||||
{
|
{
|
||||||
wxString tooltip_text = (m_custom_model == NONE) ? "" : _(m_custom_model);
|
bool exists = (m_custom_model == NONE) || boost::filesystem::exists(m_custom_model);
|
||||||
|
lbl->SetForegroundColour(exists ? wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT) : wxColor(*wxRED));
|
||||||
|
|
||||||
|
wxString tooltip_text = "";
|
||||||
|
if (m_custom_model != NONE)
|
||||||
|
{
|
||||||
|
if (!exists)
|
||||||
|
tooltip_text += _(L("Not found: "));
|
||||||
|
|
||||||
|
tooltip_text += _(m_custom_model);
|
||||||
|
}
|
||||||
|
|
||||||
wxToolTip* tooltip = lbl->GetToolTip();
|
wxToolTip* tooltip = lbl->GetToolTip();
|
||||||
if ((tooltip == nullptr) || (tooltip->GetTip() != tooltip_text))
|
if ((tooltip == nullptr) || (tooltip->GetTip() != tooltip_text))
|
||||||
lbl->SetToolTip(tooltip_text);
|
lbl->SetToolTip(tooltip_text);
|
||||||
@ -521,6 +545,8 @@ void BedShapePanel::load_texture()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::replace(file_name.begin(), file_name.end(), '\\', '/');
|
||||||
|
|
||||||
wxBusyCursor wait;
|
wxBusyCursor wait;
|
||||||
|
|
||||||
m_custom_texture = file_name;
|
m_custom_texture = file_name;
|
||||||
@ -544,6 +570,8 @@ void BedShapePanel::load_model()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::replace(file_name.begin(), file_name.end(), '\\', '/');
|
||||||
|
|
||||||
wxBusyCursor wait;
|
wxBusyCursor wait;
|
||||||
|
|
||||||
m_custom_model = file_name;
|
m_custom_model = file_name;
|
||||||
|
Loading…
Reference in New Issue
Block a user