diff --git a/libtaskmanager/taskgroupingproxymodel.cpp b/libtaskmanager/taskgroupingproxymodel.cpp index 3c13b0c1e..67a50dfe2 100644 --- a/libtaskmanager/taskgroupingproxymodel.cpp +++ b/libtaskmanager/taskgroupingproxymodel.cpp @@ -599,6 +599,15 @@ int TaskGroupingProxyModel::rowCount(const QModelIndex &parent) const return d->rowMap.count(); } +bool TaskGroupingProxyModel::hasChildren(const QModelIndex &parent) const +{ + if ((parent.model() && parent.model() != this) || !sourceModel()) { + return false; + } + + return rowCount(parent); +} + int TaskGroupingProxyModel::columnCount(const QModelIndex &parent) const { Q_UNUSED(parent) diff --git a/libtaskmanager/taskgroupingproxymodel.h b/libtaskmanager/taskgroupingproxymodel.h index 89e6bebfd..73e5b150d 100644 --- a/libtaskmanager/taskgroupingproxymodel.h +++ b/libtaskmanager/taskgroupingproxymodel.h @@ -62,6 +62,7 @@ public: QModelIndex mapToSource(const QModelIndex &proxyIndex) const override; int rowCount(const QModelIndex &parent = QModelIndex()) const override; + bool hasChildren(const QModelIndex &parent = QModelIndex()) const override; int columnCount(const QModelIndex &parent = QModelIndex()) const override; QVariant data(const QModelIndex &proxyIndex, int role) const override;