#include "dolphin_generalsettings.h"
#include <QUrl>
-#include <KDebug>
-#include <KGlobal>
+#include "dolphindebug.h"
-#include <KComponentData>
#include <QCryptographicHash>
#include <QDate>
#include <QFile>
namespace {
const int AdditionalInfoViewPropertiesVersion = 1;
const int NameRolePropertiesVersion = 2;
- const int CurrentViewPropertiesVersion = 3;
+ const int DateRolePropertiesVersion = 4;
+ const int CurrentViewPropertiesVersion = 4;
// String representation to mark the additional properties of
// the details view as customized by the user. See
// If the directory is not writable by the user or the directory is not local,
// we store the properties information in a local file.
if (useGlobalViewProps) {
- m_filePath = destinationDir("global");
- } else if (url.scheme().contains("search")) {
- m_filePath = destinationDir("search/") + directoryHashForUrl(url);
+ m_filePath = destinationDir(QStringLiteral("global"));
+ } else if (url.scheme().contains(QStringLiteral("search"))) {
+ m_filePath = destinationDir(QStringLiteral("search/")) + directoryHashForUrl(url);
useDetailsViewWithPath = true;
} else if (url.scheme() == QLatin1String("trash")) {
- m_filePath = destinationDir("trash");
+ m_filePath = destinationDir(QStringLiteral("trash"));
useDetailsViewWithPath = true;
} else if (url.isLocalFile()) {
m_filePath = url.toLocalFile();
// m_filePath probably begins with C:/ - the colon is not a valid character for paths though
m_filePath = QDir::separator() + m_filePath.remove(QLatin1Char(':'));
#endif
- m_filePath = destinationDir("local") + m_filePath;
+ m_filePath = destinationDir(QStringLiteral("local")) + m_filePath;
}
} else {
- m_filePath = destinationDir("remote") + m_filePath;
+ m_filePath = destinationDir(QStringLiteral("remote")) + m_filePath;
}
const QString file = m_filePath + QDir::separator() + ViewPropertiesFileName;
Q_ASSERT(m_node->version() == NameRolePropertiesVersion);
}
+ if (m_node->version() < DateRolePropertiesVersion) {
+ convertDateRoleToModificationTimeRole();
+ Q_ASSERT(m_node->version() == DateRolePropertiesVersion);
+ }
+
m_node->setVersion(CurrentViewPropertiesVersion);
}
}
}
// Add the updated values for the current view-mode
+ newVisibleRoles.reserve(roles.count());
foreach (const QByteArray& role, roles) {
newVisibleRoles.append(prefix + role);
}
&& !visibleRoles.contains(CustomizedDetailsString);
if (useDefaultValues) {
roles.append("size");
- roles.append("date");
+ roles.append("modificationtime");
}
return roles;
void ViewProperties::save()
{
- kDebug() << "Saving view-properties to" << m_filePath;
+ qCDebug(DolphinDebug) << "Saving view-properties to" << m_filePath;
QDir dir;
dir.mkpath(m_filePath);
m_node->setVersion(CurrentViewPropertiesVersion);
QString prefix;
switch (m_node->viewMode()) {
- case DolphinView::IconsView: prefix = "Icons_"; break;
- case DolphinView::CompactView: prefix = "Compact_"; break;
- case DolphinView::DetailsView: prefix = "Details_"; break;
- default: kWarning() << "Unknown view-mode of the view properties";
+ case DolphinView::IconsView: prefix = QStringLiteral("Icons_"); break;
+ case DolphinView::CompactView: prefix = QStringLiteral("Compact_"); break;
+ case DolphinView::DetailsView: prefix = QStringLiteral("Details_"); break;
+ default: qCWarning(DolphinDebug) << "Unknown view-mode of the view properties";
}
return prefix;
if (index >= 0 && index + 1 < visibleRole.length()) {
++index;
if (visibleRole[index] == QLatin1Char('L')) {
- visibleRole.replace("LinkDestination", "destination");
+ visibleRole.replace(QLatin1String("LinkDestination"), QLatin1String("destination"));
} else {
visibleRole[index] = visibleRole[index].toLower();
}
QString sortRole = m_node->sortRole();
if (sortRole == QLatin1String("name")) {
- sortRole = QLatin1String("text");
+ sortRole = QStringLiteral("text");
}
m_node->setVisibleRoles(visibleRoles);
update();
}
+void ViewProperties::convertDateRoleToModificationTimeRole()
+{
+ QStringList visibleRoles = m_node->visibleRoles();
+ for (int i = 0; i < visibleRoles.count(); ++i) {
+ if (visibleRoles[i].endsWith(QLatin1String("_date"))) {
+ const int leftLength = visibleRoles[i].length() - 5;
+ visibleRoles[i] = visibleRoles[i].left(leftLength) + "_modificationtime";
+ }
+ }
+
+ QString sortRole = m_node->sortRole();
+ if (sortRole == QLatin1String("date")) {
+ sortRole = QStringLiteral("modificationtime");
+ }
+
+ m_node->setVisibleRoles(visibleRoles);
+ m_node->setSortRole(sortRole);
+ m_node->setVersion(DateRolePropertiesVersion);
+ update();
+}
+
bool ViewProperties::isPartOfHome(const QString& filePath)
{
// For performance reasons cache the path in a static QString