AusweisApp2
Lade ...
Suche ...
Keine Treffer
ProviderCategoryFilterModel.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include "ProviderModel.h"
12
13#include <QQmlEngine>
14#include <QSet>
15#include <QSortFilterProxyModel>
16#include <QStringList>
17
18class test_ProviderCategoryFilterModel;
19
20namespace governikus
21{
22
24 : public QSortFilterProxyModel
25{
26 Q_OBJECT
27 Q_PROPERTY(QString searchString READ getSearchString WRITE updateSearchString NOTIFY fireCriteriaChanged)
28 Q_PROPERTY(QStringList categories READ getSelectedCategories NOTIFY fireCriteriaChanged)
29 Q_PROPERTY(int rowCount READ rowCount NOTIFY fireCriteriaChanged)
30 Q_PROPERTY(int additionalResultCount READ getAdditionalResultCount NOTIFY fireCriteriaChanged)
32
33 private:
34 QString mSearchString;
35 QStringList mSelectedCategories;
36
37 ProviderModel mProviderModel;
38
39 [[nodiscard]] QString getSearchString() const;
40 void updateSearchString(const QString& pSearchString);
41 [[nodiscard]] QStringList getSelectedCategories() const;
42 [[nodiscard]] int getAdditionalResultCount() const;
43 [[nodiscard]] QStringList getFilteredProviderCategories() const;
44 [[nodiscard]] int resultCountForFilter(const QStringList& pCategories, const QString& pSearchString) const;
45 [[nodiscard]] bool rowMatchesFilter(int pSourceRow, const QModelIndex& pSourceParent, const QStringList& pSelectedCategories, const QString& pSearchString, bool pMatchCategoryType) const;
46
47 protected:
48 [[nodiscard]] bool filterAcceptsRow(int pSourceRow, const QModelIndex& pSourceParent) const override;
49
50 public:
52 ~ProviderCategoryFilterModel() override = default;
53
54 Q_INVOKABLE void setIncludeCategoriesInModel(bool pIncludeCategories);
55 Q_INVOKABLE void sortByCategoryFirst(bool pEnabled);
56 Q_INVOKABLE void setCategorySelection(const QString& pCategory);
57 Q_INVOKABLE void updateCategorySelection(const QString& pCategory, bool pSelected);
58 Q_INVOKABLE void addAdditionalResultCategories();
59
60 Q_SIGNALS:
62};
63
64
65} // namespace governikus
Definition ProviderCategoryFilterModel.h:25
bool filterAcceptsRow(int pSourceRow, const QModelIndex &pSourceParent) const override
Definition ProviderCategoryFilterModel.cpp:82
QString searchString
Definition ProviderCategoryFilterModel.h:27
QStringList categories
Definition ProviderCategoryFilterModel.h:28
Q_INVOKABLE void addAdditionalResultCategories()
Definition ProviderCategoryFilterModel.cpp:198
Q_INVOKABLE void updateCategorySelection(const QString &pCategory, bool pSelected)
Definition ProviderCategoryFilterModel.cpp:177
Q_INVOKABLE void setCategorySelection(const QString &pCategory)
Definition ProviderCategoryFilterModel.cpp:164
Q_INVOKABLE void sortByCategoryFirst(bool pEnabled)
Definition ProviderCategoryFilterModel.cpp:158
Q_INVOKABLE void setIncludeCategoriesInModel(bool pIncludeCategories)
Definition ProviderCategoryFilterModel.cpp:152
int additionalResultCount
Definition ProviderCategoryFilterModel.h:30
friend class ::test_ProviderCategoryFilterModel
Definition ProviderCategoryFilterModel.h:31
int rowCount
Definition ProviderCategoryFilterModel.h:29
Definition ProviderModel.h:23
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:16