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