]> git.sur5r.net Git - minitube/blobdiff - src/standardfeedsview.cpp
Merge tag 'upstream/2.5.1'
[minitube] / src / standardfeedsview.cpp
index 7942d0d77dce2e9084c3d922962a873e292fd9fe..799e54ddef9e7c2db09d1d793ce917f182602284 100644 (file)
@@ -30,7 +30,7 @@ namespace The {
 QHash<QString, QAction*>* globalActions();
 }
 
-StandardFeedsView::StandardFeedsView(QWidget *parent) : QWidget(parent),
+StandardFeedsView::StandardFeedsView(QWidget *parent) : View(parent),
     layout(0) {
     QPalette p = palette();
     p.setBrush(QPalette::Window, Qt::black);
@@ -50,6 +50,7 @@ StandardFeedsView::StandardFeedsView(QWidget *parent) : QWidget(parent),
 }
 
 void StandardFeedsView::load() {
+    setUpdatesEnabled(false);
     YTCategories *youTubeCategories = new YTCategories(this);
     connect(youTubeCategories, SIGNAL(categoriesLoaded(const QList<YTCategory> &)),
             SLOT(layoutCategories(const QList<YTCategory> &)));
@@ -72,9 +73,9 @@ void StandardFeedsView::load() {
         addVideoSourceWidget(feed);
 
     YTRegion region = YTRegions::currentRegion();
-    QToolButton *regionButton = MainWindow::instance()->getRegionButton();
-    regionButton->setText(region.name);
-    regionButton->setIcon(YTRegions::iconForRegionId(region.id));
+    QAction *regionAction = MainWindow::instance()->getRegionAction();
+    regionAction->setText(region.name);
+    regionAction->setIcon(YTRegions::iconForRegionId(region.id));
 }
 
 void StandardFeedsView::layoutCategories(const QList<YTCategory> &categories) {
@@ -88,6 +89,7 @@ void StandardFeedsView::layoutCategories(const QList<YTCategory> &categories) {
         feed->setFeedId("most_popular");
         addVideoSourceWidget(feed);
     }
+    if (categories.size() > 1) setUpdatesEnabled(true);
 }
 
 void StandardFeedsView::addVideoSourceWidget(VideoSource *videoSource) {
@@ -112,8 +114,7 @@ QList<YTStandardFeed*> StandardFeedsView::getMainFeeds() {
     return feeds;
 }
 
-YTStandardFeed* StandardFeedsView::buildStardardFeed(
-        QString feedId, QString label, QString time) {
+YTStandardFeed* StandardFeedsView::buildStardardFeed(const QString &feedId, const QString &label, QString time) {
     YTStandardFeed *feed = new YTStandardFeed(this);
     feed->setFeedId(feedId);
     feed->setLabel(label);
@@ -124,14 +125,18 @@ YTStandardFeed* StandardFeedsView::buildStardardFeed(
 
 void StandardFeedsView::appear() {
     setFocus();
-    if (!layout) load();
+    if (!layout) {
+        update();
+        qApp->processEvents();
+        load();
+    }
     QAction *regionAction = MainWindow::instance()->getRegionAction();
-    regionAction->setVisible(true);
+    MainWindow::instance()->showActionInStatusBar(regionAction, true);
 }
 
 void StandardFeedsView::disappear() {
     QAction *regionAction = MainWindow::instance()->getRegionAction();
-    regionAction->setVisible(false);
+    MainWindow::instance()->showActionInStatusBar(regionAction, false);
 }
 
 void StandardFeedsView::selectWorldwideRegion() {
@@ -146,6 +151,5 @@ void StandardFeedsView::selectLocalRegion() {
 
 void StandardFeedsView::paintEvent(QPaintEvent *event) {
     QWidget::paintEvent(event);
-    PainterUtils::topShadow(this);
 }