diff --git a/src/slic3r/GUI/ConfigWizard.cpp b/src/slic3r/GUI/ConfigWizard.cpp index e04c3cdb3..46b9bfbc6 100644 --- a/src/slic3r/GUI/ConfigWizard.cpp +++ b/src/slic3r/GUI/ConfigWizard.cpp @@ -631,19 +631,9 @@ void PageMaterials::update_lists(int sel1, int sel2) // #ys_FIXME_alias // const int i = list_l3->append(p->name, p); - int i = 0; - if (materials->technology == T_FFF) { - if (!p->alias.empty()) - return; - i = list_l3->append(p->name, &p->name); - } - else if (materials->technology == T_SLA) { - if (list_l3->find(p->alias) != wxNOT_FOUND) - return; - i = list_l3->append(p->alias, &p->alias); - } - else + if (list_l3->find(p->alias) != wxNOT_FOUND) return; + const int i = list_l3->append(p->alias, &p->alias); const bool checked = wizard_p()->appconfig_new.has(materials->appconfig_section(), p->name); list_l3->Check(i, checked); @@ -1711,12 +1701,6 @@ void ConfigWizard::priv::update_presets_in_config(const std::string& section, co appconfig_new.erase(s, key); }; - // Not all of the filament preset have aliases. - // Thus, we should to delete preset with a same as an alias_key name - // add or delete preset from config - if (section == AppConfig::SECTION_FILAMENTS) - update(section, alias_key); - // add or delete presets had a same alias auto it = aliases.find(alias_key); if (it != aliases.end()) diff --git a/src/slic3r/GUI/PresetBundle.cpp b/src/slic3r/GUI/PresetBundle.cpp index af7c2a0e7..43280cd4f 100644 --- a/src/slic3r/GUI/PresetBundle.cpp +++ b/src/slic3r/GUI/PresetBundle.cpp @@ -1133,12 +1133,10 @@ size_t PresetBundle::load_configbundle(const std::string &path, unsigned int fla preset_name = section.first.substr(9); for (const auto& item : section.second) - { if (boost::starts_with(item.first, "alias")) { alias_name = item.second.data(); break; } - } } else if (boost::starts_with(section.first, "sla_print:")) { presets = &this->sla_prints; loaded = &loaded_sla_prints; @@ -1295,8 +1293,14 @@ size_t PresetBundle::load_configbundle(const std::string &path, unsigned int fla loaded.is_system = true; loaded.vendor = vendor_profile; } - if (!alias_name.empty()) - loaded.alias = alias_name; + + // next step of an preset name aliasing + int end_pos = preset_name.find_first_of("@"); + if (end_pos != std::string::npos) + alias_name = preset_name.substr(0, end_pos - 1); + + loaded.alias = alias_name.empty() ? preset_name : alias_name; + ++ presets_loaded; } }