/* ============================================================  *  * This file is a part of the reKonq project  * * Copyright (C) 2008 by Andrea Diamantini  * *  * This program is free software; you can redistribute it  * and/or modify it under the terms of the GNU General  * Public License as published by the Free Software Foundation;  * either version 2, or (at your option) any later version.  *  * This program is distributed in the hope that it will be useful,  * but WITHOUT ANY WARRANTY; without even the implied warranty of  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  * GNU General Public License for more details.  *  * ============================================================ */ #ifndef SEARCHLINEEDIT_H #define SEARCHLINEEDIT_H // Local Includes #include "urllineedit.h" // Qt Includes #include #include QT_BEGIN_NAMESPACE class QMenu; QT_END_NAMESPACE class SearchButton; /* Clear button on the right hand side of the search widget. Hidden by default "A circle with an X in it" */ class ClearButton : public QAbstractButton { Q_OBJECT public: ClearButton(QWidget *parent = 0); void paintEvent(QPaintEvent *event); public slots: void textChanged(const QString &text); }; class SearchLineEdit : public ExLineEdit { Q_OBJECT Q_PROPERTY(QString inactiveText READ inactiveText WRITE setInactiveText) signals: void textChanged(const QString &text); public: SearchLineEdit(QWidget *parent = 0); QString inactiveText() const; void setInactiveText(const QString &text); QMenu *menu() const; void setMenu(QMenu *menu); protected: void resizeEvent(QResizeEvent *event); void paintEvent(QPaintEvent *event); private: void updateGeometries(); SearchButton *m_searchButton; QString m_inactiveText; }; #endif // SEARCHLINEEDIT_H