]> git.sur5r.net Git - minitube/blobdiff - src/searchview.h
New upstream version 3.1
[minitube] / src / searchview.h
index 4fcf5042c0ce3274c173fd4ce4fef389793d744e..d6841d287e0256292b345d1c0aac4c9eae81f400 100644 (file)
@@ -1,54 +1,79 @@
-#ifndef __SEARCHVIEW_H__
-#define __SEARCHVIEW_H__
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube 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 3 of the License, or
+(at your option) any later version.
+
+Minitube 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.
+
+You should have received a copy of the GNU General Public License
+along with Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#ifndef SEARCHVIEW_H
+#define SEARCHVIEW_H
+
+#include <QtWidgets>
 
-#include <QtGui>
 #include "view.h"
 
-class SearchLineEdit;
+class SearchWidget;
 class SearchParams;
 class YTSuggester;
 class ChannelSuggest;
+class Suggestion;
+class ClickableLabel;
 
-class SearchView : public QWidget, public View {
-
+class SearchView : public View {
     Q_OBJECT
 
 public:
-    SearchView(QWidget *parent = 0);
+    SearchView(QWidget *parent = nullptr);
     void updateRecentKeywords();
     void updateRecentChannels();
 
 public slots:
     void appear();
-    void disappear() { }
-    void watch(QString query);
-    void watchChannel(QString channel);
-    void watchKeywords(QString query);
+    void disappear();
+    void watch(const QString &query);
+    void watchChannel(const QString &channelId);
+    void watchKeywords(const QString &query);
 
 signals:
-    void search(SearchParams*);
-
-protected:
-    void paintEvent(QPaintEvent *);
+    void search(SearchParams *);
 
 private slots:
     void watch();
     void textChanged(const QString &text);
     void searchTypeChanged(int index);
+    void suggestionAccepted(Suggestion *suggestion);
+    void onChannelSuggestions(const QVector<Suggestion *> &suggestions);
 
 private:
     YTSuggester *youtubeSuggest;
     ChannelSuggest *channelSuggest;
 
-    QComboBox *typeCombo;
-    SearchLineEdit *queryEdit;
+    SearchWidget *queryEdit;
     QLabel *recentKeywordsLabel;
     QBoxLayout *recentKeywordsLayout;
     QLabel *recentChannelsLabel;
     QBoxLayout *recentChannelsLayout;
     QLabel *message;
-    QPushButton *watchButton;
 
+    QStringList recentKeywords;
+    QStringList recentChannels;
+
+    QVector<Suggestion *> lastChannelSuggestions;
+
+    ClickableLabel *logo;
 };
 
-#endif // __SEARCHVIEW_H__
+#endif // SEARCHVIEW_H