aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/treemodel.cpp
diff options
context:
space:
mode:
authorhjk <hjk@theqtcompany.com>2016-06-10 10:37:49 +0200
committerhjk <hjk@theqtcompany.com>2016-06-15 08:55:16 +0000
commitb281d6dad7aa43410387dbf06df07ac5f3716d42 (patch)
tree6d10a147a9278594ee3d764d098e4ad717b4ee46 /src/libs/utils/treemodel.cpp
parent0c1cdc3a4aea1ebc3e8ce093576c9fc8b4ba281c (diff)
TreeModel: Introduce a StaticTreeItem
This splits out the case of static string displays from the TreeItem base class, making the base more lightweight. Change-Id: If1f442011ec60094399a41b65d9b5015f432f82e Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/libs/utils/treemodel.cpp')
-rw-r--r--src/libs/utils/treemodel.cpp30
1 files changed, 21 insertions, 9 deletions
diff --git a/src/libs/utils/treemodel.cpp b/src/libs/utils/treemodel.cpp
index a4dd145f401..d42711cf7db 100644
--- a/src/libs/utils/treemodel.cpp
+++ b/src/libs/utils/treemodel.cpp
@@ -606,12 +606,7 @@ namespace Utils {
// TreeItem
//
TreeItem::TreeItem()
- : m_parent(0), m_model(0), m_displays(0), m_flags(Qt::ItemIsEnabled|Qt::ItemIsSelectable)
-{
-}
-
-TreeItem::TreeItem(const QStringList &displays, int flags)
- : m_parent(0), m_model(0), m_displays(new QStringList(displays)), m_flags(flags)
+ : m_parent(0), m_model(0), m_flags(Qt::ItemIsEnabled|Qt::ItemIsSelectable)
{
}
@@ -620,7 +615,6 @@ TreeItem::~TreeItem()
QTC_CHECK(m_parent == 0);
QTC_CHECK(m_model == 0);
removeChildren();
- delete m_displays;
}
TreeItem *TreeItem::child(int pos) const
@@ -636,8 +630,8 @@ int TreeItem::rowCount() const
QVariant TreeItem::data(int column, int role) const
{
- if (role == Qt::DisplayRole && m_displays && column >= 0 && column < m_displays->size())
- return m_displays->at(column);
+ Q_UNUSED(column);
+ Q_UNUSED(role);
return QVariant();
}
@@ -1055,4 +1049,22 @@ TreeItem *TreeModel::takeItem(TreeItem *item)
return item;
}
+StaticTreeItem::StaticTreeItem(const QStringList &displays)
+ : m_displays(displays)
+{
+}
+
+QVariant StaticTreeItem::data(int column, int role) const
+{
+ if (role == Qt::DisplayRole && column >= 0 && column < m_displays.size())
+ return m_displays.at(column);
+ return QVariant();
+}
+
+Qt::ItemFlags StaticTreeItem::flags(int column) const
+{
+ Q_UNUSED(column);
+ return Qt::ItemIsEnabled;
+}
+
} // namespace Utils