1 /* 2 SPDX-FileCopyrightText: 2007-2008 Frederik Gladhorn <frederik.gladhorn@kdemail.net> 3 SPDX-License-Identifier: GPL-2.0-or-later 4 */ 5 6 #ifndef VOCABULARYFILTER_H 7 #define VOCABULARYFILTER_H 8 9 #include <QSortFilterProxyModel> 10 11 class KEduVocLesson; 12 class KEduVocExpression; 13 14 class VocabularyModel; 15 16 class VocabularyFilter : public QSortFilterProxyModel 17 { 18 Q_OBJECT 19 public: 20 explicit VocabularyFilter(QObject *parent = 0); 21 22 void setSourceModel(VocabularyModel *model); 23 24 QModelIndex appendEntry(KEduVocExpression *expression = 0); 25 KEduVocLesson *lesson(); 26 27 public slots: 28 void setSearchString(const QString &expression); 29 30 protected: 31 bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override; 32 33 private: setSourceModel(QAbstractItemModel * model)34 void setSourceModel(QAbstractItemModel *model) override 35 { 36 Q_UNUSED(model) 37 } 38 39 VocabularyModel *m_model; 40 QString m_filterString; 41 }; 42 43 #endif 44