]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kitemmodelbase.cpp
Implement some missing sorting options
[dolphin.git] / src / kitemviews / kitemmodelbase.cpp
index 79766fae157b3de6af0a1096a19e71c42d66b32b..7bfe607a46f8a28fbc1f39376666acdcaee1adbe 100644 (file)
@@ -36,14 +36,16 @@ bool KItemRange::operator == (const KItemRange& other) const
 KItemModelBase::KItemModelBase(QObject* parent) :
     QObject(parent),
     m_groupRole(),
-    m_sortRole()
+    m_sortRole(),
+    m_sortOrder(Qt::AscendingOrder)
 {
 }
 
 KItemModelBase::KItemModelBase(const QByteArray& groupRole, const QByteArray& sortRole, QObject* parent) :
     QObject(parent),
     m_groupRole(groupRole),
-    m_sortRole(sortRole)
+    m_sortRole(sortRole),
+    m_sortOrder(Qt::AscendingOrder)
 {
 }
 
@@ -98,6 +100,16 @@ QByteArray KItemModelBase::sortRole() const
     return m_sortRole;
 }
 
+void KItemModelBase::setSortOrder(Qt::SortOrder order)
+{
+    if (supportsSorting() && order != m_sortOrder) {
+        const Qt::SortOrder previous = m_sortOrder;
+        m_sortOrder = order;
+        onSortOrderChanged(order, previous);
+        emit sortOrderChanged(order, previous);
+    }
+}
+
 QString KItemModelBase::roleDescription(const QByteArray& role) const
 {
     return role;
@@ -116,6 +128,12 @@ int KItemModelBase::indexForKeyboardSearch(const QString& text, int startFromInd
     return -1;
 }
 
+bool KItemModelBase::supportsDropping(int index) const
+{
+    Q_UNUSED(index);
+    return false;
+}
+
 void KItemModelBase::onGroupRoleChanged(const QByteArray& current, const QByteArray& previous)
 {
     Q_UNUSED(current);
@@ -128,4 +146,10 @@ void KItemModelBase::onSortRoleChanged(const QByteArray& current, const QByteArr
     Q_UNUSED(previous);
 }
 
+void KItemModelBase::onSortOrderChanged(Qt::SortOrder current, Qt::SortOrder previous)
+{
+    Q_UNUSED(current);
+    Q_UNUSED(previous);
+}
+
 #include "kitemmodelbase.moc"