1 /* 2 SPDX-FileCopyrightText: 2018 Sandro Knauß <sknauss@kde.org> 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5 */ 6 7 #pragma once 8 9 #include <QSet> 10 #include <QSortFilterProxyModel> 11 #include <QTimer> 12 13 namespace KPIM 14 { 15 class KCheckComboBox; 16 } 17 18 class DebugFilterModel : public QSortFilterProxyModel 19 { 20 Q_OBJECT 21 public: 22 explicit DebugFilterModel(QObject *parent = nullptr); 23 ~DebugFilterModel() override; 24 25 void setSenderFilter(KPIM::KCheckComboBox *appFilter); 26 27 protected: 28 bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override; 29 30 private: 31 KPIM::KCheckComboBox *mSenderFilter = nullptr; 32 QSet<QString> mCheckedSenders; 33 QTimer mInvalidateTimer; 34 }; 35 36