- ChatView(MessageFilter *, QWidget *parent = 0);
- ChatView(BufferId bufferId, QWidget *parent = 0);
-
- virtual MsgId lastMsgId() const;
- virtual MsgId lastVisibleMsgId() const;
- inline AbstractBufferContainer *bufferContainer() const { return _bufferContainer; }
- inline void setBufferContainer(AbstractBufferContainer *c) { _bufferContainer = c; }
-
- inline ChatScene *scene() const { return _scene; }
-
- //! Return a set of ChatLines currently visible in the view
- /** \param mode How partially visible ChatLines are handled
- * \return A set of visible ChatLines
- */
- QSet<ChatLine *> visibleChatLines(Qt::ItemSelectionMode mode = Qt::ContainsItemBoundingRect) const;
-
- //! Return a sorted list of ChatLines currently visible in the view
- /** \param mode How partially visible ChatLines are handled
- * \return A list of visible ChatLines sorted by row
- * \note If the order of ChatLines does not matter, use visibleChatLines() instead
- */
- QList<ChatLine *> visibleChatLinesSorted(Qt::ItemSelectionMode mode = Qt::ContainsItemBoundingRect) const;
-
- //! Return the last fully visible ChatLine in this view
- /** Using this method more efficient than calling visibleChatLinesSorted() and taking its last element.
- * \return The last fully visible ChatLine in the view
- */
- ChatLine *lastVisibleChatLine() const;
-
- virtual void addActionsToMenu(QMenu *, const QPointF &pos);
-
- //! 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);
+ ChatView(MessageFilter *, QWidget *parent = 0);
+ ChatView(BufferId bufferId, QWidget *parent = 0);
+
+ virtual MsgId lastMsgId() const;
+ virtual MsgId lastVisibleMsgId() const;
+ inline AbstractBufferContainer *bufferContainer() const { return _bufferContainer; }
+ inline void setBufferContainer(AbstractBufferContainer *c) { _bufferContainer = c; }
+
+ inline ChatScene *scene() const { return _scene; }
+
+ //! Return a set of ChatLines currently visible in the view
+ /** \param mode How partially visible ChatLines are handled
+ * \return A set of visible ChatLines
+ */
+ QSet<ChatLine *> visibleChatLines(Qt::ItemSelectionMode mode = Qt::ContainsItemBoundingRect) const;
+
+ //! Return a sorted list of ChatLines currently visible in the view
+ /** \param mode How partially visible ChatLines are handled
+ * \return A list of visible ChatLines sorted by row
+ * \note If the order of ChatLines does not matter, use visibleChatLines() instead
+ */
+ QList<ChatLine *> visibleChatLinesSorted(Qt::ItemSelectionMode mode = Qt::ContainsItemBoundingRect) const;
+
+ //! Return the last fully visible ChatLine in this view
+ /** Using this method more efficient than calling visibleChatLinesSorted() and taking its last element.
+ * \return The last fully visible ChatLine in the view
+ */
+ ChatLine *lastVisibleChatLine(bool ignoreDayChange = false) const;
+
+ virtual void addActionsToMenu(QMenu *, const QPointF &pos);
+
+ //! 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);