X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fsearchlineedit.h;h=a116f2faac290d2be6fa60a0fdd40919bf5f0687;hb=8cea1b650a0122369e8a3d60da1f263767b67614;hp=909443556fd2612f3e67b663faa0ba5189c5b1fa;hpb=c7f317d082cb0fc53b86746dbcca2f7b1bb91c6e;p=minitube diff --git a/src/searchlineedit.h b/src/searchlineedit.h index 9094435..a116f2f 100644 --- a/src/searchlineedit.h +++ b/src/searchlineedit.h @@ -1,118 +1,41 @@ -/**************************************************************************** -** -** 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 - -QT_BEGIN_NAMESPACE -class QMenu; -QT_END_NAMESPACE - -class SearchButton; -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 -{ - Q_OBJECT - -public: - ClearButton(QWidget *parent = 0); - void paintEvent(QPaintEvent *event); - -public slots: - void textChanged(const QString &text); -}; +#include +#include "searchwidget.h" -class SearchLineEdit : public ExLineEdit -{ +class SearchLineEdit : public QLineEdit, public SearchWidget { Q_OBJECT - Q_PROPERTY(QString inactiveText READ inactiveText WRITE setInactiveText) - -signals: - void textChanged(const QString &text); - void search(const QString &text); - void suggestionAccepted(const QString &suggestion); public: - SearchLineEdit(QWidget *parent = 0); - - QString inactiveText() const; - void setInactiveText(const QString &text); + explicit SearchLineEdit(QWidget *parent = nullptr); + // SearchWidget interface QMenu *menu() const; void setMenu(QMenu *menu); - void updateGeometries(); void enableSuggest(); void preventSuggest(); - void selectAll() { lineEdit()->selectAll(); } - void setSuggester(Suggester *suggester) { completion->setSuggester(suggester); } - void setText(const QString &text) { lineEdit()->setText(text); } + void setSuggester(Suggester *suggester); + AutoComplete *getAutoComplete(); + void emitTextChanged(const QString &text); + QLineEdit *getLineEdit(); + QWidget *toWidget(); -protected: - void resizeEvent(QResizeEvent *event); - void paintEvent(QPaintEvent *event); - void focusInEvent(QFocusEvent *event); + void setPlaceholderText(const QString &text) { QLineEdit::setPlaceholderText(text); } + void selectAll() { QLineEdit::selectAll(); } + void setText(const QString &text) { QLineEdit::setText(text); } + QString text() { return QLineEdit::text(); } -private slots: +public slots: void returnPressed(); -private: - - SearchButton *m_searchButton; - QString m_inactiveText; +signals: + void search(const QString &text); + void suggestionAccepted(Suggestion *suggestion); - AutoComplete *completion; +private: + AutoComplete *autoComplete; }; #endif // SEARCHLINEEDIT_H -