FIX: Show RGB for custom color and allow staying in official picker dialog

- Display RGB values when a custom color is selected
- Prevent official color picker dialog from closing when custom color dialog is canceled
- Ensure multi-color materials are correctly displayed when importing new 3MF files

jira: STUDIO-12938, STUDIO-12937, STUDIO-12933, STUDIO-13110

Change-Id: Iab410585bf8cc5e9e81c6f0da23fe4ddba561785
(cherry picked from commit 2c20d591b998b02b0b66ac81b048a28fa26bd409)
This commit is contained in:
fei2.fang
2025-07-01 16:58:41 +08:00
committed by Noisyfox
parent 0bbd563a79
commit ea826815af
6 changed files with 82 additions and 14 deletions

View File

@@ -5826,7 +5826,7 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_
}
// If there is no multi-color data or color is not match, use single color as default value
for (size_t i = 0; i < filament_count; i++) {
std::vector<std::string> colors = Slic3r::split_string(filament_multi_color->values[i], ',');
std::vector<std::string> colors = Slic3r::split_string(filament_multi_color->values[i], ' ');
if (i >= filament_multi_color->values.size() || colors.empty() || colors[0] != filament_color->values[i] ) {
filament_multi_color->values[i] = filament_color->values[i];
}