diff options
Diffstat (limited to 'src/views/dolphinview.h')
| -rw-r--r-- | src/views/dolphinview.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h index f491b6dd5..7c077d292 100644 --- a/src/views/dolphinview.h +++ b/src/views/dolphinview.h @@ -234,6 +234,18 @@ public: QList<QByteArray> visibleRoles() const; /** + * Returns the preferred sort order for a given role, taking into account + * user preferences and default sort orders. + */ + Qt::SortOrder preferredSortOrder(const QByteArray &role) const; + + /** + * Sets the preferred sort order for a given role. This remembers user + * preferences when switching between different sort roles. + */ + void setPreferredSortOrder(const QByteArray &role, Qt::SortOrder order); + + /** * Refreshes the view to get synchronized with the settings (e.g. icons size, * font, ...). */ @@ -337,6 +349,13 @@ public: static QUrl openItemAsFolderUrl(const KFileItem &item, const bool browseThroughArchives = true); /** + * Set the default order for a given sort role. + * Time-based roles, size/dimension roles, and quality/quantity roles + * default to descending order. All other roles default to ascending order. + */ + static Qt::SortOrder defaultSortOrderForRole(const QByteArray &role); + + /** * Hides tooltip displayed over element. */ void hideToolTip(const ToolTipManager::HideBehavior behavior = ToolTipManager::HideBehavior::Later); @@ -988,6 +1007,9 @@ private: /// Used for selection mode. @see setSelectionMode() std::unique_ptr<QProxyStyle> m_proxyStyle; + /// Hash table of user-preferred sort orders for each role + QHash<QByteArray, Qt::SortOrder> m_rolesSortOrder; + // For unit tests friend class TestBase; friend class DolphinDetailsViewTest; |
