diff --git a/GUI/Model/Sample/SampleItem.cpp b/GUI/Model/Sample/SampleItem.cpp index dd8cbb8e45215e63b09b244984efc2c8901da1c8..d1a874ad614a079365ad5ac2e521f78c5bbfd58d 100644 --- a/GUI/Model/Sample/SampleItem.cpp +++ b/GUI/Model/Sample/SampleItem.cpp @@ -15,6 +15,7 @@ #include "GUI/Model/Sample/SampleItem.h" #include "Base/Util/Vec.h" #include "GUI/Model/Sample/LayerItem.h" +#include "GUI/Support/Style/PredefinedColors.h" #include "GUI/Support/XML/Backup.h" #include "GUI/Support/XML/UtilXML.h" #include <QXmlStreamWriter> @@ -215,3 +216,15 @@ void SampleItem::readFrom(QXmlStreamReader* r) r->skipCurrentElement(); } } + +void SampleItem::updateDefaultLayerColors() +{ + const auto& colors = GUI::Colors::layerDefaults(); + + int col = 0; + for (auto* l : layerItems()) { + if (!l->color().isValid()) + l->setColor(colors[col]); + col = (col + 1) % colors.size(); + } +} diff --git a/GUI/Model/Sample/SampleItem.h b/GUI/Model/Sample/SampleItem.h index f5708cfd504fd7bb731179d3de60c8316a088414..4ad7e39cae0fe79abf31d33263dfda562ff5d12a 100644 --- a/GUI/Model/Sample/SampleItem.h +++ b/GUI/Model/Sample/SampleItem.h @@ -63,6 +63,8 @@ public: MaterialsSet& materialModel() { return m_materials; } const MaterialsSet& materialModel() const { return m_materials; } + void updateDefaultLayerColors(); + bool expandInfo = true; private: diff --git a/GUI/View/Sample/SampleEditor.cpp b/GUI/View/Sample/SampleEditor.cpp index e41d561303b737577cbf6776ec9bb2077557b8ed..364234a8f05ee4d47ab4e2e4dec1f7451b1b8b5b 100644 --- a/GUI/View/Sample/SampleEditor.cpp +++ b/GUI/View/Sample/SampleEditor.cpp @@ -16,7 +16,6 @@ #include "GUI/Model/Project/ProjectDocument.h" #include "GUI/Model/Sample/LayerItem.h" #include "GUI/Model/Sample/SampleItem.h" -#include "GUI/Support/Style/PredefinedColors.h" #include "GUI/View/Layout/ApplicationSettings.h" #include "GUI/View/Sample/SampleEditorController.h" #include "GUI/View/Sample/SampleForm.h" @@ -69,15 +68,6 @@ void SampleEditor::setCurrentSample(SampleItem* sampleItem) void SampleEditor::createLayerColors() // #baLayerEditor move to better place { - if (!m_current_sample) - return; - - const auto& colors = GUI::Colors::layerDefaults(); - - int col = 0; - for (auto* l : m_current_sample->layerItems()) { - if (!l->color().isValid()) - l->setColor(colors[col]); - col = (col + 1) % colors.size(); - } + if (m_current_sample) + m_current_sample->updateDefaultLayerColors(); }