From e304aa79b42bc7382376aef855e3e4366bb345b3 Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik Date: Fri, 25 Mar 2022 18:28:54 +0100 Subject: [PATCH] [ViewProperties] Consider existing roles in convertAdditionalInfo Otherwise all default overrides for roles we perform in this class are moot. --- src/views/viewproperties.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/views/viewproperties.cpp b/src/views/viewproperties.cpp index 2bfdfe81b0..0274d50954 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); + } } }