X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/4ed0b82b02aa787ba25bdc5a5e5a99037fdb6efa..76a46fd9094b17eb99e8a42cca8562fdc0b3814c:/src/kitemviews/kitemlistview.h diff --git a/src/kitemviews/kitemlistview.h b/src/kitemviews/kitemlistview.h index 9adf9f86f..2a3b7ada2 100644 --- a/src/kitemviews/kitemlistview.h +++ b/src/kitemviews/kitemlistview.h @@ -1,8 +1,7 @@ /*************************************************************************** * Copyright (C) 2011 by Peter Penz * * * - * Based on the Itemviews NG project from Trolltech Labs: * - * http://qt.gitorious.org/qt-labs/itemviews-ng * + * Based on the Itemviews NG project from Trolltech Labs * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -24,12 +23,12 @@ #define KITEMLISTVIEW_H #include "dolphin_export.h" +#include "kitemviews/kitemliststyleoption.h" +#include "kitemviews/kitemlistwidget.h" +#include "kitemviews/kitemmodelbase.h" +#include "kitemviews/kstandarditemlistgroupheader.h" +#include "kitemviews/private/kitemlistviewanimation.h" -#include -#include -#include -#include -#include #include #include @@ -67,8 +66,8 @@ class DOLPHIN_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 @@ -154,13 +153,13 @@ 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; const KItemListStyleOption& styleOption() const; - virtual void setGeometry(const QRectF& rect) Q_DECL_OVERRIDE; + void setGeometry(const QRectF& rect) override; /** * @return The page step which should be used by the vertical scroll bar. @@ -178,6 +177,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. @@ -192,18 +192,19 @@ 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; /** * If set to true, items having child-items can be expanded to show the child-items as - * part of the view. Per default the expanding of items is is disabled. If expanding of + * part of the view. Per default the expanding of items is disabled. If expanding of * items is enabled, the methods KItemModelBase::setExpanded(), KItemModelBase::isExpanded(), * KItemModelBase::isExpandable() and KItemModelBase::expandedParentsCount() * must be reimplemented. The view-implementation @@ -222,7 +223,7 @@ public: /** * @return The context rectangle of the item relative to the top/left of * the currently visible area (see KItemListView::offset()). The - * context rectangle is defined by by the united rectangle of + * context rectangle is defined by the united rectangle of * the icon rectangle and the text rectangle (see KItemListWidget::iconRect() * and KItemListWidget::textRect()) and is useful as reference for e.g. aligning * a tooltip or a context-menu for an item. Note that a context rectangle will @@ -278,7 +279,7 @@ public: */ void editRole(int index, const QByteArray& role); - virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0) Q_DECL_OVERRIDE; + void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override; signals: void scrollOrientationChanged(Qt::Orientation current, Qt::Orientation previous); @@ -318,7 +319,7 @@ signals: void roleEditingFinished(int index, const QByteArray& role, const QVariant& value); protected: - virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value) Q_DECL_OVERRIDE; + QVariant itemChange(GraphicsItemChange change, const QVariant &value) override; void setItemSize(const QSizeF& size); void setStyleOption(const KItemListStyleOption& option); @@ -375,13 +376,13 @@ protected: virtual void onTransactionBegin(); virtual void onTransactionEnd(); - virtual bool event(QEvent* event) Q_DECL_OVERRIDE; - virtual void mousePressEvent(QGraphicsSceneMouseEvent* event) Q_DECL_OVERRIDE; - virtual void mouseMoveEvent(QGraphicsSceneMouseEvent* event) Q_DECL_OVERRIDE; - virtual void dragEnterEvent(QGraphicsSceneDragDropEvent* event) Q_DECL_OVERRIDE; - virtual void dragMoveEvent(QGraphicsSceneDragDropEvent* event) Q_DECL_OVERRIDE; - virtual void dragLeaveEvent(QGraphicsSceneDragDropEvent* event) Q_DECL_OVERRIDE; - virtual void dropEvent(QGraphicsSceneDragDropEvent* event) Q_DECL_OVERRIDE; + 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; @@ -796,7 +797,7 @@ private: class DOLPHIN_EXPORT KItemListWidgetCreatorBase : public KItemListCreatorBase { public: - virtual ~KItemListWidgetCreatorBase(); + ~KItemListWidgetCreatorBase() override; virtual KItemListWidget* create(KItemListView* view) = 0; @@ -817,15 +818,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; }; @@ -878,7 +879,7 @@ qreal KItemListWidgetCreator::preferredRoleColumnWidth(const QByteArray& role class DOLPHIN_EXPORT KItemListGroupHeaderCreatorBase : public KItemListCreatorBase { public: - virtual ~KItemListGroupHeaderCreatorBase(); + ~KItemListGroupHeaderCreatorBase() override; virtual KItemListGroupHeader* create(KItemListView* view) = 0; virtual void recycle(KItemListGroupHeader* header); }; @@ -887,8 +888,8 @@ template class KItemListGroupHeaderCreator : public KItemListGroupHeaderCreatorBase { public: - virtual ~KItemListGroupHeaderCreator(); - virtual KItemListGroupHeader* create(KItemListView* view); + ~KItemListGroupHeaderCreator() override; + KItemListGroupHeader* create(KItemListView* view) override; }; template