mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-15 04:05:57 +08:00
common presets marker in sidebar tab
This commit is contained in:
parent
36bfd6a565
commit
fb8f2555d9
@ -1113,14 +1113,14 @@ size_t PresetCollection::update_compatible_internal(const PresetWithVendorProfil
|
||||
m_idx_selected = size_t(-1);
|
||||
if (selected)
|
||||
preset_selected.is_compatible = preset_edited.is_compatible;
|
||||
if (preset_edited.vendor->common_profile) {
|
||||
if (preset_edited.vendor && preset_edited.vendor->common_profile) {
|
||||
indexes_of_common_presets.push_back(idx_preset);
|
||||
}
|
||||
}
|
||||
// filter out common generic profiles where profile with same alias and compability exists
|
||||
if (!indexes_of_common_presets.empty()) {
|
||||
for (size_t idx_preset = m_num_default_presets; idx_preset < m_presets.size(); ++idx_preset) {
|
||||
if (!m_presets[idx_preset].vendor->common_profile && m_presets[idx_preset].is_compatible) {
|
||||
if (m_presets[idx_preset].vendor && !m_presets[idx_preset].vendor->common_profile && m_presets[idx_preset].is_compatible) {
|
||||
std::string preset_alias = m_presets[idx_preset].alias;
|
||||
for (size_t idx_idx = 0; idx_idx < indexes_of_common_presets.size(); ++idx_idx) {
|
||||
size_t idx_common = indexes_of_common_presets[idx_idx];
|
||||
|
@ -785,6 +785,7 @@ void PlaterPresetComboBox::update()
|
||||
bool wide_icons = selected_preset && !selected_preset->is_compatible;
|
||||
|
||||
std::map<wxString, wxBitmap*> nonsys_presets;
|
||||
std::map<wxString, wxBitmap*> common_presets;
|
||||
|
||||
wxString selected_user_preset;
|
||||
wxString tooltip;
|
||||
@ -832,10 +833,18 @@ void PlaterPresetComboBox::update()
|
||||
|
||||
const std::string name = preset.alias.empty() ? preset.name : preset.alias;
|
||||
if (preset.is_default || preset.is_system) {
|
||||
Append(get_preset_name(preset), *bmp);
|
||||
validate_selection(is_selected);
|
||||
if (is_selected)
|
||||
tooltip = from_u8(preset.name);
|
||||
if (preset.vendor && preset.vendor->common_profile) {
|
||||
common_presets.emplace(get_preset_name(preset), bmp);
|
||||
if (is_selected) {
|
||||
selected_user_preset = get_preset_name(preset);
|
||||
tooltip = from_u8(preset.name);
|
||||
}
|
||||
} else {
|
||||
Append(get_preset_name(preset), *bmp);
|
||||
validate_selection(is_selected);
|
||||
if (is_selected)
|
||||
tooltip = from_u8(preset.name);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -848,6 +857,14 @@ void PlaterPresetComboBox::update()
|
||||
if (i + 1 == m_collection->num_default_presets())
|
||||
set_label_marker(Append(separator(L("System presets")), wxNullBitmap));
|
||||
}
|
||||
if (!common_presets.empty())
|
||||
{
|
||||
set_label_marker(Append(separator(L("Common presets")), wxNullBitmap));
|
||||
for (std::map<wxString, wxBitmap*>::iterator it = common_presets.begin(); it != common_presets.end(); ++it) {
|
||||
Append(it->first, *it->second);
|
||||
validate_selection(it->first == selected_user_preset);
|
||||
}
|
||||
}
|
||||
if (!nonsys_presets.empty())
|
||||
{
|
||||
set_label_marker(Append(separator(L("User presets")), wxNullBitmap));
|
||||
|
Loading…
x
Reference in New Issue
Block a user