X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fcolumnhandleitem.h;h=c96c687d3348961fd02ed59a7ca2ef49be5aaf87;hb=1a8f18df3db5cebd77fbba1c0dc726a4da2c1b72;hp=f9d1f7ada0026cce541c46e1b7173a8ccc1ee997;hpb=0072d69c3387cad4e393968647e0f2894aed6877;p=quassel.git diff --git a/src/qtui/columnhandleitem.h b/src/qtui/columnhandleitem.h index f9d1f7ad..c96c687d 100644 --- a/src/qtui/columnhandleitem.h +++ b/src/qtui/columnhandleitem.h @@ -29,34 +29,39 @@ class ColumnHandleItem : public QObject, public QGraphicsItem { Q_OBJECT -public: - ColumnHandleItem(qreal width, QGraphicsItem *parent = 0); - - inline qreal width() const { return _width; } - inline QRectF boundingRect() const { return QRectF(0, 0, _width, scene()->height()); } - void setXPos(qreal xpos); - - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); - - void sceneRectChanged(const QRectF &); - void setXLimits(qreal min, qreal max); - -protected: - void hoverEnterEvent(QGraphicsSceneHoverEvent *event); - void hoverLeaveEvent(QGraphicsSceneHoverEvent *event); - void mouseMoveEvent(QGraphicsSceneMouseEvent *event); - void mousePressEvent(QGraphicsSceneMouseEvent *event); - void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); - -private slots: - void hoverChanged(qreal value); - -private: - qreal _width; - qreal _hover; - bool _moving; - qreal _minXPos, _maxXPos; - QTimeLine _timeLine; + public: + ColumnHandleItem(qreal width, QGraphicsItem *parent = 0); + + inline qreal width() const { return _width; } + inline QRectF boundingRect() const { return QRectF(-_width/2, scene()->sceneRect().y(), _width, scene()->height()); } + void setXPos(qreal xpos); + + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); + + void setXLimits(qreal min, qreal max); + + public slots: + void sceneRectChanged(const QRectF &); + + protected: + void hoverEnterEvent(QGraphicsSceneHoverEvent *event); + void hoverLeaveEvent(QGraphicsSceneHoverEvent *event); + void mouseMoveEvent(QGraphicsSceneMouseEvent *event); + void mousePressEvent(QGraphicsSceneMouseEvent *event); + void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); + + signals: + void positionChanged(qreal x); + + private slots: + void hoverChanged(qreal value); + + private: + qreal _width; + qreal _hover; + bool _moving; + qreal _minXPos, _maxXPos; + QTimeLine _timeLine; }; #endif