X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/6072005ddce81b456fdcf2e77d5156a1d86f3686..e57f6215659ee36877c7c36c9e3fcba0ba5d03a0:/src/kitemviews/kitemmodelbase.h diff --git a/src/kitemviews/kitemmodelbase.h b/src/kitemviews/kitemmodelbase.h index d68eab568..42a9c54c9 100644 --- a/src/kitemviews/kitemmodelbase.h +++ b/src/kitemviews/kitemmodelbase.h @@ -40,8 +40,8 @@ class DOLPHIN_EXPORT KItemModelBase : public QObject Q_OBJECT public: - explicit KItemModelBase(QObject* parent = nullptr); - explicit KItemModelBase(const QByteArray& sortRole, QObject* parent = nullptr); + explicit KItemModelBase(QObject *parent = nullptr); + explicit KItemModelBase(const QByteArray &sortRole, QObject *parent = nullptr); ~KItemModelBase() override; /** @return The number of items. */ @@ -56,7 +56,7 @@ public: * The default implementation does not set the data, and will always return * false. */ - virtual bool setData(int index, const QHash& values); + virtual bool setData(int index, const QHash &values); /** * Enables/disables the grouped sorting. The method KItemModelBase::onGroupedSortingChanged() will be @@ -73,7 +73,7 @@ public: * signal sortRoleChanged() will be emitted. * The implementation should resort only if \a resortItems is true. */ - void setSortRole(const QByteArray& role, bool resortItems = true); + void setSortRole(const QByteArray &role, bool resortItems = true); QByteArray sortRole() const; /** @@ -88,7 +88,7 @@ public: * @return Translated description for the \p role. The description is e.g. used * for the header in KItemListView. */ - virtual QString roleDescription(const QByteArray& role) const; + virtual QString roleDescription(const QByteArray &role) const; /** * @return List of group headers. Each list-item consists of the index of the item @@ -96,7 +96,7 @@ public: * as QVariant. The value is shown by an instance of KItemListGroupHeader. * Per default an empty list is returned. */ - virtual QList > groups() const; + virtual QList> groups() const; /** * Expands the item with the index \a index if \a expanded is true. @@ -136,7 +136,7 @@ public: * caller of this method. The method must be implemented if dragging of * items should be possible. */ - virtual QMimeData* createMimeData(const KItemSet& indexes) const; + virtual QMimeData *createMimeData(const KItemSet &indexes) const; /** * @return Reimplement this to return the index for the first item @@ -144,7 +144,7 @@ public: * @param text the text which has been typed in through the keyboard * @param startFromIndex the index from which to start searching from */ - virtual int indexForKeyboardSearch(const QString& text, int startFromIndex = 0) const; + virtual int indexForKeyboardSearch(const QString &text, int startFromIndex = 0) const; /** * @return True, if the item with the index \a index basically supports dropping. @@ -159,6 +159,15 @@ public: // decision whether it accepts the drop? virtual bool supportsDropping(int index) const; + /** + * @return True, if the item with the index \a index can be entered in during hover actions. + * Per default false is returned. + * + * This is used to check that if the item + * we're hovering on is either directory or a desktop file. + */ + virtual bool canEnterOnHover(int index) const; + /** * @return An internal mimetype to signal that an itemDropEvent() should be rejected by * the receiving model. @@ -183,7 +192,7 @@ public: * @return Parent directory of the items that are shown */ virtual QUrl directory() const; -signals: +Q_SIGNALS: /** * Is emitted if one or more items have been inserted. Each item-range consists * of: @@ -196,7 +205,7 @@ signals: * - They don't overlap * - The index of item-range n is smaller than the index of item-range n + 1. */ - void itemsInserted(const KItemRangeList& itemRanges); + void itemsInserted(const KItemRangeList &itemRanges); /** * Is emitted if one or more items have been removed. Each item-range consists @@ -210,7 +219,7 @@ signals: * - They don't overlap * - The index of item-range n is smaller than the index of item-range n + 1. */ - void itemsRemoved(const KItemRangeList& itemRanges); + void itemsRemoved(const KItemRangeList &itemRanges); /** * Is emitted if one ore more items get moved. @@ -225,9 +234,9 @@ signals: * This signal implies that the groups might have changed. Therefore, * gropusChanged() is not emitted if this signal is emitted. */ - void itemsMoved(const KItemRange& itemRange, const QList& movedToIndexes); + void itemsMoved(const KItemRange &itemRange, const QList &movedToIndexes); - void itemsChanged(const KItemRangeList& itemRanges, const QSet& roles); + void itemsChanged(const KItemRangeList &itemRanges, const QSet &roles); /** * Is emitted if the groups have changed, even though the order of the @@ -236,7 +245,7 @@ signals: void groupsChanged(); void groupedSortingChanged(bool current); - void sortRoleChanged(const QByteArray& current, const QByteArray& previous); + void sortRoleChanged(const QByteArray ¤t, const QByteArray &previous); void sortOrderChanged(Qt::SortOrder current, Qt::SortOrder previous); protected: @@ -255,7 +264,7 @@ protected: * itemsInserted() signal afterwards. * The implementation should resort only if \a resortItems is true. */ - virtual void onSortRoleChanged(const QByteArray& current, const QByteArray& previous, bool resortItems = true); + virtual void onSortRoleChanged(const QByteArray ¤t, const QByteArray &previous, bool resortItems = true); /** * Is invoked if the sort order has been changed by KItemModelBase::setSortOrder(). Allows @@ -279,5 +288,3 @@ inline Qt::SortOrder KItemModelBase::sortOrder() const } #endif - -