diff options
Diffstat (limited to 'framework/src/entitymodel.cpp')
-rw-r--r-- | framework/src/entitymodel.cpp | 17 |
1 files changed, 17 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 | { |