X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/5252c12db4929886dbe502013e0a1fee6500f568..328de208710faebaa275e2ef8ddb28a78ea5a2f0:/src/viewproperties.cpp diff --git a/src/viewproperties.cpp b/src/viewproperties.cpp index 52129bd80..e3e219b24 100644 --- a/src/viewproperties.cpp +++ b/src/viewproperties.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include "viewproperties.h" @@ -34,66 +35,43 @@ #define FILE_NAME "/.directory" -ViewProperties::ViewProperties(KUrl url) : +ViewProperties::ViewProperties(const KUrl& url) : m_changedProps(false), m_autoSave(true), - m_subDirValidityHidden(false), m_node(0) { - url.cleanPath(true); - m_filepath = url.path(); + KUrl cleanUrl(url); + + cleanUrl.cleanPath(); + m_filepath = cleanUrl.path(); if ((m_filepath.length() < 1) || (m_filepath.at(0) != QChar('/'))) { m_node = new ViewPropertySettings(); return; } - // we try and save it to a file in the directory being viewed - // if the directory is not writable by the user or the directory is not local - // we store the properties information in a local file + // We try and save it to a file in the directory being viewed. + // If the directory is not writable by the user or the directory is not local, + // we store the properties information in a local file. QString rootDir("/"); // TODO: should this be set to the root of the bookmark, if any? - if (url.isLocalFile()) { + if (cleanUrl.isLocalFile()) { QFileInfo info(m_filepath); if (!info.isWritable()) { QString basePath = KGlobal::instance()->instanceName(); basePath.append("/view_properties/local"); - rootDir = locateLocal("data", basePath); + rootDir = KStandardDirs::locateLocal("data", basePath); m_filepath = rootDir + m_filepath; } } else { QString basePath = KGlobal::instance()->instanceName(); - basePath.append("/view_properties/remote/").append(url.host()); - rootDir = locateLocal("data", basePath); + basePath.append("/view_properties/remote/").append(cleanUrl.host()); + rootDir = KStandardDirs::locateLocal("data", basePath); m_filepath = rootDir + m_filepath; } m_node = new ViewPropertySettings(KSharedConfig::openConfig(m_filepath + FILE_NAME)); - - QDir dir(m_filepath); - const bool isValidForSubDirs = m_node->validForSubDirs(); - while ((dir.path() != rootDir) && dir.cdUp()) { - QString parentPath(dir.path() + FILE_NAME); - - if (!QFile::exists(parentPath)) - { - continue; - } - - ViewPropertySettings parentNode(KSharedConfig::openConfig(dir.path() + FILE_NAME)); - const bool inheritProps = parentNode.validForSubDirs() && - (parentNode.timestamp() > m_node->timestamp()); - - if (inheritProps) { - *m_node = parentNode; - break; - } - } - - if (isValidForSubDirs) { - m_subDirValidityHidden = true; - } } ViewProperties::~ViewProperties() @@ -103,6 +81,7 @@ ViewProperties::~ViewProperties() } delete m_node; + m_node = 0; } void ViewProperties::setViewMode(DolphinView::Mode mode) @@ -157,19 +136,6 @@ Qt::SortOrder ViewProperties::sortOrder() const return static_cast(m_node->sortOrder()); } -void ViewProperties::setValidForSubDirs(bool valid) -{ - if (m_node->validForSubDirs() != valid) { - m_node->setValidForSubDirs(valid); - updateTimeStamp(); - } -} - -bool ViewProperties::isValidForSubDirs() const -{ - return m_node->validForSubDirs(); -} - void ViewProperties::setAutoSaveEnabled(bool autoSave) { m_autoSave = autoSave; @@ -193,16 +159,12 @@ void ViewProperties::save() m_changedProps = false; } -ViewProperties& ViewProperties::operator = (const ViewProperties& props) +ViewProperties::ViewProperties(const ViewProperties& props) { - if (&props != this) { - m_changedProps = props.m_changedProps; - m_autoSave = props.m_autoSave; - m_subDirValidityHidden = props.m_subDirValidityHidden; - m_filepath = props.m_filepath; - m_node = new ViewPropertySettings(); - //*m_node = *(props.m_node); - } + assert(false); +} - return *this; +ViewProperties& ViewProperties::operator = (const ViewProperties& props) +{ + assert(false); }