diff --git a/src/blackgui/models/actionitem.cpp b/src/blackgui/models/actionitem.cpp index a42c4e5ed..6844aa3ef 100644 --- a/src/blackgui/models/actionitem.cpp +++ b/src/blackgui/models/actionitem.cpp @@ -8,18 +8,15 @@ */ #include "blackgui/models/actionitem.h" - #include namespace BlackGui { namespace Models { - ActionItem::ActionItem(const QString &action, const QString &name, ActionItem *parent) : m_action(action), m_actionName(name), m_parentItem(parent) - { - } + { } ActionItem::~ActionItem() { @@ -31,7 +28,7 @@ namespace BlackGui m_childItems.append(item); } - ActionItem *ActionItem::findChildByName(const QString &name) + ActionItem *ActionItem::findChildByName(const QString &name) const { for (auto child : m_childItems) { @@ -40,7 +37,7 @@ namespace BlackGui return nullptr; } - ActionItem *ActionItem::getChildByRow(int row) + ActionItem *ActionItem::getChildByRow(int row) const { return m_childItems.value(row); } @@ -50,6 +47,11 @@ namespace BlackGui return m_childItems.count(); } + bool ActionItem::hasChildren() const + { + return getChildCount() > 0; + } + int ActionItem::getColumnCount() const { return 1; @@ -65,7 +67,7 @@ namespace BlackGui return m_actionName; } - ActionItem *ActionItem::getParentItem() + ActionItem *ActionItem::getParentItem() const { return m_parentItem; } @@ -73,9 +75,7 @@ namespace BlackGui int ActionItem::getRow() const { if (m_parentItem) { return m_parentItem->m_childItems.indexOf(const_cast(this)); } - return 0; } - } } diff --git a/src/blackgui/models/actionitem.h b/src/blackgui/models/actionitem.h index bc94438c2..97176c9aa 100644 --- a/src/blackgui/models/actionitem.h +++ b/src/blackgui/models/actionitem.h @@ -19,7 +19,6 @@ namespace BlackGui { namespace Models { - //! One single action item in a tree class ActionItem { @@ -34,14 +33,17 @@ namespace BlackGui void appendChild(ActionItem *child); //! Find child by its name - ActionItem *findChildByName(const QString &name); + ActionItem *findChildByName(const QString &name) const; //! Get child by row - ActionItem *getChildByRow(int row); + ActionItem *getChildByRow(int row) const; - //! Number of childs + //! Number of children int getChildCount() const; + //! Has children? + bool hasChildren() const; + //! Number of columns int getColumnCount() const; @@ -55,16 +57,15 @@ namespace BlackGui int getRow() const; //! Get parent item - ActionItem *getParentItem(); + ActionItem *getParentItem() const; private: QList m_childItems; QString m_action; QString m_actionName; - ActionItem *m_parentItem; + ActionItem *m_parentItem = nullptr; }; - } -} +} // ns #endif // guard