From 71a9ded1c010f2c58b0d61e046e56a624f54a792 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Thu, 2 Dec 2021 16:11:52 +0100 Subject: [PATCH] ObjectList: Fixed update of the icons for InfoItems, when color mode was changed Sidebar:ObjectInfo: Fixed update of the icon, when color mode was changed + Added new icons for "Sinking" and "ShapeGallery" --- resources/icons/fdm_supports_.svg | 19 ++++++++++++++ resources/icons/mmu_segmentation_.svg | 28 +++++++++++++++++++++ resources/icons/seam_.svg | 35 ++++++++++++++++++++++++++ resources/icons/shape_gallery.svg | 17 +++++++++++++ resources/icons/sinking.svg | 18 +++++++++++++ src/slic3r/GUI/MainFrame.cpp | 2 +- src/slic3r/GUI/ObjectDataViewModel.cpp | 13 +++++++--- src/slic3r/GUI/Plater.cpp | 2 ++ 8 files changed, 129 insertions(+), 5 deletions(-) create mode 100644 resources/icons/fdm_supports_.svg create mode 100644 resources/icons/mmu_segmentation_.svg create mode 100644 resources/icons/seam_.svg create mode 100644 resources/icons/shape_gallery.svg create mode 100644 resources/icons/sinking.svg diff --git a/resources/icons/fdm_supports_.svg b/resources/icons/fdm_supports_.svg new file mode 100644 index 000000000..3efd9c184 --- /dev/null +++ b/resources/icons/fdm_supports_.svg @@ -0,0 +1,19 @@ + + + + + + + + + + diff --git a/resources/icons/mmu_segmentation_.svg b/resources/icons/mmu_segmentation_.svg new file mode 100644 index 000000000..12d31fc26 --- /dev/null +++ b/resources/icons/mmu_segmentation_.svg @@ -0,0 +1,28 @@ + + + + + + diff --git a/resources/icons/seam_.svg b/resources/icons/seam_.svg new file mode 100644 index 000000000..f909eee44 --- /dev/null +++ b/resources/icons/seam_.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/icons/shape_gallery.svg b/resources/icons/shape_gallery.svg new file mode 100644 index 000000000..a0b6fccf5 --- /dev/null +++ b/resources/icons/shape_gallery.svg @@ -0,0 +1,17 @@ + + + + + + + + + + diff --git a/resources/icons/sinking.svg b/resources/icons/sinking.svg new file mode 100644 index 000000000..462b17120 --- /dev/null +++ b/resources/icons/sinking.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index d953626c4..7c3c99dbc 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -1398,7 +1398,7 @@ void MainFrame::init_menubar_as_editor() if (!input_files.IsEmpty()) m_plater->sidebar().obj_list()->load_shape_object_from_gallery(input_files); } - }, "cog", nullptr, []() {return true; }, this); + }, "shape_gallery", nullptr, []() {return true; }, this); windowMenu->AppendSeparator(); append_menu_item(windowMenu, wxID_ANY, _L("Print &Host Upload Queue") + "\tCtrl+J", _L("Display the Print Host Upload Queue window"), diff --git a/src/slic3r/GUI/ObjectDataViewModel.cpp b/src/slic3r/GUI/ObjectDataViewModel.cpp index ed4b477b8..496cdcfc7 100644 --- a/src/slic3r/GUI/ObjectDataViewModel.cpp +++ b/src/slic3r/GUI/ObjectDataViewModel.cpp @@ -46,10 +46,10 @@ struct InfoItemAtributes { const std::map INFO_ITEMS{ // info_item Type info_item Name info_item BitmapName - { InfoItemType::CustomSupports, {L("Paint-on supports"), "fdm_supports" }, }, - { InfoItemType::CustomSeam, {L("Paint-on seam"), "seam" }, }, - { InfoItemType::MmuSegmentation, {L("Multimaterial painting"), "mmu_segmentation"}, }, - { InfoItemType::Sinking, {L("Sinking"), "support_blocker"}, }, + { InfoItemType::CustomSupports, {L("Paint-on supports"), "fdm_supports_" }, }, + { InfoItemType::CustomSeam, {L("Paint-on seam"), "seam_" }, }, + { InfoItemType::MmuSegmentation, {L("Multimaterial painting"), "mmu_segmentation_"}, }, + { InfoItemType::Sinking, {L("Sinking"), "sinking"}, }, { InfoItemType::VariableLayerHeight, {L("Variable layer height"), "layers"}, }, }; @@ -1682,6 +1682,9 @@ void ObjectDataViewModel::Rescale() m_warning_bmp = create_scaled_bitmap(WarningIcon); m_warning_manifold_bmp = create_scaled_bitmap(WarningManifoldIcon); + for (auto item : INFO_ITEMS) + m_info_bmps[item.first] = create_scaled_bitmap(item.second.bmp_name); + wxDataViewItemArray all_items; GetAllChildren(wxDataViewItem(0), all_items); @@ -1705,6 +1708,8 @@ void ObjectDataViewModel::Rescale() node->m_bmp = create_scaled_bitmap(LayerRootIcon); case itLayer: node->m_bmp = create_scaled_bitmap(LayerIcon); + case itInfo: + node->m_bmp = m_info_bmps.at(node->m_info_item_type); break; default: break; } diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index baa6fd4ce..197de43ee 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -236,6 +236,7 @@ void ObjectInfo::show_sizer(bool show) void ObjectInfo::msw_rescale() { manifold_warning_icon->SetBitmap(create_scaled_bitmap(m_warning_icon_name)); + info_icon->SetBitmap(create_scaled_bitmap("info")); } void ObjectInfo::update_warning_icon(const std::string& warning_icon_name) @@ -1134,6 +1135,7 @@ void Sidebar::sys_color_changed() for (wxWindow* win : std::vector{ this, p->sliced_info->GetStaticBox(), p->object_info->GetStaticBox(), p->btn_reslice, p->btn_export_gcode }) wxGetApp().UpdateDarkUI(win); + p->object_info->msw_rescale(); for (wxWindow* win : std::vector{ p->scrolled, p->presets_panel }) wxGetApp().UpdateAllStaticTextDarkUI(win); for (wxWindow* btn : std::vector{ p->btn_reslice, p->btn_export_gcode })