]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kstandarditemmodel.cpp
Fix rubber band not going away after right-click
[dolphin.git] / src / kitemviews / kstandarditemmodel.cpp
index c5117fd65638fc807bea481a15ac62ceb0034565..d7307c0bdd40d56030fa0adc1ba047739818b7dd 100644 (file)
@@ -19,7 +19,6 @@
 
 #include "kstandarditemmodel.h"
 
-#include <KDebug>
 #include "kstandarditem.h"
 
 KStandardItemModel::KStandardItemModel(QObject* parent) :
@@ -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];
 }
@@ -166,10 +174,10 @@ 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;
+    return nullptr;
 }
 
 int KStandardItemModel::indexForKeyboardSearch(const QString& text, int startFromIndex) const
@@ -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;
@@ -228,5 +236,3 @@ void KStandardItemModel::onItemRemoved(int index, KStandardItem* removedItem)
     Q_UNUSED(removedItem);
 }
 
-
-#include "kstandarditemmodel.moc"