diff --git a/src/libs/utils/treemodel.cpp b/src/libs/utils/treemodel.cpp index 7f47b770bfc..86b9e1537b9 100644 --- a/src/libs/utils/treemodel.cpp +++ b/src/libs/utils/treemodel.cpp @@ -662,6 +662,14 @@ QVariant TreeItem::data(int column, int role) const return QVariant(); } +bool TreeItem::setData(int column, const QVariant &data, int role) +{ + Q_UNUSED(column); + Q_UNUSED(data); + Q_UNUSED(role); + return false; +} + Qt::ItemFlags TreeItem::flags(int column) const { Q_UNUSED(column); @@ -785,6 +793,15 @@ int TreeModel::columnCount(const QModelIndex &idx) const return itemFromIndex(idx)->columnCount(); } +bool TreeModel::setData(const QModelIndex &idx, const QVariant &data, int role) +{ + TreeItem *item = itemFromIndex(idx); + bool res = item ? item->setData(idx.column(), data, role) : false; + if (res) + emit dataChanged(idx, idx); + return res; +} + QVariant TreeModel::data(const QModelIndex &idx, int role) const { TreeItem *item = itemFromIndex(idx); diff --git a/src/libs/utils/treemodel.h b/src/libs/utils/treemodel.h index 4643ebeb869..f4963a1bdcb 100644 --- a/src/libs/utils/treemodel.h +++ b/src/libs/utils/treemodel.h @@ -58,6 +58,7 @@ public: virtual void populate(); virtual QVariant data(int column, int role) const; + virtual bool setData(int column, const QVariant &data, int role); virtual Qt::ItemFlags flags(int column) const; void prependChild(TreeItem *item); @@ -220,6 +221,7 @@ public: int rowCount(const QModelIndex &idx = QModelIndex()) const; int columnCount(const QModelIndex &idx) const; + bool setData(const QModelIndex &idx, const QVariant &data, int role); QVariant data(const QModelIndex &idx, int role) const; QModelIndex index(int, int, const QModelIndex &idx) const; QModelIndex parent(const QModelIndex &idx) const;