]> git.sur5r.net Git - minitube/blobdiff - src/searchview.h
Upload 3.9.3-2 to unstable
[minitube] / src / searchview.h
index a8022b6f724fcfc4ce3d6780d9f1ed313c58e397..a5342c9accc46cbd758328e972701937d6715a70 100644 (file)
@@ -18,62 +18,64 @@ along with Minitube.  If not, see <http://www.gnu.org/licenses/>.
 
 $END_LICENSE */
 
-#ifndef __SEARCHVIEW_H__
-#define __SEARCHVIEW_H__
+#ifndef SEARCHVIEW_H
+#define SEARCHVIEW_H
 
-#include <QtGui>
-#if QT_VERSION >= 0x050000
 #include <QtWidgets>
-#endif
+
 #include "view.h"
 
-class SearchLineEdit;
+class SearchWidget;
 class SearchParams;
 class YTSuggester;
 class ChannelSuggest;
 class Suggestion;
+class ClickableLabel;
+class MessageBar;
 
-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 disappear();
+    void watch(const QString &query);
     void watchChannel(const QString &channelId);
-    void watchKeywords(QString query);
+    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:
+    void maybeShowMessage();
     YTSuggester *youtubeSuggest;
     ChannelSuggest *channelSuggest;
 
-    QComboBox *typeCombo;
-    SearchLineEdit *queryEdit;
+    MessageBar *messageBar;
+    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