Sanitize topic message
[quassel.git] / src / qtui / chatviewsearchcontroller.h
index a119d54..fc67a76 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-09 by the Quassel Project                          *
+ *   Copyright (C) 2005-2013 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -15,7 +15,7 @@
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program; if not, write to the                         *
  *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
 #ifndef CHATVIEWSEARCHCONTROLLER_H
 
 class QGraphicsItem;
 class ChatLine;
-class ChatScene;
 class SearchHighlightItem;
 
-class ChatViewSearchController : public QObject {
-  Q_OBJECT
+class ChatViewSearchController : public QObject
+{
+    Q_OBJECT
 
 public:
-  ChatViewSearchController(QObject *parent = 0);
+    ChatViewSearchController(QObject *parent = 0);
 
-  inline const QString &searchString() const { return _searchString; }
+    inline const QString &searchString() const { return _searchString; }
 
-  void setScene(ChatScene *scene);
+    void setScene(ChatScene *scene);
 
 public slots:
-  void setSearchString(const QString &searchString);
-  void setCaseSensitive(bool caseSensitive);
-  void setSearchSenders(bool searchSenders);
-  void setSearchMsgs(bool searchMsgs);
-  void setSearchOnlyRegularMsgs(bool searchOnlyRegularMsgs);
+    void setSearchString(const QString &searchString);
+    void setCaseSensitive(bool caseSensitive);
+    void setSearchSenders(bool searchSenders);
+    void setSearchMsgs(bool searchMsgs);
+    void setSearchOnlyRegularMsgs(bool searchOnlyRegularMsgs);
 
-  void highlightNext();
-  void highlightPrev();
+    void highlightNext();
+    void highlightPrev();
 
 private slots:
-  void sceneDestroyed();
-  void updateHighlights(bool reuse = false);
+    void sceneDestroyed();
+    void updateHighlights(bool reuse = false);
 
-  void repositionHighlights();
-  void repositionHighlights(ChatLine *line);
+    void repositionHighlights();
+    void repositionHighlights(ChatLine *line);
 
 signals:
-  void newCurrentHighlight(QGraphicsItem *highlightItem);
+    void newCurrentHighlight(QGraphicsItem *highlightItem);
 
 private:
-  QString _searchString;
-  ChatScene *_scene;
-  QList<SearchHighlightItem *> _highlightItems;
-  int _currentHighlight;
+    QString _searchString;
+    ChatScene *_scene;
+    QList<SearchHighlightItem *> _highlightItems;
+    int _currentHighlight;
 
-  bool _caseSensitive;
-  bool _searchSenders;
-  bool _searchMsgs;
-  bool _searchOnlyRegularMsgs;
+    bool _caseSensitive;
+    bool _searchSenders;
+    bool _searchMsgs;
+    bool _searchOnlyRegularMsgs;
 
-  inline Qt::CaseSensitivity caseSensitive() const { return _caseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive; }
+    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); }
+    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);
+    void checkMessagesForHighlight(int start = 0, int end = -1);
+    void highlightLine(ChatLine *line);
+    void updateHighlights(ChatLine *line);
 };
 
 
 // Highlight Items
 #include <QGraphicsItem>
 
-class SearchHighlightItem : public QObject, public QGraphicsItem {
-  Q_OBJECT
+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; }
+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; }
 
-  void setHighlighted(bool highlighted);
+    void setHighlighted(bool highlighted);
 
-  static bool firstInLine(QGraphicsItem *item1, QGraphicsItem *item2);
+    static bool firstInLine(QGraphicsItem *item1, QGraphicsItem *item2);
 
 private slots:
-  void updateHighlight(qreal value);
+    void updateHighlight(qreal value);
 
 private:
-  QRectF _boundingRect;
-  bool _highlighted;
-  qreal _alpha;
-  QTimeLine _timeLine;
+    QRectF _boundingRect;
+    bool _highlighted;
+    int _alpha;
+    QTimeLine _timeLine;
 };
 
+
 #endif //CHATVIEWSEARCHCONTROLLER_H