Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEnrico Turri <enricoturri@seznam.cz>2019-11-12 13:59:33 +0300
committerEnrico Turri <enricoturri@seznam.cz>2019-11-12 13:59:33 +0300
commitcc919c68b849a0b474f8b609ffe19f15dfbfbd88 (patch)
tree8bb5b0735dd396fdc52faea990290e6df045e2a7 /src/slic3r/GUI/BedShapeDialog.cpp
parentf7e27eb21d745eaad14b31cd777700a9f6a6c6d1 (diff)
Use Linux-style paths when saving custom bed texture and model files into config
Diffstat (limited to 'src/slic3r/GUI/BedShapeDialog.cpp')
-rw-r--r--src/slic3r/GUI/BedShapeDialog.cpp32
1 files changed, 30 insertions, 2 deletions
diff --git a/src/slic3r/GUI/BedShapeDialog.cpp b/src/slic3r/GUI/BedShapeDialog.cpp
index 5624ada9d..e83904a91 100644
--- a/src/slic3r/GUI/BedShapeDialog.cpp
+++ b/src/slic3r/GUI/BedShapeDialog.cpp
@@ -60,7 +60,9 @@ void BedShapePanel::build_panel(const ConfigOptionPoints& default_pt, const Conf
{
m_shape = default_pt.values;
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;
+ std::replace(m_custom_model.begin(), m_custom_model.end(), '\\', '/');
auto sbsizer = new wxStaticBoxSizer(wxVERTICAL, this, _(L("Shape")));
sbsizer->GetStaticBox()->SetFont(wxGetApp().bold_font());
@@ -212,7 +214,18 @@ wxPanel* BedShapePanel::init_texture_panel()
wxStaticText* lbl = dynamic_cast<wxStaticText*>(e.GetEventObject());
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();
if ((tooltip == nullptr) || (tooltip->GetTip() != tooltip_text))
lbl->SetToolTip(tooltip_text);
@@ -280,7 +293,18 @@ wxPanel* BedShapePanel::init_model_panel()
wxStaticText* lbl = dynamic_cast<wxStaticText*>(e.GetEventObject());
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();
if ((tooltip == nullptr) || (tooltip->GetTip() != tooltip_text))
lbl->SetToolTip(tooltip_text);
@@ -521,6 +545,8 @@ void BedShapePanel::load_texture()
return;
}
+ std::replace(file_name.begin(), file_name.end(), '\\', '/');
+
wxBusyCursor wait;
m_custom_texture = file_name;
@@ -544,6 +570,8 @@ void BedShapePanel::load_model()
return;
}
+ std::replace(file_name.begin(), file_name.end(), '\\', '/');
+
wxBusyCursor wait;
m_custom_model = file_name;