applets/pager: rename StackingOrder role

Pager's WindowModel adds a StackingOrder role (with rolename
StackingOrder), but the source model already has this role with
the same rolename. When we try to get the new property from qml for
a delegate, we get many warnings of the type:

qt.qml.propertyCache.append: Final member StackingOrder is overridden in
class QQmlDMAbstractItemModelData. The override won't be used.

The two properties (AbstractTaskModel's StackingOrder and pager's
StackingOrder) usually give the same result, so there doesn't seem to
break anything badly, but we can get rid of the warnings (and get the
value as originally inteded) by giving the WindowModel role a unique
name (PagerStackingOrder).
This commit is contained in:
Christoph Wolk 2026-11-01 14:56:20 +01:00
parent fda04fd114
commit 59afb4eaff
3 changed files with 4 additions and 4 deletions

View file

@ -477,7 +477,7 @@ PlasmoidItem {
readonly property rect geometry: model.Geometry
readonly property bool minimized: model.IsMinimized
readonly property bool isActive: model.IsActive
readonly property int stackingOrder: model.StackingOrder
readonly property int stackingOrder: model.PagerStackingOrder
}
delegate: WindowDelegate {

View file

@ -41,7 +41,7 @@ WindowModel::WindowModel(PagerModel *parent)
connect(parent, &PagerModel::pagerItemSizeChanged, this, &WindowModel::onPagerItemSizeChanged);
connect(this, &QAbstractItemModel::dataChanged, this, [this](const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles) {
if (roles.contains(AbstractTasksModel::StackingOrder)) {
Q_EMIT dataChanged(topLeft, bottomRight, {WindowModelRoles::StackingOrder});
Q_EMIT dataChanged(topLeft, bottomRight, {WindowModelRoles::PagerStackingOrder});
}
});
}
@ -77,7 +77,7 @@ QVariant WindowModel::data(const QModelIndex &index, int role) const
// Restrict to desktop/screen rect.
return windowGeo.intersected(clampingRect);
} else if (role == StackingOrder) {
} else if (role == WindowModelRoles::PagerStackingOrder) {
const auto &winId = TaskFilterProxyModel::data(index, AbstractTasksModel::WinIdList);
const int z = d->pagerModel->stackingOrder(index);

View file

@ -17,7 +17,7 @@ class WindowModel : public TaskManager::TaskFilterProxyModel
public:
enum WindowModelRoles {
StackingOrder = Qt::UserRole + 1,
PagerStackingOrder = Qt::UserRole + 1,
};
Q_ENUM(WindowModelRoles)