File indexing completed on 2024-05-12 05:10:43
0001 /* 0002 SPDX-FileCopyrightText: 2009 KDAB 0003 SPDX-FileContributor: Frank Osterfeld <osterfeld@kde.org> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #pragma once 0009 0010 #include <QSortFilterProxyModel> 0011 0012 #include <memory> 0013 0014 namespace KCalendarCore 0015 { 0016 class CalFilter; 0017 } 0018 0019 namespace Akonadi 0020 { 0021 class CalFilterProxyModelPrivate; 0022 0023 class CalFilterProxyModel : public QSortFilterProxyModel 0024 { 0025 Q_OBJECT 0026 public: 0027 explicit CalFilterProxyModel(QObject *parent = nullptr); 0028 ~CalFilterProxyModel() override; 0029 0030 KCalendarCore::CalFilter *filter() const; 0031 void setFilter(KCalendarCore::CalFilter *filter); 0032 0033 protected: 0034 bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override; 0035 0036 private: 0037 std::unique_ptr<CalFilterProxyModelPrivate> const d; 0038 }; 0039 }