X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatscene.h;h=a5cbe7bdf22731bea79fdcbf387718921ea8c707;hp=56212adcf4ad2833a399360994f1eb9112593a5e;hb=3013f4e095802e906c85878436da9e2ee3f9028c;hpb=e3ed29ad5b799fa1425c137d2296f48ce5995a5b diff --git a/src/qtui/chatscene.h b/src/qtui/chatscene.h index 56212adc..a5cbe7bd 100644 --- a/src/qtui/chatscene.h +++ b/src/qtui/chatscene.h @@ -88,18 +88,22 @@ public: inline ChatLine *chatLine(const QModelIndex &index) const { return _lines.value(index.row()); } //! Find the ChatLine belonging to a MsgId - /** Searches for the ChatLine belonging to a MsgId. + /** Searches for the ChatLine belonging to a MsgId. If there are more than one ChatLine with the same msgId, + * the first one is returned. * Note that this method performs a binary search, hence it has as complexity of O(log n). * If matchExact is false, and we don't have an exact match for the given msgId, we return the visible line right * above the requested one. * \param msgId The message ID to look for * \param matchExact Whether we find only exact matches + * \param ignoreDayChange Whether we ignore day change messages * \return The ChatLine corresponding to the given MsgId */ - ChatLine *chatLine(MsgId msgId, bool matchExact = true) const; + ChatLine *chatLine(MsgId msgId, bool matchExact = true, bool ignoreDayChange = true) const; inline ChatLine *lastLine() const { return _lines.count() ? _lines.last() : 0; } + inline MarkerLineItem *markerLine() const { return _markerLine; } + inline bool isSingleBufferScene() const { return _singleBufferId.isValid(); } inline BufferId singleBufferId() const { return _singleBufferId; } bool containsBuffer(const BufferId &id) const; @@ -128,6 +132,7 @@ public: void setMarkerLineVisible(bool visible = true); void setMarkerLine(MsgId msgId = MsgId()); + void jumpToMarkerLine(bool requestBacklog); // these are used by the chatitems to notify the scene and manage selections void setSelectingItem(ChatItem *item); @@ -195,7 +200,7 @@ private: qreal _viewportHeight; MarkerLineItem *_markerLine; - bool _markerLineValid, _markerLineVisible; + bool _markerLineVisible, _markerLineValid, _markerLineJumpPending; ColumnHandleItem *_firstColHandle, *_secondColHandle; qreal _firstColHandlePos, _secondColHandlePos;