X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatviewsearchcontroller.h;h=ca7bea8f55f024ae58883474275ad852fca63b60;hp=51b6ff0a1d4c4fd6ae92865ebee8f952bf02264a;hb=61e0633ce94a38e669382c29db498f335d2e0fa8;hpb=114f8a14b8bc82669ffda0599ce30fc299be9396 diff --git a/src/qtui/chatviewsearchcontroller.h b/src/qtui/chatviewsearchcontroller.h index 51b6ff0a..ca7bea8f 100644 --- a/src/qtui/chatviewsearchcontroller.h +++ b/src/qtui/chatviewsearchcontroller.h @@ -27,6 +27,7 @@ #include #include +#include "chatscene.h" #include "message.h" class QGraphicsItem; @@ -58,6 +59,9 @@ private slots: void sceneDestroyed(); void updateHighlights(bool reuse = false); + void repositionHighlights(); + void repositionHighlights(ChatLine *line); + signals: void newCurrentHighlight(QGraphicsItem *highlightItem); @@ -87,10 +91,15 @@ class SearchHighlightItem : public QObject, public QGraphicsItem { public: SearchHighlightItem(QRectF wordRect, QGraphicsItem *parent = 0); - inline virtual QRectF boundingRect() const { return _boundingRect; } + virtual inline QRectF boundingRect() const { return _boundingRect; } virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); + enum { Type = ChatScene::SearchHighlightType }; + virtual inline int type() const { return Type; } + void setHighlighted(bool highlighted); + static bool firstInLine(QGraphicsItem *item1, QGraphicsItem *item2); + private slots: void updateHighlight(qreal value);