X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatviewsearchcontroller.h;h=757bd22fe2a34b73e9585b69160d01741c9d9d7c;hp=ca7bea8f55f024ae58883474275ad852fca63b60;hb=3ade6e11e29338aa74fa5daf32456264011601e1;hpb=61e0633ce94a38e669382c29db498f335d2e0fa8 diff --git a/src/qtui/chatviewsearchcontroller.h b/src/qtui/chatviewsearchcontroller.h index ca7bea8f..757bd22f 100644 --- a/src/qtui/chatviewsearchcontroller.h +++ b/src/qtui/chatviewsearchcontroller.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel Project * + * Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -32,7 +32,6 @@ class QGraphicsItem; class ChatLine; -class ChatScene; class SearchHighlightItem; class ChatViewSearchController : public QObject { @@ -79,7 +78,10 @@ private: inline Qt::CaseSensitivity caseSensitive() const { return _caseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive; } inline bool checkType(Message::Type type) const { return type & (Message::Plain | Message::Notice | Message::Action); } + + void checkMessagesForHighlight(int start = 0, int end = -1); void highlightLine(ChatLine *line); + void updateHighlights(ChatLine *line); }; @@ -88,10 +90,14 @@ private: class SearchHighlightItem : public QObject, public QGraphicsItem { Q_OBJECT +#if QT_VERSION >= 0x040600 + Q_INTERFACES(QGraphicsItem) +#endif public: SearchHighlightItem(QRectF wordRect, QGraphicsItem *parent = 0); virtual inline QRectF boundingRect() const { return _boundingRect; } + void updateGeometry(qreal width, qreal height); virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); enum { Type = ChatScene::SearchHighlightType }; virtual inline int type() const { return Type; } @@ -106,7 +112,7 @@ private slots: private: QRectF _boundingRect; bool _highlighted; - qreal _alpha; + int _alpha; QTimeLine _timeLine; };