1 /* $BEGIN_LICENSE 2 3 This file is part of Minitube. 4 Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com> 5 6 Minitube is free software: you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation, either version 3 of the License, or 9 (at your option) any later version. 10 11 Minitube is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with Minitube. If not, see <http://www.gnu.org/licenses/>. 18 19 $END_LICENSE */ 20 21 #ifndef REFINESEARCHWIDGET_H 22 #define REFINESEARCHWIDGET_H 23 24 #include <QtWidgets> 25 26 class SearchParams; 27 28 class RefineSearchWidget : public QWidget { 29 30 Q_OBJECT 31 32 public: 33 RefineSearchWidget(QWidget *parent = 0); 34 isDirty()35 bool isDirty() { return dirty; } setDirty(bool dirty)36 void setDirty(bool dirty) { this->dirty = dirty; } 37 void setSearchParams(SearchParams* params); 38 39 signals: 40 void paramChanged(QString name, QVariant value); 41 void searchRefined(); 42 void done(); 43 44 private slots: 45 void actionTriggered(QAction* action); 46 void doneClicked(); 47 48 private: 49 void setup(); 50 void setupLabel(const QString &text, QBoxLayout* layout, const QString ¶mName); 51 QToolBar *setupBar(const QString ¶mName); 52 53 QHash<QString, QToolBar*> bars; 54 bool dirty; 55 QPushButton *doneButton; 56 57 }; 58 59 #endif // REFINESEARCHWIDGET_H 60