]> git.sur5r.net Git - minitube/blobdiff - src/searchlineedit.h
Rounded corners for suggestions popup
[minitube] / src / searchlineedit.h
index 36c8fe1ef9010615998d7af387f92275cbd5b85b..3403df4ee60c437e919c19b4b4a066a3f85f03ef 100644 (file)
@@ -1,37 +1,41 @@
 /****************************************************************************
 **
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** 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 versions 2.0 or 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 GNU General Public Licensing requirements will be met:
-** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
-** http://www.gnu.org/copyleft/gpl.html.  In addition, as a special
-** exception, Nokia gives you certain additional rights. These rights
-** are described in the Nokia Qt GPL Exception version 1.3, included in
-** the file GPL_EXCEPTION.txt in this package.
-**
-** Qt for Windows(R) Licensees
-** As a special exception, Nokia, as the sole copyright holder for Qt
-** Designer, grants users of the Qt/Eclipse Integration plug-in the
-** right for the Qt/Eclipse Integration to link to functionality
-** provided by Qt Designer and its related libraries.
+** 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 qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
 **
 ****************************************************************************/
 
 #define SEARCHLINEEDIT_H
 
 #include "urllineedit.h"
+#include "autocomplete.h"
 
-#include <QtGui/QLineEdit>
-#include <QtGui/QAbstractButton>
+#include <QLineEdit>
+#include <QAbstractButton>
 
 QT_BEGIN_NAMESPACE
 class QMenu;
 QT_END_NAMESPACE
 
 class SearchButton;
-class GSuggestCompletion;
+class Suggester;
 
 /*
     Clear button on the right hand side of the search widget.
@@ -76,6 +81,7 @@ class SearchLineEdit : public ExLineEdit
 signals:
     void textChanged(const QString &text);
     void search(const QString &text);
+    void suggestionAccepted(const QString &suggestion);
 
 public:
     SearchLineEdit(QWidget *parent = 0);
@@ -88,10 +94,14 @@ public:
     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); }
 
 protected:
     void resizeEvent(QResizeEvent *event);
     void paintEvent(QPaintEvent *event);
+    void focusInEvent(QFocusEvent *event);
 
 private slots:
     void returnPressed();
@@ -101,7 +111,7 @@ private:
     SearchButton *m_searchButton;
     QString m_inactiveText;
 
-    GSuggestCompletion *completion;
+    AutoComplete *completion;
 };
 
 #endif // SEARCHLINEEDIT_H