// the details view as customized by the user. See
// ViewProperties::visibleRoles() for more information.
const char* CustomizedDetailsString = "CustomizedDetails";
+
+ // Filename that is used for storing the properties
+ const char* ViewPropertiesFileName = ".directory";
}
ViewProperties::ViewProperties(const KUrl& url) :
m_filePath = destinationDir("remote") + m_filePath;
}
- const QString file = m_filePath + QDir::separator() + QLatin1String(".directory");
+ const QString file = m_filePath + QDir::separator() + ViewPropertiesFileName;
m_node = new ViewPropertySettings(KSharedConfig::openConfig(file));
// If the .directory file does not exist or the timestamp is too old,
// use default values instead.
const bool useDefaultProps = (!useGlobalViewProps || useDetailsViewWithPath) &&
- (!QFileInfo(file).exists() ||
+ (!QFile::exists(file) ||
(m_node->timestamp() < settings->viewPropsTimestamp()));
if (useDefaultProps) {
if (useDetailsViewWithPath) {
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) {
m_changedProps = false;
}
-KUrl ViewProperties::mirroredDirectory()
+bool ViewProperties::exist() const
{
- QString basePath = KGlobal::mainComponent().componentName();
- basePath.append("/view_properties/");
- return KUrl(KStandardDirs::locateLocal("data", basePath));
+ const QString file = m_filePath + QDir::separator() + ViewPropertiesFileName;
+ return QFile::exists(file);
}
QString ViewProperties::destinationDir(const QString& subDir) const
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
hashString.replace('/', '-');
return hashString;
}
+
+KUrl ViewProperties::mirroredDirectory()
+{
+ QString basePath = KGlobal::mainComponent().componentName();
+ basePath.append("/view_properties/");
+ return KUrl(KStandardDirs::locateLocal("data", basePath));
+}