diff options
Diffstat (limited to 'framework/src')
-rw-r--r-- | framework/src/entitymodel.cpp | 17 | ||||
-rw-r--r-- | framework/src/entitymodel.h | 5 |
2 files changed, 22 insertions, 0 deletions
diff --git a/framework/src/entitymodel.cpp b/framework/src/entitymodel.cpp index e2a4ea2d..92f8c70b 100644 --- a/framework/src/entitymodel.cpp +++ b/framework/src/entitymodel.cpp | |||
@@ -29,6 +29,7 @@ EntityModel::EntityModel(QObject *parent) : QSortFilterProxyModel(parent) | |||
29 | { | 29 | { |
30 | setDynamicSortFilter(true); | 30 | setDynamicSortFilter(true); |
31 | sort(0, Qt::AscendingOrder); | 31 | sort(0, Qt::AscendingOrder); |
32 | setFilterCaseSensitivity(Qt::CaseInsensitive); | ||
32 | } | 33 | } |
33 | 34 | ||
34 | EntityModel::~EntityModel() | 35 | EntityModel::~EntityModel() |
@@ -124,6 +125,9 @@ void EntityModel::setRoles(const QStringList &roles) | |||
124 | for (const auto &r : mRoleNames.keys()) { | 125 | for (const auto &r : mRoleNames.keys()) { |
125 | mRoles.insert(mRoleNames.value(r), r); | 126 | mRoles.insert(mRoleNames.value(r), r); |
126 | } | 127 | } |
128 | if (!mSortRole.isEmpty()) { | ||
129 | QSortFilterProxyModel::setSortRole(mRoles.value(mSortRole.toUtf8())); | ||
130 | } | ||
127 | updateQuery(); | 131 | updateQuery(); |
128 | } | 132 | } |
129 | 133 | ||
@@ -143,6 +147,19 @@ QVariantMap EntityModel::filter() const | |||
143 | return {}; | 147 | return {}; |
144 | } | 148 | } |
145 | 149 | ||
150 | void EntityModel::setSortRole(const QString &sortRole) | ||
151 | { | ||
152 | mSortRole = sortRole; | ||
153 | if (!mRoles.isEmpty()) { | ||
154 | QSortFilterProxyModel::setSortRole(mRoles.value(sortRole.toUtf8())); | ||
155 | } | ||
156 | } | ||
157 | |||
158 | QString EntityModel::sortRole() const | ||
159 | { | ||
160 | return mSortRole; | ||
161 | } | ||
162 | |||
146 | 163 | ||
147 | QVariantMap EntityModel::data(int row) const | 164 | QVariantMap EntityModel::data(int row) const |
148 | { | 165 | { |
diff --git a/framework/src/entitymodel.h b/framework/src/entitymodel.h index e8c294a0..688905dc 100644 --- a/framework/src/entitymodel.h +++ b/framework/src/entitymodel.h | |||
@@ -35,6 +35,7 @@ class KUBE_EXPORT EntityModel : public QSortFilterProxyModel | |||
35 | Q_PROPERTY (QString accountId READ accountId WRITE setAccountId) | 35 | Q_PROPERTY (QString accountId READ accountId WRITE setAccountId) |
36 | Q_PROPERTY (QString type READ type WRITE setType) | 36 | Q_PROPERTY (QString type READ type WRITE setType) |
37 | Q_PROPERTY (QStringList roles READ roles WRITE setRoles) | 37 | Q_PROPERTY (QStringList roles READ roles WRITE setRoles) |
38 | Q_PROPERTY (QString sortRole READ sortRole WRITE setSortRole) | ||
38 | Q_PROPERTY (QVariantMap filter READ filter WRITE setFilter) | 39 | Q_PROPERTY (QVariantMap filter READ filter WRITE setFilter) |
39 | 40 | ||
40 | public: | 41 | public: |
@@ -64,6 +65,9 @@ public: | |||
64 | void setFilter(const QVariantMap &); | 65 | void setFilter(const QVariantMap &); |
65 | QVariantMap filter() const; | 66 | QVariantMap filter() const; |
66 | 67 | ||
68 | void setSortRole(const QString &); | ||
69 | QString sortRole() const; | ||
70 | |||
67 | Q_INVOKABLE QVariantMap data(int row) const; | 71 | Q_INVOKABLE QVariantMap data(int row) const; |
68 | 72 | ||
69 | private: | 73 | private: |
@@ -74,6 +78,7 @@ private: | |||
74 | QHash<QByteArray, int> mRoles; | 78 | QHash<QByteArray, int> mRoles; |
75 | QString mAccountId; | 79 | QString mAccountId; |
76 | QString mType; | 80 | QString mType; |
81 | QString mSortRole; | ||
77 | }; | 82 | }; |
78 | 83 | ||
79 | 84 | ||