From dc8c3fbf4787b8ee872da0a2db2ea72ea6dfe3f9 Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (o)" <j.wuttke@fz-juelich.de>
Date: Mon, 26 Feb 2024 14:52:34 +0100
Subject: [PATCH] + SampleItem::updateDefaultLayerColors

---
 GUI/Model/Sample/SampleItem.cpp  | 13 +++++++++++++
 GUI/Model/Sample/SampleItem.h    |  2 ++
 GUI/View/Sample/SampleEditor.cpp | 14 ++------------
 3 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/GUI/Model/Sample/SampleItem.cpp b/GUI/Model/Sample/SampleItem.cpp
index dd8cbb8e452..d1a874ad614 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 f5708cfd504..4ad7e39cae0 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 e41d561303b..364234a8f05 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();
 }
-- 
GitLab