X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/6a3f8086a372ca1c21ab474c7934e8f8e4b238f5..01e4f60a0931aba506b184d384a4e2f926b2233c:/src/views/viewproperties.cpp diff --git a/src/views/viewproperties.cpp b/src/views/viewproperties.cpp index 30deb7277..95c44bc84 100644 --- a/src/views/viewproperties.cpp +++ b/src/views/viewproperties.cpp @@ -25,13 +25,15 @@ #include #include -#include #include +#include +#include #include #include #include #include +#include namespace { const int AdditionalInfoViewPropertiesVersion = 1; @@ -41,10 +43,10 @@ namespace { // 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) : @@ -53,7 +55,7 @@ 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. @@ -100,13 +102,13 @@ ViewProperties::ViewProperties(const KUrl& url) : setVisibleRoles(QList() << "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; } } @@ -362,7 +364,8 @@ void ViewProperties::update() 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; @@ -376,9 +379,10 @@ bool ViewProperties::exist() const 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 @@ -469,10 +473,3 @@ QString ViewProperties::directoryHashForUrl(const KUrl& url) hashString.replace('/', '-'); return hashString; } - -KUrl ViewProperties::mirroredDirectory() -{ - QString basePath = KGlobal::mainComponent().componentName(); - basePath.append("/view_properties/"); - return KUrl(KStandardDirs::locateLocal("data", basePath)); -}