Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbubnikv <bubnikv@gmail.com>2018-04-13 19:31:19 +0300
committerbubnikv <bubnikv@gmail.com>2018-04-13 19:31:19 +0300
commiteb58e29245806b601eb4ad8dd5d5882c298c5daf (patch)
tree3d053fda5f94d24cf1c238d19fe99e5cf60548b3 /xs/src/slic3r/GUI/PresetBundle.cpp
parent5d363c1bb9ac2f4a2d4fae8faea3bf473ac55f34 (diff)
parent215c2082d3bb011f5ba95cd03b8614abafb488e8 (diff)
Merge remote-tracking branch 'origin/profile_changes_reset'
Diffstat (limited to 'xs/src/slic3r/GUI/PresetBundle.cpp')
-rw-r--r--xs/src/slic3r/GUI/PresetBundle.cpp38
1 files changed, 33 insertions, 5 deletions
diff --git a/xs/src/slic3r/GUI/PresetBundle.cpp b/xs/src/slic3r/GUI/PresetBundle.cpp
index 207968f1b..1c3a6dcac 100644
--- a/xs/src/slic3r/GUI/PresetBundle.cpp
+++ b/xs/src/slic3r/GUI/PresetBundle.cpp
@@ -261,8 +261,8 @@ bool PresetBundle::load_compatible_bitmaps()
{
const std::string path_bitmap_compatible = "flag-green-icon.png";
const std::string path_bitmap_incompatible = "flag-red-icon.png";
- const std::string path_bitmap_lock = "lock.png";
- const std::string path_bitmap_lock_open = "lock_open.png";
+ const std::string path_bitmap_lock = "sys_lock.png";//"lock.png";
+ const std::string path_bitmap_lock_open = "sys_unlock.png";//"lock_open.png";
bool loaded_compatible = m_bitmapCompatible ->LoadFile(
wxString::FromUTF8(Slic3r::var(path_bitmap_compatible).c_str()), wxBITMAP_TYPE_PNG);
bool loaded_incompatible = m_bitmapIncompatible->LoadFile(
@@ -1025,6 +1025,8 @@ void PresetBundle::update_platter_filament_ui(unsigned int idx_extruder, wxBitma
// and draw a red flag in front of the selected preset.
bool wide_icons = selected_preset != nullptr && ! selected_preset->is_compatible && m_bitmapIncompatible != nullptr;
assert(selected_preset != nullptr);
+ std::map<wxString, wxBitmap> nonsys_presets;
+ wxString selected_str = "";
for (int i = this->filaments().front().is_visible ? 0 : 1; i < int(this->filaments().size()); ++ i) {
const Preset &preset = this->filaments.preset(i);
bool selected = this->filament_presets[idx_extruder] == preset.name;
@@ -1062,10 +1064,36 @@ void PresetBundle::update_platter_filament_ui(unsigned int idx_extruder, wxBitma
(preset.is_dirty ? *m_bitmapLockOpen : *m_bitmapLock) : m_bitmapCache->mkclear(16, 16));
bitmap = m_bitmapCache->insert(bitmap_key, bmps);
}
- ui->Append(wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str()), (bitmap == 0) ? wxNullBitmap : *bitmap);
- if (selected)
- ui->SetSelection(ui->GetCount() - 1);
+// ui->Append(wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str()), (bitmap == 0) ? wxNullBitmap : *bitmap);
+// if (selected)
+// ui->SetSelection(ui->GetCount() - 1);
+
+ if (preset.is_default || preset.is_system){
+ ui->Append(wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str()),
+ (bitmap == 0) ? wxNullBitmap : *bitmap);
+ if (selected)
+ ui->SetSelection(ui->GetCount() - 1);
+ }
+ else
+ {
+ nonsys_presets.emplace(wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str()),
+ (bitmap == 0) ? wxNullBitmap : *bitmap);
+ if (selected)
+ selected_str = wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str());
+ }
+ if (preset.is_default)
+ ui->Append("------------------------------------", wxNullBitmap);
}
+
+ if (!nonsys_presets.empty())
+ {
+ ui->Append("------------------------------------", wxNullBitmap);
+ for (std::map<wxString, wxBitmap>::iterator it = nonsys_presets.begin(); it != nonsys_presets.end(); ++it) {
+ ui->Append(it->first, it->second);
+ if (it->first == selected_str)
+ ui->SetSelection(ui->GetCount() - 1);
+ }
+ }
ui->Thaw();
}