QByteArray ViewProperties::sortRole() const
{
+ if (m_node->version() <= NameRolePropertiesVersion) {
+ const_cast<ViewProperties*>(this)->convertNameRoleToTextRole();
+ }
+
return m_node->sortRole().toLatin1();
}
if (visibleRoles.isEmpty() && version <= AdditionalInfoViewPropertiesVersion) {
// Convert the obsolete additionalInfo-property from older versions into the
// visibleRoles-property
- visibleRoles = const_cast<ViewProperties*>(this)->convertAdditionalInfo();
+ const_cast<ViewProperties*>(this)->convertAdditionalInfo();
+ visibleRoles = m_node->visibleRoles();
} else if (version <= NameRolePropertiesVersion) {
- visibleRoles = const_cast<ViewProperties*>(this)->convertNameRole();
+ const_cast<ViewProperties*>(this)->convertNameRoleToTextRole();
+ visibleRoles = m_node->visibleRoles();
}
foreach (const QString& visibleRole, visibleRoles) {
return prefix;
}
-QStringList ViewProperties::convertAdditionalInfo()
+void ViewProperties::convertAdditionalInfo()
{
QStringList visibleRoles;
m_node->setAdditionalInfo(QStringList());
m_node->setVisibleRoles(visibleRoles);
update();
-
- return visibleRoles;
}
-QStringList ViewProperties::convertNameRole()
+void ViewProperties::convertNameRoleToTextRole()
{
QStringList visibleRoles = m_node->visibleRoles();
for (int i = 0; i < visibleRoles.count(); ++i) {
}
}
+ QString sortRole = m_node->sortRole();
+ if (sortRole == QLatin1String("name")) {
+ sortRole = QLatin1String("text");
+ }
+
m_node->setVisibleRoles(visibleRoles);
+ m_node->setSortRole(sortRole);
update();
-
- return visibleRoles;
}
-
bool ViewProperties::isPartOfHome(const QString& filePath)
{
// For performance reasons cache the path in a static QString
* Dolphin < 2.0: Converts the old additionalInfo-property into
* the visibleRoles-property and clears the additionalInfo-property.
*/
- QStringList convertAdditionalInfo();
+ void convertAdditionalInfo();
/**
* Provides backward compatibility with .directory files created with
* Dolphin < 2.1: Converts the old name-role "name" to the generic
* role "text".
*/
- QStringList convertNameRole();
+ void convertNameRoleToTextRole();
/**
* Returns true, if \a filePath is part of the home-path (see QDir::homePath()).