]> git.sur5r.net Git - minitube/blob - src/standardfeedsview.h
Imported Upstream version 2.1.3
[minitube] / src / standardfeedsview.h
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 CATEGORIESVIEW_H
22 #define CATEGORIESVIEW_H
23
24 #include <QtGui>
25 #include "view.h"
26
27 class VideoSource;
28 class YTCategory;
29 class YTStandardFeed;
30
31 class StandardFeedsView : public QWidget, public View {
32
33     Q_OBJECT
34
35 public:
36     StandardFeedsView(QWidget *parent = 0);
37
38 signals:
39     void activated(VideoSource *standardFeed);
40
41 public slots:
42     void appear();
43     void disappear();
44     void load();
45
46 protected:
47     void paintEvent(QPaintEvent *event);
48     
49 private slots:
50     void layoutCategories(const QList<YTCategory> &categories);
51     void selectWorldwideRegion();
52     void selectLocalRegion();
53
54 private:
55     void addVideoSourceWidget(VideoSource *videoSource);
56     QList<YTStandardFeed*> getMainFeeds();
57     YTStandardFeed* buildStardardFeed(QString feedId, QString label, QString time = QString());
58     QGridLayout *layout;
59     
60 };
61
62 #endif // CATEGORIESVIEW_H