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 }