File indexing completed on 2024-05-19 05:38:22
0001 /* 0002 * SPDX-FileCopyrightText: 2023 Ismael Asensio <isma.af@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #pragma once 0008 0009 #include <QAbstractProxyModel> 0010 0011 class EventsProxyModel : public QAbstractProxyModel 0012 { 0013 Q_OBJECT 0014 Q_PROPERTY(QModelIndex rootIndex READ rootIndex WRITE setRootIndex NOTIFY rootIndexChanged) 0015 0016 public: 0017 explicit EventsProxyModel(QObject *parent); 0018 0019 QModelIndex mapToSource(const QModelIndex &proxyIndex) const override; 0020 QModelIndex mapFromSource(const QModelIndex &sourceIndex) const override; 0021 0022 QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override; 0023 QModelIndex parent(const QModelIndex &index) const override; 0024 int rowCount(const QModelIndex &index) const override; 0025 int columnCount(const QModelIndex &index) const override; 0026 0027 QModelIndex rootIndex() const; 0028 void setRootIndex(const QModelIndex &index); 0029 Q_SIGNAL void rootIndexChanged(); 0030 0031 private Q_SLOTS: 0032 void updateDataConnection(); 0033 0034 private: 0035 QModelIndex m_rootIndex; 0036 };