X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fsearchview.h;h=a5342c9accc46cbd758328e972701937d6715a70;hb=ff6d1f7f087f40438952d4b4315a8875f23281cb;hp=4fcf5042c0ce3274c173fd4ce4fef389793d744e;hpb=a8e005af0aa72f809f823bbd741bb3d0def00ced;p=minitube diff --git a/src/searchview.h b/src/searchview.h index 4fcf504..a5342c9 100644 --- a/src/searchview.h +++ b/src/searchview.h @@ -1,54 +1,81 @@ -#ifndef __SEARCHVIEW_H__ -#define __SEARCHVIEW_H__ +/* $BEGIN_LICENSE + +This file is part of Minitube. +Copyright 2009, Flavio Tordini + +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 . + +$END_LICENSE */ + +#ifndef SEARCHVIEW_H +#define SEARCHVIEW_H + +#include -#include #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 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 &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 lastChannelSuggestions; + + ClickableLabel *logo; }; -#endif // __SEARCHVIEW_H__ +#endif // SEARCHVIEW_H