diff options
| author | Frank Reininghaus <[email protected]> | 2014-06-19 20:35:22 +0200 |
|---|---|---|
| committer | Frank Reininghaus <[email protected]> | 2014-06-19 20:35:22 +0200 |
| commit | efa19caa46f1d56afab9cc33c456bc84c47d95e1 (patch) | |
| tree | 1417c2172b768370fb622067497e1662b4256af7 | |
| parent | 7a593fc92bf28fbdcdec0e241e18ee8ba2ad7334 (diff) | |
Implement TODO concerning changed roles
When emitting the itemsChanged signal in KFileItemModel::setRoles,
use the changed roles in the argument of the signal.
A warning message which was related to this issue was removed in
7a83252e0d919d8408e0808ccbd7b401d57444d3
REVIEW: 118815
| -rw-r--r-- | src/kitemviews/kfileitemmodel.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp index 829063523..72acf776a 100644 --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -449,6 +449,8 @@ void KFileItemModel::setRoles(const QSet<QByteArray>& roles) if (m_roles == roles) { return; } + + const QSet<QByteArray> changedRoles = (roles - m_roles) + (m_roles - roles); m_roles = roles; if (count() > 0) { @@ -477,7 +479,7 @@ void KFileItemModel::setRoles(const QSet<QByteArray>& roles) m_itemData[i]->values = retrieveData(m_itemData.at(i)->item, m_itemData.at(i)->parent); } - emit itemsChanged(KItemRangeList() << KItemRange(0, count()), QSet<QByteArray>()); + emit itemsChanged(KItemRangeList() << KItemRange(0, count()), changedRoles); } // Clear the 'values' of all filtered items. They will be re-populated with the |
