]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kstandarditemmodel.cpp
Merge branch 'Applications/16.04'
[dolphin.git] / src / kitemviews / kstandarditemmodel.cpp
index cde86af49ee1e6647e5826c3c5ffde6b0b99bf7b..25288e50f1de2b0d41e0f4859c23a37d276dbb58 100644 (file)
@@ -19,9 +19,9 @@
 
 #include "kstandarditemmodel.h"
 
-#include <KDebug>
 #include "kstandarditem.h"
-
+#include <QSet>
+#include <QByteArray>
 KStandardItemModel::KStandardItemModel(QObject* parent) :
     KItemModelBase(parent),
     m_items(),
@@ -43,7 +43,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 +63,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;
     }
@@ -122,6 +122,15 @@ 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()) {
@@ -166,7 +175,7 @@ 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;
@@ -195,7 +204,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 +237,3 @@ void KStandardItemModel::onItemRemoved(int index, KStandardItem* removedItem)
     Q_UNUSED(removedItem);
 }
 
-
-#include "kstandarditemmodel.moc"