summaryrefslogtreecommitdiffstats
path: root/framework/src
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src')
-rw-r--r--framework/src/entitymodel.cpp17
-rw-r--r--framework/src/entitymodel.h5
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
34EntityModel::~EntityModel() 35EntityModel::~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
150void EntityModel::setSortRole(const QString &sortRole)
151{
152 mSortRole = sortRole;
153 if (!mRoles.isEmpty()) {
154 QSortFilterProxyModel::setSortRole(mRoles.value(sortRole.toUtf8()));
155 }
156}
157
158QString EntityModel::sortRole() const
159{
160 return mSortRole;
161}
162
146 163
147QVariantMap EntityModel::data(int row) const 164QVariantMap 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
40public: 41public:
@@ -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
69private: 73private:
@@ -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