X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/2c20502c346d975bff854567c038bf0b78c3b857..76a46fd9094b17eb99e8a42cca8562fdc0b3814c:/src/kitemviews/private/kitemlistheaderwidget.h diff --git a/src/kitemviews/private/kitemlistheaderwidget.h b/src/kitemviews/private/kitemlistheaderwidget.h index b99f45f35..350588f00 100644 --- a/src/kitemviews/private/kitemlistheaderwidget.h +++ b/src/kitemviews/private/kitemlistheaderwidget.h @@ -20,7 +20,8 @@ #ifndef KITEMLISTHEADERWIDGET_H #define KITEMLISTHEADERWIDGET_H -#include +#include "dolphin_export.h" + #include #include #include @@ -33,13 +34,13 @@ class KItemModelBase; * The widget is an internal API, the user of KItemListView may only access the * class KItemListHeader. */ -class LIBDOLPHINPRIVATE_EXPORT KItemListHeaderWidget : public QGraphicsWidget +class DOLPHIN_EXPORT KItemListHeaderWidget : public QGraphicsWidget { Q_OBJECT public: - KItemListHeaderWidget(QGraphicsWidget* parent = 0); - virtual ~KItemListHeaderWidget(); + explicit KItemListHeaderWidget(QGraphicsWidget* parent = nullptr); + ~KItemListHeaderWidget() override; void setModel(KItemModelBase* model); KItemModelBase* model() const; @@ -64,7 +65,7 @@ public: qreal minimumColumnWidth() const; - virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0); + void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override; signals: /** @@ -75,6 +76,13 @@ signals: qreal currentWidth, qreal previousWidth); + /** + * Is emitted if the user has released the mouse button after adjusting the + * width of a visible role. + */ + void columnWidthChangeFinished(const QByteArray& role, + qreal currentWidth); + /** * Is emitted if the position of the column has been changed. */ @@ -97,13 +105,13 @@ signals: void sortRoleChanged(const QByteArray& current, const QByteArray& previous); protected: - virtual void mousePressEvent(QGraphicsSceneMouseEvent* event); - virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent* event); - virtual void mouseMoveEvent(QGraphicsSceneMouseEvent* event); - virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event); - virtual void hoverEnterEvent(QGraphicsSceneHoverEvent* event); - virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent* event); - virtual void hoverMoveEvent(QGraphicsSceneHoverEvent* event); + void mousePressEvent(QGraphicsSceneMouseEvent* event) override; + void mouseReleaseEvent(QGraphicsSceneMouseEvent* event) override; + void mouseMoveEvent(QGraphicsSceneMouseEvent* event) override; + void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event) override; + void hoverEnterEvent(QGraphicsSceneHoverEvent* event) override; + void hoverLeaveEvent(QGraphicsSceneHoverEvent* event) override; + void hoverMoveEvent(QGraphicsSceneHoverEvent* event) override; private slots: void slotSortRoleChanged(const QByteArray& current, const QByteArray& previous); @@ -114,7 +122,7 @@ private: const QByteArray& role, const QRectF& rect, int orderIndex, - QWidget* widget = 0) const; + QWidget* widget = nullptr) const; void updatePressedRoleIndex(const QPointF& pos); void updateHoveredRoleIndex(const QPointF& pos);