uisupport: Provide helpers for dealing with widget changes
[quassel.git] / src / qtui / chatscene.h
index cec16a0..5258071 100644 (file)
@@ -72,8 +72,7 @@ public:
         TripleClick
     };
 
-    ChatScene(QAbstractItemModel *model, const QString &idString, qreal width, ChatView *parent);
-    virtual ~ChatScene();
+    ChatScene(QAbstractItemModel *model, QString idString, qreal width, ChatView *parent);
 
     inline QAbstractItemModel *model() const { return _model; }
     inline MessageFilter *filter() const { return qobject_cast<MessageFilter *>(_model); }
@@ -177,11 +176,11 @@ signals:
     void mouseMoveWhileSelecting(const QPointF &scenePos);
 
 protected:
-    virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *contextMenuEvent);
-    virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent);
-    virtual void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent);
-    virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent);
-    virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *mouseEvent);
+    void contextMenuEvent(QGraphicsSceneContextMenuEvent *contextMenuEvent) override;
+    void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent) override;
+    void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent) override;
+    void mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent) override;
+    void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *mouseEvent) override;
     virtual void handleClick(Qt::MouseButton button, const QPointF &scenePos);
 
 protected slots:
@@ -286,13 +285,12 @@ private:
             ShowPreview,
             HidePreview
         };
-        ChatItem *parentItem;
-        QGraphicsItem *previewItem;
+        ChatItem *parentItem{nullptr};
+        QGraphicsItem *previewItem{nullptr};
         QUrl url;
         QRectF urlRect;
-        PreviewState previewState;
+        PreviewState previewState{NoPreview};
         QTimer timer;
-        WebPreview() : parentItem(nullptr), previewItem(nullptr), previewState(NoPreview) {}
     };
     WebPreview webPreview;
 #endif // HAVE_WEBKIT || HAVE_WEBENGINE