File indexing completed on 2024-05-12 05:10:43
0001 /* 0002 SPDX-FileCopyrightText: 2014 Sandro Knauß <knauss@kolabsys.com> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <KCalendarCore/Attendee> 0010 #include <QSortFilterProxyModel> 0011 0012 #include <memory> 0013 0014 namespace Akonadi 0015 { 0016 class CalFilterPartStatusProxyModelPrivate; 0017 0018 class CalFilterPartStatusProxyModel : public QSortFilterProxyModel 0019 { 0020 Q_OBJECT 0021 public: 0022 explicit CalFilterPartStatusProxyModel(QObject *parent = nullptr); 0023 ~CalFilterPartStatusProxyModel() override; 0024 0025 void setFilterVirtual(bool filterVirtual); 0026 [[nodiscard]] bool filterVirtual() const; 0027 0028 void setBlockedStatusList(const QList<KCalendarCore::Attendee::PartStat> &blockStatusList); 0029 const QList<KCalendarCore::Attendee::PartStat> &blockedStatusList() const; 0030 0031 protected: 0032 bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override; 0033 0034 private: 0035 //@cond PRIVATE 0036 std::unique_ptr<CalFilterPartStatusProxyModelPrivate> const d; 0037 0038 //@endcond 0039 private Q_SLOTS: 0040 void slotIdentitiesChanged(); 0041 }; 0042 }