┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Uwe Broulik <[email protected]>2022-03-25 18:28:54 +0100
committerKai Uwe Broulik <[email protected]>2022-03-28 14:52:15 +0200
commite304aa79b42bc7382376aef855e3e4366bb345b3 (patch)
treef74a70e4b90c9fdb82d46748cc5ae616016a5b1f
parent0a9c0184974e9de3e742c9832ddc0e9b8c1c9a03 (diff)
[ViewProperties] Consider existing roles in convertAdditionalInfo
Otherwise all default overrides for roles we perform in this class are moot.
-rw-r--r--src/views/viewproperties.cpp8
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);
+ }
}
}