]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kstandarditemmodel.cpp
Merge branch 'release/20.04'
[dolphin.git] / src / kitemviews / kstandarditemmodel.cpp
index cde86af49ee1e6647e5826c3c5ffde6b0b99bf7b..c40050c7e6e9505a4f155b13c7be76efc899536a 100644 (file)
@@ -19,7 +19,6 @@
 
 #include "kstandarditemmodel.h"
 
-#include <KDebug>
 #include "kstandarditem.h"
 
 KStandardItemModel::KStandardItemModel(QObject* parent) :
@@ -43,7 +42,7 @@ void KStandardItemModel::insertItem(int index, KStandardItem* item)
         return;
     }
 
-    if (item && !m_indexesForItems.contains(item)) {
+    if (!m_indexesForItems.contains(item)) {
         item->m_model = this;
         m_items.insert(index, item);
         m_indexesForItems.insert(item, index);
@@ -63,7 +62,7 @@ void KStandardItemModel::insertItem(int index, KStandardItem* item)
 
 void KStandardItemModel::changeItem(int index, KStandardItem* item)
 {
-    if (index < 0 || index > count() || !item) {
+    if (index < 0 || index >= count() || !item) {
         delete item;
         return;
     }
@@ -89,7 +88,7 @@ void KStandardItemModel::changeItem(int index, KStandardItem* item)
 
     m_indexesForItems.remove(oldItem);
     delete oldItem;
-    oldItem = 0;
+    oldItem = nullptr;
 
     m_items[index] = item;
     m_indexesForItems.insert(item, index);
@@ -113,8 +112,8 @@ void KStandardItemModel::removeItem(int index)
 
         onItemRemoved(index, item);
 
-        delete item;
-        item = 0;
+        item->deleteLater();
+        item = nullptr;
 
         emit itemsRemoved(KItemRangeList() << KItemRange(index, 1));
 
@@ -122,10 +121,19 @@ void KStandardItemModel::removeItem(int index)
     }
 }
 
+void KStandardItemModel::clear()
+{
+    int size = m_items.size();
+    m_items.clear();
+    m_indexesForItems.clear();
+
+    emit itemsRemoved(KItemRangeList() << KItemRange(0, size));
+}
+
 KStandardItem* KStandardItemModel::item(int index) const
 {
     if (index < 0 || index >= m_items.count()) {
-        return 0;
+        return nullptr;
     }
     return m_items[index];
 }
@@ -158,7 +166,7 @@ QHash<QByteArray, QVariant> KStandardItemModel::data(int index) const
 
 bool KStandardItemModel::setData(int index, const QHash<QByteArray, QVariant>& values)
 {
-    Q_UNUSED(values);
+    Q_UNUSED(values)
     if (index < 0 || index >= count()) {
         return false;
     }
@@ -166,28 +174,28 @@ bool KStandardItemModel::setData(int index, const QHash<QByteArray, QVariant>& v
     return true;
 }
 
-QMimeData* KStandardItemModel::createMimeData(const QSet<int>& indexes) const
+QMimeData* KStandardItemModel::createMimeData(const KItemSet& indexes) const
 {
-    Q_UNUSED(indexes);
-    return 0;
+    Q_UNUSED(indexes)
+    return nullptr;
 }
 
 int KStandardItemModel::indexForKeyboardSearch(const QString& text, int startFromIndex) const
 {
-    Q_UNUSED(text);
-    Q_UNUSED(startFromIndex);
+    Q_UNUSED(text)
+    Q_UNUSED(startFromIndex)
     return -1;
 }
 
 bool KStandardItemModel::supportsDropping(int index) const
 {
-    Q_UNUSED(index);
+    Q_UNUSED(index)
     return false;
 }
 
 QString KStandardItemModel::roleDescription(const QByteArray& role) const
 {
-    Q_UNUSED(role);
+    Q_UNUSED(role)
     return QString();
 }
 
@@ -195,7 +203,7 @@ QList<QPair<int, QVariant> > KStandardItemModel::groups() const
 {
     QList<QPair<int, QVariant> > groups;
 
-    const QByteArray role = sortRole();
+    const QByteArray role = sortRole().isEmpty() ? "group" : sortRole();
     bool isFirstGroupValue = true;
     QString groupValue;
     const int maxIndex = count() - 1;
@@ -213,20 +221,18 @@ QList<QPair<int, QVariant> > KStandardItemModel::groups() const
 
 void KStandardItemModel::onItemInserted(int index)
 {
-    Q_UNUSED(index);
+    Q_UNUSED(index)
 }
 
 void KStandardItemModel::onItemChanged(int index, const QSet<QByteArray>& changedRoles)
 {
-    Q_UNUSED(index);
-    Q_UNUSED(changedRoles);
+    Q_UNUSED(index)
+    Q_UNUSED(changedRoles)
 }
 
 void KStandardItemModel::onItemRemoved(int index, KStandardItem* removedItem)
 {
-    Q_UNUSED(index);
-    Q_UNUSED(removedItem);
+    Q_UNUSED(index)
+    Q_UNUSED(removedItem)
 }
 
-
-#include "kstandarditemmodel.moc"