File indexing completed on 2024-05-19 05:35:56

0001 /*
0002     SPDX-FileCopyrightText: 2016 Eike Hein <hein.org>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #pragma once
0007 
0008 #include "taskfilterproxymodel.h"
0009 
0010 #include <memory>
0011 
0012 class PagerModel;
0013 
0014 class WindowModel : public TaskManager::TaskFilterProxyModel
0015 {
0016     Q_OBJECT
0017 
0018 public:
0019     enum WindowModelRoles {
0020         StackingOrder = Qt::UserRole + 1,
0021     };
0022     Q_ENUM(WindowModelRoles)
0023 
0024     explicit WindowModel(PagerModel *parent);
0025     ~WindowModel() override;
0026 
0027     QHash<int, QByteArray> roleNames() const override;
0028 
0029     QVariant data(const QModelIndex &index, int role) const override;
0030 
0031 private Q_SLOTS:
0032     void onPagerItemSizeChanged();
0033 
0034 private:
0035     class Private;
0036     std::unique_ptr<Private> d;
0037 };