]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kitemmodelbase.cpp
Some code cleanup as per suggestions
[dolphin.git] / src / kitemviews / kitemmodelbase.cpp
index e302d609399975c2b6dbf23e8b84bd9a520a1723..2f8e1e4a308be55ecef3f8cc4d70194f64218478 100644 (file)
@@ -13,14 +13,18 @@ KItemModelBase::KItemModelBase(QObject *parent)
     , m_groupedSorting(false)
     , m_sortRole()
     , m_sortOrder(Qt::AscendingOrder)
+    , m_groupRole()
+    , m_groupOrder(Qt::AscendingOrder)
 {
 }
 
-KItemModelBase::KItemModelBase(const QByteArray &sortRole, QObject *parent)
+KItemModelBase::KItemModelBase(const QByteArray &sortRole, const QByteArray &groupRole, QObject *parent)
     : QObject(parent)
     , m_groupedSorting(false)
     , m_sortRole(sortRole)
     , m_sortOrder(Qt::AscendingOrder)
+    , m_groupRole(groupRole)
+    , m_groupOrder(Qt::AscendingOrder)
 {
 }
 
@@ -74,9 +78,34 @@ void KItemModelBase::setSortOrder(Qt::SortOrder order)
     }
 }
 
+void KItemModelBase::setGroupRole(const QByteArray &role, bool regroupItems)
+{
+    if (role != m_groupRole) {
+        const QByteArray previous = m_groupRole;
+        m_groupRole = role;
+        onGroupRoleChanged(role, previous, regroupItems);
+        Q_EMIT groupRoleChanged(role, previous);
+    }
+}
+
+QByteArray KItemModelBase::groupRole() const
+{
+    return m_groupRole;
+}
+
+void KItemModelBase::setGroupOrder(Qt::SortOrder order)
+{
+    if (order != m_groupOrder) {
+        const Qt::SortOrder previous = m_groupOrder;
+        m_groupOrder = order;
+        onGroupOrderChanged(order, previous);
+        Q_EMIT groupOrderChanged(order, previous);
+    }
+}
+
 QString KItemModelBase::roleDescription(const QByteArray &role) const
 {
-    return role;
+    return QString::fromLatin1(role);
 }
 
 QList<QPair<int, QVariant>> KItemModelBase::groups() const
@@ -128,6 +157,12 @@ bool KItemModelBase::supportsDropping(int index) const
     return false;
 }
 
+bool KItemModelBase::canEnterOnHover(int index) const
+{
+    Q_UNUSED(index)
+    return false;
+}
+
 QString KItemModelBase::blacklistItemDropEventMimeType() const
 {
     return QStringLiteral("application/x-dolphin-blacklist-drop");
@@ -151,6 +186,19 @@ void KItemModelBase::onSortOrderChanged(Qt::SortOrder current, Qt::SortOrder pre
     Q_UNUSED(previous)
 }
 
+void KItemModelBase::onGroupRoleChanged(const QByteArray &current, const QByteArray &previous, bool resortItems)
+{
+    Q_UNUSED(current)
+    Q_UNUSED(previous)
+    Q_UNUSED(resortItems)
+}
+
+void KItemModelBase::onGroupOrderChanged(Qt::SortOrder current, Qt::SortOrder previous)
+{
+    Q_UNUSED(current)
+    Q_UNUSED(previous)
+}
+
 QUrl KItemModelBase::url(int index) const
 {
     return data(index).value("url").toUrl();
@@ -165,3 +213,5 @@ QUrl KItemModelBase::directory() const
 {
     return QUrl();
 }
+
+#include "moc_kitemmodelbase.cpp"