X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/3316903fe8a9a3c95dad18d19d795cdb55208473..ec00f379dc42b00a64ab1af25bb4bb1a06bd7449:/src/viewproperties.cpp diff --git a/src/viewproperties.cpp b/src/viewproperties.cpp index fd4dfd8dd..835be2aad 100644 --- a/src/viewproperties.cpp +++ b/src/viewproperties.cpp @@ -18,27 +18,27 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * ***************************************************************************/ -#include +#include "viewproperties.h" -#include -#include +#include "dolphinsettings.h" +#include "dolphin_directoryviewpropertysettings.h" +#include "dolphin_generalsettings.h" #include #include #include #include -#include -#include "viewproperties.h" -#include "dolphinsettings.h" -#include "generalsettings.h" +#include +#include +#include #define FILE_NAME "/.directory" ViewProperties::ViewProperties(const KUrl& url) : - m_changedProps(false), - m_autoSave(true), - m_node(0) + m_changedProps(false), + m_autoSave(true), + m_node(0) { KUrl cleanUrl(url); cleanUrl.cleanPath(); @@ -56,22 +56,18 @@ ViewProperties::ViewProperties(const KUrl& url) : const bool useGlobalViewProps = settings->globalViewProps(); if (useGlobalViewProps) { m_filepath = destinationDir("global"); - } - else if (cleanUrl.isLocalFile()) { + } else if (cleanUrl.isLocalFile()) { const QFileInfo info(m_filepath); if (!info.isWritable()) { m_filepath = destinationDir("local") + m_filepath; } - } - else { + } else { m_filepath = destinationDir("remote") + m_filepath; } const QString file(m_filepath + FILE_NAME); m_node = new ViewPropertySettings(KSharedConfig::openConfig(file)); - kDebug() << "------------------ global timestamp: " << settings->viewPropsTimestamp() << endl; - const bool useDefaultProps = !useGlobalViewProps && (!QFileInfo(file).exists() || (m_node->timestamp() < settings->viewPropsTimestamp())); @@ -134,6 +130,20 @@ void ViewProperties::setShowHiddenFiles(bool show) } } +void ViewProperties::setCategorizedSorting(bool categorized) +{ + if (m_node->categorizedSorting() != categorized) { + m_node->setCategorizedSorting(categorized); + updateTimeStamp(); + } +} + +bool ViewProperties::categorizedSorting() const +{ + return m_node->categorizedSorting(); +} + + bool ViewProperties::showHiddenFiles() const { return m_node->showHiddenFiles(); @@ -165,13 +175,29 @@ Qt::SortOrder ViewProperties::sortOrder() const return static_cast(m_node->sortOrder()); } +void ViewProperties::setAdditionalInfo(KFileItemDelegate::AdditionalInformation info) +{ + if (m_node->additionalInfo() != info) { + m_node->setAdditionalInfo(info); + updateTimeStamp(); + } +} + +KFileItemDelegate::AdditionalInformation ViewProperties::additionalInfo() const +{ + return static_cast(m_node->additionalInfo()); +} + + void ViewProperties::setDirProperties(const ViewProperties& props) { setViewMode(props.viewMode()); setShowPreview(props.showPreview()); setShowHiddenFiles(props.showHiddenFiles()); + setCategorizedSorting(props.categorizedSorting()); setSorting(props.sorting()); setSortOrder(props.sortOrder()); + setAdditionalInfo(props.additionalInfo()); } void ViewProperties::setAutoSaveEnabled(bool autoSave) @@ -197,19 +223,16 @@ void ViewProperties::save() m_changedProps = false; } -QString ViewProperties::destinationDir(const QString& subDir) const +KUrl ViewProperties::mirroredDirectory() { QString basePath = KGlobal::mainComponent().componentName(); - basePath.append("/view_properties/").append(subDir); - return KStandardDirs::locateLocal("data", basePath); -} - -ViewProperties::ViewProperties(const ViewProperties& /*props*/) -{ - assert(false); + basePath.append("/view_properties/"); + return KUrl(KStandardDirs::locateLocal("data", basePath)); } -ViewProperties& ViewProperties::operator = (const ViewProperties& /*props*/) +QString ViewProperties::destinationDir(const QString& subDir) const { - assert(false); + QString basePath = KGlobal::mainComponent().componentName(); + basePath.append("/view_properties/").append(subDir); + return KStandardDirs::locateLocal("data", basePath); }