From 27f6d8b578e909af233f7b9596ee2a8b74592741 Mon Sep 17 00:00:00 2001
From: Gennady Pospelov <g.pospelov@fz-juelich.de>
Date: Wed, 13 Dec 2017 09:42:43 +0100
Subject: [PATCH] Method isSingleTag removed from SessionItem

---
 GUI/coregui/Models/SessionItem.cpp     | 11 ++---------
 GUI/coregui/Models/SessionItem.h       |  1 -
 GUI/coregui/Models/SessionItemTags.cpp |  8 ++++----
 GUI/coregui/Models/SessionItemTags.h   |  6 ++----
 GUI/coregui/Models/SessionXML.cpp      |  3 ++-
 5 files changed, 10 insertions(+), 19 deletions(-)

diff --git a/GUI/coregui/Models/SessionItem.cpp b/GUI/coregui/Models/SessionItem.cpp
index 43b3b5700a2..e223bc4eb6b 100644
--- a/GUI/coregui/Models/SessionItem.cpp
+++ b/GUI/coregui/Models/SessionItem.cpp
@@ -168,11 +168,6 @@ bool SessionItem::isTag(const QString& name) const
     return m_tags->isValid(name);
 }
 
-bool SessionItem::isSingleItemTag(const QString& tagName) const
-{
-    return m_tags->isSingleItemTag(tagName);
-}
-
 SessionItemTags* SessionItem::sessionItemTags()
 {
     return m_tags.get();
@@ -459,14 +454,12 @@ QString SessionItem::displayName() const
     if (m_parent) {
         QString tag = m_parent->tagFromItem(this);
         // if only one child of this type is allowed, return name without change
-        if (m_parent->isSingleItemTag(tag)) {
+        if (m_parent->sessionItemTags()->isSingleItemTag(tag))
             return result;
-        }
 
         int index = m_parent->getCopyNumberOfChild(this);
-        if (index >= 0) {
+        if (index >= 0)
             return result + QString::number(index);
-        }
     }
     return result;
 }
diff --git a/GUI/coregui/Models/SessionItem.h b/GUI/coregui/Models/SessionItem.h
index a42ff68d1b8..faf8a3cd9f6 100644
--- a/GUI/coregui/Models/SessionItem.h
+++ b/GUI/coregui/Models/SessionItem.h
@@ -57,7 +57,6 @@ public:
     bool registerTag(const QString& name, int min = 0, int max = -1,
                      QStringList modelTypes = QStringList());
     bool isTag(const QString& name) const;
-    bool isSingleItemTag(const QString& tagName) const;
     SessionItemTags* sessionItemTags();
     QString tagFromItem(const SessionItem* item) const;
     bool acceptsAsDefaultItem(const QString& item_name) const;
diff --git a/GUI/coregui/Models/SessionItemTags.cpp b/GUI/coregui/Models/SessionItemTags.cpp
index 948db49c58a..a05fe239e05 100644
--- a/GUI/coregui/Models/SessionItemTags.cpp
+++ b/GUI/coregui/Models/SessionItemTags.cpp
@@ -22,7 +22,8 @@ SessionItemTags::TagInfo::TagInfo() : min(0), max(-1), childCount(0) {}
 //! Register tag with given parameters. Returns true in case of success. Returns
 //! false if parameters are invalid or such tag was already registered.
 
-bool SessionItemTags::registerTag(const QString& name, int min, int max, const QStringList& modelTypes)
+bool SessionItemTags::registerTag(const QString& name, int min, int max,
+                                  const QStringList& modelTypes)
 {
     if (min < 0 || (min > max && max >= 0))
         return false;
@@ -87,7 +88,7 @@ int SessionItemTags::indexFromTagRow(const QString& tagName, int row) const
 {
     auto& tag = tagInfo(tagName);
 
-    if(row < 0 || row >= tag.childCount)
+    if (row < 0 || row >= tag.childCount)
         throw GUIHelpers::Error("SessionItemTags::tagIndexFromRow() -> Error. Wrong row");
 
     return tagStartIndex(tagName) + row;
@@ -177,7 +178,7 @@ const SessionItemTags::TagInfo& SessionItemTags::tagInfo(const QString& tagName)
         if (tag.name == tagName)
             return tag;
 
-    throw GUIHelpers::Error("SessionItemTags::tagInfo() -> Error. No such tag '"+tagName+"'.");
+    throw GUIHelpers::Error("SessionItemTags::tagInfo() -> Error. No such tag '" + tagName + "'.");
 }
 
 bool SessionItemTags::maximumReached(const QString& tagName) const
@@ -189,4 +190,3 @@ bool SessionItemTags::maximumReached(const QString& tagName) const
 
     return false;
 }
-
diff --git a/GUI/coregui/Models/SessionItemTags.h b/GUI/coregui/Models/SessionItemTags.h
index 484a027d606..1ea6f1e2254 100644
--- a/GUI/coregui/Models/SessionItemTags.h
+++ b/GUI/coregui/Models/SessionItemTags.h
@@ -26,10 +26,9 @@
 class BA_CORE_API_ SessionItemTags
 {
 public:
-
     bool registerTag(const QString& name, int min, int max, const QStringList& modelTypes);
 
-    bool isValid(const QString& tagName, const QString& modelType=QString()) const;
+    bool isValid(const QString& tagName, const QString& modelType = QString()) const;
 
     QStringList modelTypesForTag(const QString& tagName) const;
 
@@ -49,8 +48,8 @@ public:
     bool isSingleItemTag(const QString& tagName);
 
     bool maximumReached(const QString& tagName) const;
-private:
 
+private:
     class TagInfo
     {
     public:
@@ -65,7 +64,6 @@ private:
     TagInfo& tagInfo(const QString& tagName);
     const TagInfo& tagInfo(const QString& tagName) const;
 
-
     QVector<TagInfo> m_tags;
 };
 
diff --git a/GUI/coregui/Models/SessionXML.cpp b/GUI/coregui/Models/SessionXML.cpp
index 6cd23b4189f..18537480f87 100644
--- a/GUI/coregui/Models/SessionXML.cpp
+++ b/GUI/coregui/Models/SessionXML.cpp
@@ -22,6 +22,7 @@
 #include "GroupItemController.h"
 #include "SessionModel.h"
 #include "WarningMessageService.h"
+#include "SessionItemTags.h"
 #include <QtCore/QXmlStreamWriter>
 
 namespace
@@ -262,7 +263,7 @@ SessionItem* createItem(SessionItem* item, const QString& modelType, const QStri
         if (auto groupItem = dynamic_cast<GroupItem*>(item))
             result = groupItem->getItemOfType(modelType);
     } else {
-        if (item->isSingleItemTag(tag))
+        if (item->sessionItemTags()->isSingleItemTag(tag))
             result = item->getItem(tag);
         else
             result = item->model()->insertNewItem(modelType, item->index(), -1, tag);
-- 
GitLab