#include <KComponentData>
#include <KLocale>
-#include <KStandardDirs>
#include <KUrl>
+#include <KDebug>
+#include <KGlobal>
#include <QCryptographicHash>
#include <QDate>
#include <QFile>
#include <QFileInfo>
+#include <QStandardPaths>
namespace {
const int AdditionalInfoViewPropertiesVersion = 1;
// String representation to mark the additional properties of
// the details view as customized by the user. See
// ViewProperties::visibleRoles() for more information.
- const char* CustomizedDetailsString = "CustomizedDetails";
+ const char CustomizedDetailsString[] = "CustomizedDetails";
// Filename that is used for storing the properties
- const char* ViewPropertiesFileName = ".directory";
+ const char ViewPropertiesFileName[] = ".directory";
}
ViewProperties::ViewProperties(const KUrl& url) :
m_node(0)
{
GeneralSettings* settings = GeneralSettings::self();
- const bool useGlobalViewProps = settings->globalViewProps();
+ const bool useGlobalViewProps = settings->globalViewProps() || url.isEmpty();
bool useDetailsViewWithPath = false;
// We try and save it to the file .directory in the directory being viewed.
setVisibleRoles(QList<QByteArray>() << "path");
} else {
// The global view-properties act as default for directories without
- // any view-property configuration
- settings->setGlobalViewProps(true);
-
- ViewProperties defaultProps(url);
+ // any view-property configuration. Constructing a ViewProperties
+ // instance for an empty KUrl ensures that the global view-properties
+ // are loaded.
+ KUrl emptyUrl;
+ ViewProperties defaultProps(emptyUrl);
setDirProperties(defaultProps);
- settings->setGlobalViewProps(false);
m_changedProps = false;
}
}
void ViewProperties::save()
{
kDebug() << "Saving view-properties to" << m_filePath;
- KStandardDirs::makeDir(m_filePath);
+ QDir dir;
+ dir.mkpath(m_filePath);
m_node->setVersion(CurrentViewPropertiesVersion);
m_node->writeConfig();
m_changedProps = false;
QString ViewProperties::destinationDir(const QString& subDir) const
{
- QString basePath = KGlobal::mainComponent().componentName();
- basePath.append("/view_properties/").append(subDir);
- return KStandardDirs::locateLocal("data", basePath);
+ QString path = QStandardPaths::writableLocation(QStandardPaths::DataLocation);
+ path.append(KGlobal::mainComponent().componentName());
+ path.append("/view_properties/").append(subDir);
+ return path;
}
QString ViewProperties::viewModePrefix() const
hashString.replace('/', '-');
return hashString;
}
-
-KUrl ViewProperties::mirroredDirectory()
-{
- QString basePath = KGlobal::mainComponent().componentName();
- basePath.append("/view_properties/");
- return KUrl(KStandardDirs::locateLocal("data", basePath));
-}