]> 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 b99f45f354e7e861cde72c1fffa486583c97c120..350588f0054bfbd94bf1bbbd5e1f311153fe1909 100644 (file)
@@ -20,7 +20,8 @@
 #ifndef KITEMLISTHEADERWIDGET_H
 #define KITEMLISTHEADERWIDGET_H
 
-#include <libdolphin_export.h>
+#include "dolphin_export.h"
+
 #include <QGraphicsWidget>
 #include <QHash>
 #include <QList>
@@ -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);