FIX:delete redundant .gcode.3mf"
jira: github 4715 Change-Id: I6a305395661b3490867ff91d19e2a8e869b73191
This commit is contained in:
parent
20a531733c
commit
a6d0f0021e
|
@ -4559,6 +4559,17 @@ fs::path Plater::priv::get_export_file_path(GUI::FileType file_type)
|
||||||
}
|
}
|
||||||
return output_file;
|
return output_file;
|
||||||
}
|
}
|
||||||
|
bool delete_file_name_redundant_suffix(fs::path &path, const std::wstring &suffix) {
|
||||||
|
auto temp_str = path.filename().wstring();
|
||||||
|
boost::ireplace_last(temp_str, suffix, "");
|
||||||
|
if (boost::icontains(temp_str, suffix)) {
|
||||||
|
boost::ireplace_all(temp_str, suffix, "");
|
||||||
|
std::wstring temp = L"/";
|
||||||
|
path = (path.parent_path().wstring() + temp + temp_str + suffix);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
wxString Plater::priv::get_export_file(GUI::FileType file_type)
|
wxString Plater::priv::get_export_file(GUI::FileType file_type)
|
||||||
{
|
{
|
||||||
|
@ -4624,7 +4635,7 @@ wxString Plater::priv::get_export_file(GUI::FileType file_type)
|
||||||
fs::path path(into_path(out_path));
|
fs::path path(into_path(out_path));
|
||||||
#ifdef __WXMSW__
|
#ifdef __WXMSW__
|
||||||
if (boost::iequals(path.extension().string(), output_file.extension().string()) == false) {
|
if (boost::iequals(path.extension().string(), output_file.extension().string()) == false) {
|
||||||
out_path += output_file.extension().string();
|
out_path += output_file.extension().wstring();
|
||||||
boost::system::error_code ec;
|
boost::system::error_code ec;
|
||||||
if (boost::filesystem::exists(into_u8(out_path), ec)) {
|
if (boost::filesystem::exists(into_u8(out_path), ec)) {
|
||||||
auto result = MessageBox(q->GetHandle(),
|
auto result = MessageBox(q->GetHandle(),
|
||||||
|
@ -4636,6 +4647,9 @@ wxString Plater::priv::get_export_file(GUI::FileType file_type)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
if (delete_file_name_redundant_suffix(path, output_file.extension().wstring())) {
|
||||||
|
out_path = path.wstring();
|
||||||
|
}
|
||||||
wxGetApp().app_config->update_last_output_dir(path.parent_path().string());
|
wxGetApp().app_config->update_last_output_dir(path.parent_path().string());
|
||||||
|
|
||||||
return out_path;
|
return out_path;
|
||||||
|
@ -11175,10 +11189,11 @@ void Plater::export_gcode_3mf(bool export_all)
|
||||||
);
|
);
|
||||||
if (dlg.ShowModal() == wxID_OK) {
|
if (dlg.ShowModal() == wxID_OK) {
|
||||||
output_path = into_path(dlg.GetPath());
|
output_path = into_path(dlg.GetPath());
|
||||||
|
delete_file_name_redundant_suffix(output_path, L".gcode.3mf");
|
||||||
if (boost::iends_with(output_path.string(), ".gcode")) {
|
if (boost::iends_with(output_path.string(), ".gcode")) {
|
||||||
std::string path = output_path.string();
|
std::wstring temp_path = output_path.wstring();
|
||||||
path = path.substr(0, path.size() - 6);
|
temp_path = temp_path.substr(0, temp_path.size() - 6);
|
||||||
output_path = path + ".gcode.3mf";
|
output_path = temp_path + L".gcode.3mf";
|
||||||
}
|
}
|
||||||
else if (!boost::iends_with(output_path.string(), ".gcode.3mf")) {
|
else if (!boost::iends_with(output_path.string(), ".gcode.3mf")) {
|
||||||
output_path = output_path.replace_extension(".gcode.3mf");
|
output_path = output_path.replace_extension(".gcode.3mf");
|
||||||
|
|
Loading…
Reference in New Issue