X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/aacf20282d9b7d78bda93ba946cdcf2e0fee5692..76a46fd9094b17eb99e8a42cca8562fdc0b3814c:/src/kitemviews/kstandarditemmodel.h diff --git a/src/kitemviews/kstandarditemmodel.h b/src/kitemviews/kstandarditemmodel.h index 510342a81..8643d2e9e 100644 --- a/src/kitemviews/kstandarditemmodel.h +++ b/src/kitemviews/kstandarditemmodel.h @@ -20,43 +20,46 @@ #ifndef KSTANDARDITEMMODEL_H #define KSTANDARDITEMMODEL_H -#include -#include +#include "dolphin_export.h" +#include "kitemviews/kitemmodelbase.h" + #include #include class KStandardItem; /** - * @brief Model counterpart for KStandardItemView. + * @brief Model counterpart for KStandardItemListView. * * Allows to add items to the model in an easy way by the * class KStandardItem. * * @see KStandardItem */ -class LIBDOLPHINPRIVATE_EXPORT KStandardItemModel : public KItemModelBase +class DOLPHIN_EXPORT KStandardItemModel : public KItemModelBase { Q_OBJECT public: - explicit KStandardItemModel(QObject* parent = 0); - virtual ~KStandardItemModel(); + explicit KStandardItemModel(QObject* parent = nullptr); + ~KStandardItemModel() override; /** * 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); /** - * Replaces the item on the index \a index by \a 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 replaceItem(int index, KStandardItem* item); + void changeItem(int index, KStandardItem* item); void removeItem(int index); KStandardItem* item(int index) const; @@ -67,15 +70,16 @@ public: */ void appendItem(KStandardItem* item); - virtual int count() const; - virtual QHash data(int index) const; - virtual bool setData(int index, const QHash& values); - virtual QMimeData* createMimeData(const QSet& 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 > groups() const; + int count() const override; + QHash data(int index) const override; + bool setData(int index, const QHash& values) override; + QMimeData* createMimeData(const KItemSet& indexes) const override; + int indexForKeyboardSearch(const QString& text, int startFromIndex = 0) const override; + bool supportsDropping(int index) const override; + QString roleDescription(const QByteArray& role) const override; + QList > groups() const override; + virtual void clear(); protected: /** * Is invoked after an item has been inserted and before the signal @@ -84,22 +88,25 @@ protected: virtual void onItemInserted(int index); /** - * Is invoked after an item has been replaced and before the signal - * itemsChanged() gets emitted. + * Is invoked after an item or one of its roles has been changed and + * before the signal itemsChanged() gets emitted. */ - virtual void onItemReplaced(int index); + virtual void onItemChanged(int index, const QSet& changedRoles); /** * 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 m_items; QHash m_indexesForItems; friend class KStandardItem; + friend class KStandardItemModelTest; // For unit testing }; #endif