┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views/viewproperties.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2012-05-09 15:49:14 +0200
committerPeter Penz <[email protected]>2012-05-09 15:50:54 +0200
commit6150ac5d5d8e2d10a30381407cec550ff0aa392c (patch)
treebfe220de710ea08b8a01b81a8f48e81d0c02bc53 /src/views/viewproperties.cpp
parent9641672247fad1ce4aa0eb31631db40900884248 (diff)
Assure backward compatibility for the sort-role
Dolphin 2.1 uses "text" instead of "name" as default-role. Provide backward compatibility with older .directory files and assure that they get updated.
Diffstat (limited to 'src/views/viewproperties.cpp')
-rw-r--r--src/views/viewproperties.cpp25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/views/viewproperties.cpp b/src/views/viewproperties.cpp
index 8dadf4e49..3a9a2a370 100644
--- a/src/views/viewproperties.cpp
+++ b/src/views/viewproperties.cpp
@@ -177,6 +177,10 @@ void ViewProperties::setSortRole(const QByteArray& role)
QByteArray ViewProperties::sortRole() const
{
+ if (m_node->version() <= NameRolePropertiesVersion) {
+ const_cast<ViewProperties*>(this)->convertNameRoleToTextRole();
+ }
+
return m_node->sortRole().toLatin1();
}
@@ -270,9 +274,11 @@ QList<QByteArray> ViewProperties::visibleRoles() const
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) {
@@ -375,7 +381,7 @@ QString ViewProperties::viewModePrefix() const
return prefix;
}
-QStringList ViewProperties::convertAdditionalInfo()
+void ViewProperties::convertAdditionalInfo()
{
QStringList visibleRoles;
@@ -404,11 +410,9 @@ QStringList ViewProperties::convertAdditionalInfo()
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) {
@@ -418,13 +422,16 @@ QStringList ViewProperties::convertNameRole()
}
}
+ 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