Resin colors: Set default value when color wasn't set in config

This commit is contained in:
YuSanka 2021-11-16 10:39:20 +01:00
parent 9af9b9b35d
commit d6306f00b7
3 changed files with 10 additions and 4 deletions

View File

@ -25,6 +25,7 @@
#include "libslic3r/PresetBundle.hpp"
#include "libslic3r/ClipperUtils.hpp"
#include "libslic3r/Tesselate.hpp"
#include "libslic3r/PrintConfig.hpp"
#include <stdio.h>
#include <stdlib.h>
@ -1020,7 +1021,9 @@ void GLVolumeCollection::update_colors_by_extruder(const DynamicPrintConfig* con
if (static_cast<PrinterTechnology>(config->opt_int("printer_technology")) == ptSLA)
{
const std::string& txt_color = config->opt_string("material_colour");
const std::string& txt_color = config->opt_string("material_colour").empty() ?
print_config_def.get("material_colour")->get_default_value<ConfigOptionString>()->value :
config->opt_string("material_colour");
if (Slic3r::GUI::BitmapCache::parse_color(txt_color, rgb)) {
colors.resize(1);
colors[0].set(txt_color, rgb);

View File

@ -141,7 +141,7 @@ public:
wxStaticText *info_size;
wxStaticText *info_volume;
wxStaticText *info_facets;
wxStaticText *info_materials;
// wxStaticText *info_materials;
wxStaticText *info_manifold;
wxStaticText *label_volume;
@ -199,7 +199,7 @@ ObjectInfo::ObjectInfo(wxWindow *parent) :
sizer_manifold->Add(info_manifold, 0, wxLEFT, 2);
Add(sizer_manifold, 0, wxEXPAND | wxTOP, 4);
sla_hidden_items = { label_volume, info_volume, /*label_materials, */info_materials };
sla_hidden_items = { label_volume, info_volume, /*label_materials, info_materials*/ };
}
void ObjectInfo::show_sizer(bool show)

View File

@ -819,8 +819,11 @@ void PlaterPresetComboBox::update()
bitmap_key += single_bar ? filament_rgb : filament_rgb + extruder_rgb;
}
else if (m_type == Preset::TYPE_SLA_MATERIAL)
else if (m_type == Preset::TYPE_SLA_MATERIAL) {
material_rgb = is_selected ? m_preset_bundle->sla_materials.get_edited_preset().config.opt_string("material_colour") : preset.config.opt_string("material_colour");
if (material_rgb.empty())
material_rgb = print_config_def.get("material_colour")->get_default_value<ConfigOptionString>()->value;
}
wxBitmap* bmp = get_bmp(bitmap_key, wide_icons, bitmap_type_name,
preset.is_compatible, preset.is_system || preset.is_default,