X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fsearchlineedit.h;fp=src%2Fsearchlineedit.h;h=64b0d285a1da979d2b66eee1eb7e863dee741297;hb=5ecc9c04fb173c5693bcded5191d29816304d12c;hp=909443556fd2612f3e67b663faa0ba5189c5b1fa;hpb=e911bb9726db1c3e46ba365e52f7541b8f4a47d4;p=minitube diff --git a/src/searchlineedit.h b/src/searchlineedit.h index 9094435..64b0d28 100644 --- a/src/searchlineedit.h +++ b/src/searchlineedit.h @@ -1,52 +1,11 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial Usage -** Licensees holding valid Qt Commercial licenses may use this file in -** accordance with the Qt Commercial License Agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Nokia. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain -** additional rights. These rights are described in the Nokia Qt LGPL -** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this -** package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at http://www.qtsoftware.com/contact. -** $QT_END_LICENSE$ -** -****************************************************************************/ - #ifndef SEARCHLINEEDIT_H #define SEARCHLINEEDIT_H #include "urllineedit.h" #include "autocomplete.h" -#include -#include +#include +#include QT_BEGIN_NAMESPACE class QMenu; @@ -58,35 +17,43 @@ class Suggester; /* 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 -{ +class ClearButton : public QAbstractButton { + Q_OBJECT public: ClearButton(QWidget *parent = 0); - void paintEvent(QPaintEvent *event); + void paintEvent(QPaintEvent *e); public slots: void textChanged(const QString &text); + +protected: + void enterEvent(QEvent *e); + void leaveEvent(QEvent *e); + + void mousePressEvent(QEvent *e); + void mouseReleaseEvent(QEvent *e); + +private: + bool hovered; + bool mousePressed; }; +class SearchLineEdit : public ExLineEdit { -class SearchLineEdit : public ExLineEdit -{ Q_OBJECT - Q_PROPERTY(QString inactiveText READ inactiveText WRITE setInactiveText) signals: void textChanged(const QString &text); + void textEdited(const QString &text); void search(const QString &text); - void suggestionAccepted(const QString &suggestion); + void suggestionAccepted(Suggestion *suggestion); public: SearchLineEdit(QWidget *parent = 0); - QString inactiveText() const; void setInactiveText(const QString &text); QMenu *menu() const; @@ -95,7 +62,7 @@ public: void enableSuggest(); void preventSuggest(); void selectAll() { lineEdit()->selectAll(); } - void setSuggester(Suggester *suggester) { completion->setSuggester(suggester); } + void setSuggester(Suggester *suggester) { autoComplete->setSuggester(suggester); } void setText(const QString &text) { lineEdit()->setText(text); } protected: @@ -107,11 +74,9 @@ private slots: void returnPressed(); private: - - SearchButton *m_searchButton; - QString m_inactiveText; - - AutoComplete *completion; + SearchButton *searchButton; + QString inactiveText; + AutoComplete *autoComplete; }; #endif // SEARCHLINEEDIT_H