]> git.sur5r.net Git - minitube/blobdiff - src/channelview.cpp
New upstream version 3.1
[minitube] / src / channelview.cpp
index d6dcd46556a34cffa93d44c3eeb486e08aecb56d..eb6ccf902f876040ae6f8324e2bf57e2a1582814 100644 (file)
@@ -19,30 +19,27 @@ along with Minitube.  If not, see <http://www.gnu.org/licenses/>.
 $END_LICENSE */
 
 #include "channelview.h"
-#include "ytchannel.h"
-#include "ytsearch.h"
-#include "searchparams.h"
-#include "channelmodel.h"
+#include "aggregatevideosource.h"
+#include "channelaggregator.h"
 #include "channelitemdelegate.h"
+#include "channelmodel.h"
 #include "database.h"
-#include "channelaggregator.h"
-#include "aggregatevideosource.h"
-#include "mainwindow.h"
 #include "iconutils.h"
+#include "mainwindow.h"
+#include "searchparams.h"
+#include "ytchannel.h"
+#include "ytsearch.h"
 #ifdef APP_EXTRA
 #include "extra.h"
 #endif
 #include "channellistview.h"
 
 namespace {
-static const QString sortByKey = "subscriptionsSortBy";
-static const QString showUpdatedKey = "subscriptionsShowUpdated";
-}
-
-ChannelView::ChannelView(QWidget *parent) : View(parent),
-    showUpdated(false),
-    sortBy(SortByName) {
+const QString sortByKey = "subscriptionsSortBy";
+const QString showUpdatedKey = "subscriptionsShowUpdated";
+} // namespace
 
+ChannelView::ChannelView(QWidget *parent) : View(parent), showUpdated(false), sortBy(SortByName) {
     QBoxLayout *layout = new QVBoxLayout(this);
     layout->setMargin(0);
     layout->setSpacing(0);
@@ -53,7 +50,8 @@ ChannelView::ChannelView(QWidget *parent) : View(parent),
     channelsModel = new ChannelModel(this);
     listView->setModel(channelsModel);
 
-    connect(listView, SIGNAL(clicked(const QModelIndex &)), SLOT(itemActivated(const QModelIndex &)));
+    connect(listView, SIGNAL(clicked(const QModelIndex &)),
+            SLOT(itemActivated(const QModelIndex &)));
     connect(listView, SIGNAL(contextMenu(QPoint)), SLOT(showContextMenu(QPoint)));
     connect(listView, SIGNAL(viewportEntered()), channelsModel, SLOT(clearHover()));
 
@@ -61,8 +59,8 @@ ChannelView::ChannelView(QWidget *parent) : View(parent),
 
     setupActions();
 
-    connect(ChannelAggregator::instance(), SIGNAL(channelChanged(YTChannel*)),
-            channelsModel, SLOT(updateChannel(YTChannel*)));
+    connect(ChannelAggregator::instance(), SIGNAL(channelChanged(YTChannel *)), channelsModel,
+            SLOT(updateChannel(YTChannel *)));
     connect(ChannelAggregator::instance(), SIGNAL(unwatchedCountChanged(int)),
             SLOT(unwatchedCountChanged(int)));
 
@@ -114,7 +112,7 @@ void ChannelView::setupActions() {
 
     QToolButton *sortButton = new QToolButton(this);
     sortButton->setText(tr("Sort by"));
-    sortButton->setIcon(IconUtils::icon("sort"));
+    IconUtils::setIcon(sortButton, "sort");
     sortButton->setIconSize(QSize(16, 16));
     sortButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
     sortButton->setPopupMode(QToolButton::InstantPopup);
@@ -124,16 +122,16 @@ void ChannelView::setupActions() {
     widgetAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_O));
     statusActions << widgetAction;
 
-    markAsWatchedAction = new QAction(
-                IconUtils::icon("mark-watched"), tr("Mark all as watched"), this);
+    markAsWatchedAction = new QAction(tr("Mark all as watched"), this);
+    IconUtils::setIcon(markAsWatchedAction, "mark-watched");
     markAsWatchedAction->setEnabled(false);
     markAsWatchedAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_W));
     connect(markAsWatchedAction, SIGNAL(triggered()), SLOT(markAllAsWatched()));
     statusActions << markAsWatchedAction;
 
     showUpdated = settings.value(showUpdatedKey, false).toBool();
-    QAction *showUpdatedAction = new QAction(
-                IconUtils::icon("show-updated"), tr("Show Updated"), this);
+    QAction *showUpdatedAction = new QAction(tr("Show Updated"), this);
+    IconUtils::setIcon(showUpdatedAction, "show-updated");
     showUpdatedAction->setCheckable(true);
     showUpdatedAction->setChecked(showUpdated);
     showUpdatedAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_U));
@@ -142,26 +140,24 @@ void ChannelView::setupActions() {
 
     for (QAction *action : statusActions) {
         window()->addAction(action);
-        IconUtils::setupAction(action);
+        MainWindow::instance()->setupAction(action);
     }
 }
 
 QString ChannelView::noSubscriptionsMessage() {
     return tr("You have no subscriptions. "
-                    "Use the star symbol to subscribe to channels.");
+              "Use the star symbol to subscribe to channels.");
 }
 
 void ChannelView::appear() {
     updateQuery();
-    for (QAction* action : statusActions)
-        MainWindow::instance()->showActionInStatusBar(action, true);
+    MainWindow::instance()->showActionsInStatusBar(statusActions, true);
     setFocus();
     ChannelAggregator::instance()->start();
 }
 
 void ChannelView::disappear() {
-    for (QAction* action : statusActions)
-        MainWindow::instance()->showActionInStatusBar(action, false);
+    MainWindow::instance()->showActionsInStatusBar(statusActions, false);
 }
 
 void ChannelView::itemActivated(const QModelIndex &index) {
@@ -200,22 +196,23 @@ void ChannelView::showContextMenu(const QPoint &point) {
     QMenu menu;
 
     if (channel->getNotifyCount() > 0) {
-        QAction *markAsWatchedAction = menu.addAction(tr("Mark as Watched"), channel, SLOT(updateWatched()));
-        connect(markAsWatchedAction, SIGNAL(triggered()),
-                ChannelAggregator::instance(), SLOT(updateUnwatchedCount()));
+        QAction *markAsWatchedAction =
+                menu.addAction(tr("Mark as Watched"), channel, SLOT(updateWatched()));
+        connect(markAsWatchedAction, SIGNAL(triggered()), ChannelAggregator::instance(),
+                SLOT(updateUnwatchedCount()));
         menu.addSeparator();
     }
 
     /*
     // TODO
-    QAction *notificationsAction = menu.addAction(tr("Receive Notifications"), user, SLOT(unsubscribe()));
-    notificationsAction->setCheckable(true);
+    QAction *notificationsAction = menu.addAction(tr("Receive Notifications"), user,
+    SLOT(unsubscribe())); notificationsAction->setCheckable(true);
     notificationsAction->setChecked(true);
     */
 
     QAction *unsubscribeAction = menu.addAction(tr("Unsubscribe"), channel, SLOT(unsubscribe()));
-    connect(unsubscribeAction, SIGNAL(triggered()),
-            ChannelAggregator::instance(), SLOT(updateUnwatchedCount()));
+    connect(unsubscribeAction, SIGNAL(triggered()), ChannelAggregator::instance(),
+            SLOT(updateUnwatchedCount()));
 
     menu.exec(mapToGlobal(point));
 }
@@ -237,8 +234,7 @@ void ChannelView::updateQuery(bool transition) {
     }
 
     QString sql = "select user_id from subscriptions";
-    if (showUpdated)
-        sql += " where notify_count>0";
+    if (showUpdated) sql += " where notify_count>0";
 
     switch (sortBy) {
     case SortByUpdated:
@@ -259,8 +255,7 @@ void ChannelView::updateQuery(bool transition) {
     }
 
 #ifdef APP_EXTRA
-    if (transition)
-        Extra::fadeInWidget(this, this);
+    if (transition) Extra::fadeInWidget(this, this);
 #endif
 
     channelsModel->setQuery(sql, Database::instance().getConnection());