]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/private/kitemlistheaderwidget.h
Fix selection rect after porting from QFontMetrics::width()
[dolphin.git] / src / kitemviews / private / kitemlistheaderwidget.h
index 307def74d0a0e4be808e6053c09081c09add215a..350588f0054bfbd94bf1bbbd5e1f311153fe1909 100644 (file)
@@ -21,6 +21,7 @@
 #define KITEMLISTHEADERWIDGET_H
 
 #include "dolphin_export.h"
+
 #include <QGraphicsWidget>
 #include <QHash>
 #include <QList>
@@ -38,8 +39,8 @@ 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);