#ifndef KSTANDARDITEMMODEL_H
#define KSTANDARDITEMMODEL_H
-#include <libdolphin_export.h>
+#include "libdolphin_export.h"
#include <kitemviews/kitemmodelbase.h>
#include <QHash>
#include <QList>
* Inserts the item \a item at the index \a index. If the index
* is equal to the number of items of the model, the item
* gets appended as last element. KStandardItemModel takes
- * the ownership of the item.
+ * the ownership of the item. If the index is invalid, the item
+ * gets deleted.
*/
void insertItem(int index, KStandardItem* item);
/**
* Changes the item on the index \a index to \a item.
* KStandardItemModel takes the ownership of the item. The
- * old item gets deleted.
+ * old item gets deleted. If the index is invalid, the item
+ * gets deleted.
*/
void changeItem(int index, KStandardItem* item);
*/
void appendItem(KStandardItem* item);
- virtual int count() const;
- virtual QHash<QByteArray, QVariant> data(int index) const;
- virtual bool setData(int index, const QHash<QByteArray, QVariant>& values);
- virtual QMimeData* createMimeData(const QSet<int>& indexes) const;
- virtual int indexForKeyboardSearch(const QString& text, int startFromIndex = 0) const;
- virtual bool supportsDropping(int index) const;
- virtual QString roleDescription(const QByteArray& role) const;
- virtual QList<QPair<int, QVariant> > groups() const;
+ virtual int count() const Q_DECL_OVERRIDE;
+ virtual QHash<QByteArray, QVariant> data(int index) const Q_DECL_OVERRIDE;
+ virtual bool setData(int index, const QHash<QByteArray, QVariant>& values) Q_DECL_OVERRIDE;
+ virtual QMimeData* createMimeData(const KItemSet& indexes) const Q_DECL_OVERRIDE;
+ virtual int indexForKeyboardSearch(const QString& text, int startFromIndex = 0) const Q_DECL_OVERRIDE;
+ virtual bool supportsDropping(int index) const Q_DECL_OVERRIDE;
+ virtual QString roleDescription(const QByteArray& role) const Q_DECL_OVERRIDE;
+ virtual QList<QPair<int, QVariant> > groups() const Q_DECL_OVERRIDE;
+ virtual void clear();
protected:
/**
* Is invoked after an item has been inserted and before the signal
/**
* Is invoked after an item has been removed and before the signal
- * itemsRemoved() gets emitted.
+ * itemsRemoved() gets emitted. The item \a removedItem has already
+ * been removed from the model and will get deleted after the
+ * execution of onItemRemoved().
*/
- virtual void onItemRemoved(int index);
+ virtual void onItemRemoved(int index, KStandardItem* removedItem);
private:
QList<KStandardItem*> m_items;
QHash<const KStandardItem*, int> m_indexesForItems;
friend class KStandardItem;
+ friend class KStandardItemModelTest; // For unit testing
};
#endif