diff options
| author | Kai Uwe Broulik <[email protected]> | 2019-02-04 09:12:35 +0100 |
|---|---|---|
| committer | Kai Uwe Broulik <[email protected]> | 2019-02-04 09:12:35 +0100 |
| commit | b2b913c84423313c39227050d886376650c48cf3 (patch) | |
| tree | ce792c30dfafa6a4372c8f40932671a3e6c0abe8 /src/views | |
| parent | fb4b4465f91581dac6a876568ba21ed67ec918bc (diff) | |
Use more suitable default view mode for recent documents and Downloads folder
Sort them descending by date as well as:
* for Recent Documents: switch to details view
* for Downloads enable grouping and disable sorting folders first
Differential Revision: https://phabricator.kde.org/D18697
Diffstat (limited to 'src/views')
| -rw-r--r-- | src/views/viewproperties.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/views/viewproperties.cpp b/src/views/viewproperties.cpp index e056e25e3..eddc7225d 100644 --- a/src/views/viewproperties.cpp +++ b/src/views/viewproperties.cpp @@ -49,6 +49,8 @@ ViewProperties::ViewProperties(const QUrl& url) : GeneralSettings* settings = GeneralSettings::self(); const bool useGlobalViewProps = settings->globalViewProps() || url.isEmpty(); bool useDetailsViewWithPath = false; + bool useRecentDocumentsView = false; + bool useDownloadsView = false; // We try and save it to the file .directory in the directory being viewed. // If the directory is not writable by the user or the directory is not local, @@ -61,6 +63,9 @@ ViewProperties::ViewProperties(const QUrl& url) : } else if (url.scheme() == QLatin1String("trash")) { m_filePath = destinationDir(QStringLiteral("trash")); useDetailsViewWithPath = true; + } else if (url.scheme() == QLatin1String("recentdocuments")) { + m_filePath = destinationDir(QStringLiteral("recentdocuments")); + useRecentDocumentsView = true; } else if (url.isLocalFile()) { m_filePath = url.toLocalFile(); @@ -78,6 +83,10 @@ ViewProperties::ViewProperties(const QUrl& url) : #endif m_filePath = destinationDir(QStringLiteral("local")) + m_filePath; } + + if (m_filePath == QStandardPaths::writableLocation(QStandardPaths::DownloadLocation)) { + useDownloadsView = true; + } } else { m_filePath = destinationDir(QStringLiteral("remote")) + m_filePath; } @@ -94,6 +103,17 @@ ViewProperties::ViewProperties(const QUrl& url) : if (useDetailsViewWithPath) { setViewMode(DolphinView::DetailsView); setVisibleRoles({"path"}); + } else if (useRecentDocumentsView || useDownloadsView) { + setSortRole(QByteArrayLiteral("modificationtime")); + setSortOrder(Qt::DescendingOrder); + + if (useRecentDocumentsView) { + setViewMode(DolphinView::DetailsView); + setVisibleRoles({QByteArrayLiteral("path")}); + } else if (useDownloadsView) { + setSortFoldersFirst(false); + setGroupedSorting(true); + } } else { // The global view-properties act as default for directories without // any view-property configuration. Constructing a ViewProperties |
