┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views/dolphinview.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/views/dolphinview.h')
-rw-r--r--src/views/dolphinview.h22
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;