PhysicalPrinterDialog : Incompatible presets extracted to the separate group
This commit is contained in:
parent
dae37a8c0d
commit
b6746a3937
@ -179,7 +179,9 @@ void PresetComboBox::update(std::string select_preset_name)
|
|||||||
|
|
||||||
const std::deque<Preset>& presets = m_collection->get_presets();
|
const std::deque<Preset>& presets = m_collection->get_presets();
|
||||||
|
|
||||||
std::map<wxString, std::pair<wxBitmap*, bool>> nonsys_presets;
|
std::map<wxString, std::pair<wxBitmap*, bool>> nonsys_presets;
|
||||||
|
std::map<wxString, wxBitmap*> incomp_presets;
|
||||||
|
|
||||||
wxString selected = "";
|
wxString selected = "";
|
||||||
if (!presets.front().is_visible)
|
if (!presets.front().is_visible)
|
||||||
set_label_marker(Append(separator(L("System presets")), wxNullBitmap));
|
set_label_marker(Append(separator(L("System presets")), wxNullBitmap));
|
||||||
@ -206,15 +208,15 @@ void PresetComboBox::update(std::string select_preset_name)
|
|||||||
wxBitmap* bmp = get_bmp(bitmap_key, main_icon_name, "lock_closed", is_enabled, preset.is_compatible, preset.is_system || preset.is_default);
|
wxBitmap* bmp = get_bmp(bitmap_key, main_icon_name, "lock_closed", is_enabled, preset.is_compatible, preset.is_system || preset.is_default);
|
||||||
assert(bmp);
|
assert(bmp);
|
||||||
|
|
||||||
if (preset.is_default || preset.is_system) {
|
if (!is_enabled)
|
||||||
int item_id = Append(wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str()), *bmp);
|
incomp_presets.emplace(wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str()), bmp);
|
||||||
if (!is_enabled)
|
else if (preset.is_default || preset.is_system)
|
||||||
set_label_marker(item_id, LABEL_ITEM_DISABLED);
|
{
|
||||||
|
Append(wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str()), *bmp);
|
||||||
validate_selection(preset.name == select_preset_name);
|
validate_selection(preset.name == select_preset_name);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::pair<wxBitmap*, bool> pair(bmp, is_enabled);
|
|
||||||
nonsys_presets.emplace(wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str()), std::pair<wxBitmap*, bool>(bmp, is_enabled));
|
nonsys_presets.emplace(wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str()), std::pair<wxBitmap*, bool>(bmp, is_enabled));
|
||||||
if (preset.name == select_preset_name || (select_preset_name.empty() && is_enabled))
|
if (preset.name == select_preset_name || (select_preset_name.empty() && is_enabled))
|
||||||
selected = wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str());
|
selected = wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str());
|
||||||
@ -233,6 +235,13 @@ void PresetComboBox::update(std::string select_preset_name)
|
|||||||
validate_selection(it->first == selected);
|
validate_selection(it->first == selected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!incomp_presets.empty())
|
||||||
|
{
|
||||||
|
set_label_marker(Append(separator(L("Incompatible presets")), wxNullBitmap));
|
||||||
|
for (std::map<wxString, wxBitmap*>::iterator it = incomp_presets.begin(); it != incomp_presets.end(); ++it) {
|
||||||
|
set_label_marker(Append(it->first, *it->second), LABEL_ITEM_DISABLED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
update_selection();
|
update_selection();
|
||||||
Thaw();
|
Thaw();
|
||||||
|
Loading…
Reference in New Issue
Block a user