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 HOMEVIEW_H 22 #define HOMEVIEW_H 23 24 #include <QtWidgets> 25 26 #include "view.h" 27 28 class SegmentedControl; 29 class SearchView; 30 class StandardFeedsView; 31 class ChannelView; 32 33 class HomeView : public View { 34 Q_OBJECT 35 36 public: 37 HomeView(QWidget *parent = 0); 38 void disappear(); 39 void showWidget(QWidget *widget); currentWidget()40 QWidget *currentWidget() { return stackedWidget->currentWidget(); } getSearchView()41 SearchView *getSearchView() { return searchView; } getStandardFeedsView()42 StandardFeedsView *getStandardFeedsView() { return standardFeedsView; } 43 44 public slots: 45 void showSearch(); 46 void showStandardFeeds(); 47 void showChannels(); 48 49 private slots: 50 void appear(); 51 void unwatchedCountChanged(int count); 52 53 private: 54 void setupBar(); 55 SegmentedControl *bar; 56 QStackedWidget *stackedWidget; 57 58 SearchView *searchView; 59 StandardFeedsView *standardFeedsView; 60 ChannelView *channelsView; 61 62 QAction *subscriptionsAction; 63 }; 64 65 #endif // HOMEVIEW_H 66