diff options
| author | Kai Uwe Broulik <[email protected]> | 2022-03-25 18:28:54 +0100 |
|---|---|---|
| committer | Kai Uwe Broulik <[email protected]> | 2022-03-28 14:52:15 +0200 |
| commit | e304aa79b42bc7382376aef855e3e4366bb345b3 (patch) | |
| tree | f74a70e4b90c9fdb82d46748cc5ae616016a5b1f /src | |
| parent | 0a9c0184974e9de3e742c9832ddc0e9b8c1c9a03 (diff) | |
[ViewProperties] Consider existing roles in convertAdditionalInfo
Otherwise all default overrides for roles we perform in this class are moot.
Diffstat (limited to 'src')
| -rw-r--r-- | src/views/viewproperties.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/views/viewproperties.cpp b/src/views/viewproperties.cpp index 2bfdfe81b..0274d5095 100644 --- a/src/views/viewproperties.cpp +++ b/src/views/viewproperties.cpp @@ -430,7 +430,7 @@ QString ViewProperties::viewModePrefix() const void ViewProperties::convertAdditionalInfo() { - QStringList visibleRoles; + QStringList visibleRoles = m_node->visibleRoles(); const QStringList additionalInfo = m_node->additionalInfo(); if (!additionalInfo.isEmpty()) { @@ -438,7 +438,7 @@ void ViewProperties::convertAdditionalInfo() // to Icons_size, Details_date, ... where the suffix just represents // the internal role. One special-case must be handled: "LinkDestination" // has been used for "destination". - visibleRoles.reserve(additionalInfo.count()); + visibleRoles.reserve(visibleRoles.count() + additionalInfo.count()); for (const QString& info : additionalInfo) { QString visibleRole = info; int index = visibleRole.indexOf('_'); @@ -450,7 +450,9 @@ void ViewProperties::convertAdditionalInfo() visibleRole[index] = visibleRole[index].toLower(); } } - visibleRoles.append(visibleRole); + if (!visibleRoles.contains(visibleRole)) { + visibleRoles.append(visibleRole); + } } } |
