+ //! Tell the view that this ChatLine has cached data
+ /** ChatLines cache some layout data that should be cleared as soon as it's no
+ * longer visible. A ChatLine caching data registers itself with this method to
+ * tell the view about it. The view will call ChatLine::clearCache() when
+ * appropriate.
+ * \param line The ChatLine having cached data
+ */
+ void setHasCache(ChatLine *line, bool hasCache = true);
+
+public slots:
+ inline virtual void clear() {}
+ void zoomIn();
+ void zoomOut();
+ void zoomOriginal();
+
+ void setMarkerLineVisible(bool visible = true);
+ void setMarkerLine(MsgId msgId);
+ void jumpToMarkerLine(bool requestBacklog);
+
+protected:
+ virtual bool event(QEvent *event);
+ virtual void resizeEvent(QResizeEvent *event);
+ virtual void scrollContentsBy(int dx, int dy);
+
+protected slots:
+ virtual void verticalScrollbarChanged(int);
+
+private slots:
+ void lastLineChanged(QGraphicsItem *chatLine, qreal offset);
+ void adjustSceneRect();
+ void checkChatLineCaches();
+ void mouseMoveWhileSelecting(const QPointF &scenePos);
+ void scrollTimerTimeout();
+ void invalidateFilter();
+ void markerLineSet(BufferId buffer, MsgId msg);
+
+private:
+ void init(MessageFilter *filter);
+
+ AbstractBufferContainer *_bufferContainer;