X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/7a593fc92bf28fbdcdec0e241e18ee8ba2ad7334..bf1081a824d9024a400d2ac2437f169c6765caa5:/src/kitemviews/kitemlistview.h diff --git a/src/kitemviews/kitemlistview.h b/src/kitemviews/kitemlistview.h index cf6f27c03..7af3d3283 100644 --- a/src/kitemviews/kitemlistview.h +++ b/src/kitemviews/kitemlistview.h @@ -23,7 +23,7 @@ #ifndef KITEMLISTVIEW_H #define KITEMLISTVIEW_H -#include +#include "dolphin_export.h" #include #include @@ -44,7 +44,6 @@ class KItemListViewLayouter; class KItemListWidget; class KItemListWidgetInformant; class KItemListWidgetCreatorBase; -class KItemListViewCreatorBase; class QTimer; /** @@ -60,7 +59,7 @@ class QTimer; * @see KItemListWidget * @see KItemModelBase */ -class LIBDOLPHINPRIVATE_EXPORT KItemListView : public QGraphicsWidget +class DOLPHIN_EXPORT KItemListView : public QGraphicsWidget { Q_OBJECT @@ -68,8 +67,8 @@ class LIBDOLPHINPRIVATE_EXPORT KItemListView : public QGraphicsWidget Q_PROPERTY(qreal itemOffset READ itemOffset WRITE setItemOffset) public: - KItemListView(QGraphicsWidget* parent = 0); - virtual ~KItemListView(); + explicit KItemListView(QGraphicsWidget* parent = nullptr); + ~KItemListView() override; /** * Offset of the scrollbar that represents the scroll-orientation @@ -155,14 +154,18 @@ public: /** * @return The basic size of all items. The size of an item may be larger than - * the basic size (see KItemListView::itemSizeHint() and KItemListView::itemRect()). + * the basic size (see KItemListView::itemRect()). */ QSizeF itemSize() const; + /** + * @return The size hint of all items. It is provided by the KItemListSizeHintResolver. + */ + QSizeF itemSizeHint() const; + const KItemListStyleOption& styleOption() const; - /** @reimp */ - virtual void setGeometry(const QRectF& rect); + void setGeometry(const QRectF& rect) override; /** * @return The page step which should be used by the vertical scroll bar. @@ -180,6 +183,7 @@ public: int itemAt(const QPointF& pos) const; bool isAboveSelectionToggle(int index, const QPointF& pos) const; bool isAboveExpansionToggle(int index, const QPointF& pos) const; + bool isAboveText(int index, const QPointF& pos) const; /** * @return Index of the first item that is at least partly visible. @@ -194,12 +198,13 @@ public: int lastVisibleIndex() const; /** - * @return Calculates the required size for all items in the model. - * It might be larger than KItemListView::itemSize(). - * In this case the layout grid will be stretched to assure an - * unclipped item. - * NOTE: the logical height (width) is actually the - * width (height) if the scroll orientation is Qt::Vertical! + * Calculates the required size for all items in the model. + * It might be larger than KItemListView::itemSize(). + * In this case the layout grid will be stretched to assure an + * unclipped item. + * + * @note the logical height (width) is actually the + * width (height) if the scroll orientation is Qt::Vertical! */ void calculateItemSizeHints(QVector& logicalHeightHints, qreal& logicalWidthHint) const; @@ -280,10 +285,7 @@ public: */ void editRole(int index, const QByteArray& role); - /** - * @reimp - */ - virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0); + void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override; signals: void scrollOrientationChanged(Qt::Orientation current, Qt::Orientation previous); @@ -323,7 +325,7 @@ signals: void roleEditingFinished(int index, const QByteArray& role, const QVariant& value); protected: - virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value); + QVariant itemChange(GraphicsItemChange change, const QVariant &value) override; void setItemSize(const QSizeF& size); void setStyleOption(const KItemListStyleOption& option); @@ -380,13 +382,13 @@ protected: virtual void onTransactionBegin(); virtual void onTransactionEnd(); - virtual bool event(QEvent* event); - virtual void mousePressEvent(QGraphicsSceneMouseEvent* event); - virtual void mouseMoveEvent(QGraphicsSceneMouseEvent* event); - virtual void dragEnterEvent(QGraphicsSceneDragDropEvent* event); - virtual void dragMoveEvent(QGraphicsSceneDragDropEvent* event); - virtual void dragLeaveEvent(QGraphicsSceneDragDropEvent* event); - virtual void dropEvent(QGraphicsSceneDragDropEvent* event); + bool event(QEvent* event) override; + void mousePressEvent(QGraphicsSceneMouseEvent* event) override; + void mouseMoveEvent(QGraphicsSceneMouseEvent* event) override; + void dragEnterEvent(QGraphicsSceneDragDropEvent* event) override; + void dragMoveEvent(QGraphicsSceneDragDropEvent* event) override; + void dragLeaveEvent(QGraphicsSceneDragDropEvent* event) override; + void dropEvent(QGraphicsSceneDragDropEvent* event) override; QList visibleItemListWidgets() const; @@ -647,7 +649,7 @@ private: /** * Shows a drop-indicator between items dependent on the given - * cursor position. The cursor position is relative the the upper left + * cursor position. The cursor position is relative to the upper left * edge of the view. * @return Index of the item where the dropping is done. An index of -1 * indicates that the item has been dropped after the last item. @@ -774,7 +776,7 @@ private: * KItemListWidgetCreatorBase and KItemListGroupHeaderCreatorBase. * @internal */ -class LIBDOLPHINPRIVATE_EXPORT KItemListCreatorBase +class DOLPHIN_EXPORT KItemListCreatorBase { public: virtual ~KItemListCreatorBase(); @@ -798,10 +800,10 @@ private: * expensive instantiations and deletions of KItemListWidgets by recycling existing widget * instances. */ -class LIBDOLPHINPRIVATE_EXPORT KItemListWidgetCreatorBase : public KItemListCreatorBase +class DOLPHIN_EXPORT KItemListWidgetCreatorBase : public KItemListCreatorBase { public: - virtual ~KItemListWidgetCreatorBase(); + ~KItemListWidgetCreatorBase() override; virtual KItemListWidget* create(KItemListView* view) = 0; @@ -822,15 +824,15 @@ class KItemListWidgetCreator : public KItemListWidgetCreatorBase { public: KItemListWidgetCreator(); - virtual ~KItemListWidgetCreator(); + ~KItemListWidgetCreator() override; - virtual KItemListWidget* create(KItemListView* view); + KItemListWidget* create(KItemListView* view) override; - virtual void calculateItemSizeHints(QVector& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const; + void calculateItemSizeHints(QVector& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const override; - virtual qreal preferredRoleColumnWidth(const QByteArray& role, + qreal preferredRoleColumnWidth(const QByteArray& role, int index, - const KItemListView* view) const; + const KItemListView* view) const override; private: KItemListWidgetInformant* m_informant; }; @@ -880,10 +882,10 @@ qreal KItemListWidgetCreator::preferredRoleColumnWidth(const QByteArray& role * The intention of the group-header creator is to prevent repetitive and expensive instantiations and * deletions of KItemListGroupHeaders by recycling existing header instances. */ -class LIBDOLPHINPRIVATE_EXPORT KItemListGroupHeaderCreatorBase : public KItemListCreatorBase +class DOLPHIN_EXPORT KItemListGroupHeaderCreatorBase : public KItemListCreatorBase { public: - virtual ~KItemListGroupHeaderCreatorBase(); + ~KItemListGroupHeaderCreatorBase() override; virtual KItemListGroupHeader* create(KItemListView* view) = 0; virtual void recycle(KItemListGroupHeader* header); }; @@ -892,8 +894,8 @@ template class KItemListGroupHeaderCreator : public KItemListGroupHeaderCreatorBase { public: - virtual ~KItemListGroupHeaderCreator(); - virtual KItemListGroupHeader* create(KItemListView* view); + ~KItemListGroupHeaderCreator() override; + KItemListGroupHeader* create(KItemListView* view) override; }; template