From d0f2f0b28dd3d770088c2e9494e64d74751956a0 Mon Sep 17 00:00:00 2001 From: "chunmao.guo" Date: Fri, 3 Feb 2023 11:39:46 +0800 Subject: [PATCH] FIX: [STUDIO-2183] presets/filaments unorderd in BambuStudio.conf Change-Id: I3a286c356cc23f970462e6f24d99b4b038e321e7 --- src/libslic3r/AppConfig.cpp | 7 +++++-- src/libslic3r/PresetBundle.cpp | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp index aa82a5a54..bcfd5b3ef 100644 --- a/src/libslic3r/AppConfig.cpp +++ b/src/libslic3r/AppConfig.cpp @@ -462,8 +462,11 @@ std::string AppConfig::load() for(auto& element: iter.value()) { if (idx == 0) m_storage[it.key()]["filament"] = element; - else - m_storage[it.key()]["filament_" + std::to_string(idx)] = element; + else { + auto n = std::to_string(idx); + if (n.length() == 1) n = "0" + n; + m_storage[it.key()]["filament_" + n] = element; + } idx++; } } else { diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index 2bbee66ef..b67af2d0b 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -1293,7 +1293,7 @@ void PresetBundle::load_selections(AppConfig &config, const PresetPreferences& p this->filament_presets = { filaments.get_selected_preset_name() }; for (unsigned int i = 1; i < 1000; ++ i) { char name[64]; - sprintf(name, "filament_%u", i); + sprintf(name, "filament_%02u", i); if (! config.has("presets", name)) break; this->filament_presets.emplace_back(remove_ini_suffix(config.get("presets", name))); @@ -1371,7 +1371,7 @@ void PresetBundle::export_selections(AppConfig &config) config.set("presets", PRESET_FILAMENT_NAME, filament_presets.front()); for (unsigned i = 1; i < filament_presets.size(); ++i) { char name[64]; - sprintf(name, "filament_%u", i); + sprintf(name, "filament_%02u", i); config.set("presets", name, filament_presets[i]); } CNumericLocalesSetter locales_setter;