diff --git a/qqmlsortfilterproxymodel.cpp b/qqmlsortfilterproxymodel.cpp index bd06435..d13efdf 100644 --- a/qqmlsortfilterproxymodel.cpp +++ b/qqmlsortfilterproxymodel.cpp @@ -208,11 +208,11 @@ void QQmlSortFilterProxyModel::componentComplete() { m_completed = true; - for (const auto& filter : m_filters) + for (const auto& filter : qAsConst(m_filters)) filter->proxyModelCompleted(*this); - for (const auto& sorter : m_sorters) + for (const auto& sorter : qAsConst(m_sorters)) sorter->proxyModelCompleted(*this); - for (const auto& proxyRole : m_proxyRoles) + for (const auto& proxyRole : qAsConst(m_proxyRoles)) proxyRole->proxyModelCompleted(*this); invalidate(); @@ -266,7 +266,7 @@ QVariantMap QQmlSortFilterProxyModel::get(int row) const QVariantMap map; QModelIndex modelIndex = index(row, 0); QHash roles = roleNames(); - for (QHash::const_iterator it = roles.begin(); it != roles.end(); ++it) + for (auto it = roles.cbegin(); it != roles.cend(); ++it) map.insert(it.value(), data(modelIndex, it.key())); return map; } @@ -436,8 +436,9 @@ void QQmlSortFilterProxyModel::updateRoleNames() auto roles = m_roleNames.keys(); auto maxIt = std::max_element(roles.cbegin(), roles.cend()); int maxRole = maxIt != roles.cend() ? *maxIt : -1; - for (auto proxyRole : m_proxyRoles) { - for (auto roleName : proxyRole->names()) { + for (auto proxyRole : qAsConst(m_proxyRoles)) { + const auto proxyRoleNames = proxyRole->names(); + for (const auto &roleName : proxyRoleNames) { ++maxRole; m_roleNames[maxRole] = roleName.toUtf8(); m_proxyRoleMap[maxRole] = {proxyRole, roleName}; @@ -509,7 +510,7 @@ QVariantMap QQmlSortFilterProxyModel::modelDataMap(const QModelIndex& modelIndex { QVariantMap map; QHash roles = roleNames(); - for (QHash::const_iterator it = roles.begin(); it != roles.end(); ++it) + for (auto it = roles.cbegin(); it != roles.cend(); ++it) map.insert(it.value(), sourceModel()->data(modelIndex, it.key())); return map; }