]> git.sur5r.net Git - minitube/blobdiff - src/refinesearchwidget.cpp
New upstream version 3.1
[minitube] / src / refinesearchwidget.cpp
index d82a227c12e80b0f9d876e2a995bc7dadd315ea9..4840d25c304b0885a50e252e6beae82709539eb9 100644 (file)
@@ -24,14 +24,12 @@ $END_LICENSE */
 #include "extra.h"
 #endif
 #include "iconutils.h"
+#include "mainwindow.h"
 
-namespace The {
-QHash<QString, QAction*>* globalActions();
-}
-
-RefineSearchWidget::RefineSearchWidget(QWidget *parent) :
-    QWidget(parent) {
+RefineSearchWidget::RefineSearchWidget(QWidget *parent) : QWidget(parent) {
     dirty = false;
+    // Fixes background painting in fullscreen
+    setAutoFillBackground(true);
 }
 
 void RefineSearchWidget::setup() {
@@ -49,14 +47,11 @@ void RefineSearchWidget::setup() {
     QString paramName = "sortBy";
     setupLabel(tr("Sort by"), layout, paramName);
     QToolBar *sortBar = setupBar(paramName);
-    QActionGroup* sortGroup = new QActionGroup(this);
-    QStringList sortOptions = QStringList()
-            << tr("Relevance")
-            << tr("Date")
-            << tr("View Count")
-            << tr("Rating");
+    QActionGroup *sortGroup = new QActionGroup(this);
+    const QStringList sortOptions = QStringList() << tr("Relevance") << tr("Date")
+                                                  << tr("View Count") << tr("Rating");
     int i = 0;
-    foreach (const QString &actionName, sortOptions) {
+    for (const QString &actionName : sortOptions) {
         QAction *action = new QAction(actionName, sortBar);
         action->setCheckable(true);
         action->setProperty("paramValue", i);
@@ -69,14 +64,11 @@ void RefineSearchWidget::setup() {
     layout->addSpacing(spacing);
     setupLabel(tr("Date"), layout, paramName);
     QToolBar *timeBar = setupBar(paramName);
-    QActionGroup* timeGroup = new QActionGroup(this);
-    QStringList timeSpans = QStringList()
-            << tr("Anytime")
-            << tr("Today")
-            << tr("7 Days")
-            << tr("30 Days");
+    QActionGroup *timeGroup = new QActionGroup(this);
+    const QStringList timeSpans = QStringList()
+                                  << tr("Anytime") << tr("Today") << tr("7 Days") << tr("30 Days");
     i = 0;
-    foreach (const QString &actionName, timeSpans) {
+    for (const QString &actionName : timeSpans) {
         QAction *action = new QAction(actionName, timeBar);
         action->setCheckable(true);
         action->setProperty("paramValue", i);
@@ -89,19 +81,14 @@ void RefineSearchWidget::setup() {
     layout->addSpacing(spacing);
     setupLabel(tr("Duration"), layout, paramName);
     QToolBar *lengthBar = setupBar(paramName);
-    QActionGroup* lengthGroup = new QActionGroup(this);
-    QStringList lengthOptions = QStringList()
-            << tr("All")
-            << tr("Short")
-            << tr("Medium")
-            << tr("Long");
+    QActionGroup *lengthGroup = new QActionGroup(this);
+    const QStringList lengthOptions = QStringList()
+                                      << tr("All") << tr("Short") << tr("Medium") << tr("Long");
     QStringList tips = QStringList()
-            << ""
-            << tr("Less than 4 minutes")
-            << tr("Between 4 and 20 minutes")
-            << tr("Longer than 20 minutes");
+                       << "" << tr("Less than 4 minutes") << tr("Between 4 and 20 minutes")
+                       << tr("Longer than 20 minutes");
     i = 0;
-    foreach (const QString &actionName, lengthOptions) {
+    for (const QString &actionName : lengthOptions) {
         QAction *action = new QAction(actionName, timeBar);
         action->setStatusTip(tips.at(i));
         action->setCheckable(true);
@@ -115,15 +102,11 @@ void RefineSearchWidget::setup() {
     layout->addSpacing(spacing);
     setupLabel(tr("Quality"), layout, paramName);
     QToolBar *qualityBar = setupBar(paramName);
-    QActionGroup* qualityGroup = new QActionGroup(this);
-    QStringList qualityOptions = QStringList()
-            << tr("All")
-            << tr("High Definition");
-    tips = QStringList()
-            << ""
-            << tr("720p or higher");
+    QActionGroup *qualityGroup = new QActionGroup(this);
+    const QStringList qualityOptions = QStringList() << tr("All") << tr("High Definition");
+    tips = QStringList() << "" << tr("720p or higher");
     i = 0;
-    foreach (const QString &actionName, qualityOptions) {
+    for (const QString &actionName : qualityOptions) {
         QAction *action = new QAction(actionName, timeBar);
         action->setStatusTip(tips.at(i));
         action->setCheckable(true);
@@ -147,8 +130,10 @@ void RefineSearchWidget::setup() {
     layout->addWidget(doneButton, 0, Qt::AlignLeft);
 }
 
-void RefineSearchWidget::setupLabel(const QString &text, QBoxLayout *layout, const QString &paramName) {
-    QBoxLayout* hLayout = new QHBoxLayout();
+void RefineSearchWidget::setupLabel(const QString &text,
+                                    QBoxLayout *layout,
+                                    const QString &paramName) {
+    QBoxLayout *hLayout = new QHBoxLayout();
     hLayout->setSpacing(8);
     hLayout->setMargin(0);
     hLayout->setAlignment(Qt::AlignVCenter);
@@ -156,7 +141,10 @@ void RefineSearchWidget::setupLabel(const QString &text, QBoxLayout *layout, con
     QLabel *icon = new QLabel(this);
     icon->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
     QString resource = paramName;
-    QPixmap pixmap = IconUtils::pixmap(":/images/search-" + resource + ".png");
+    QByteArray iconName = QByteArrayLiteral("search-") + resource.toLatin1();
+    QPixmap pixmap = IconUtils::iconPixmap(iconName.constData(), 16, palette().window().color(),
+                                           devicePixelRatioF());
+
     /*
     QPixmap translucentPixmap(pixmap.size());
     translucentPixmap.fill(Qt::transparent);
@@ -177,12 +165,12 @@ void RefineSearchWidget::setupLabel(const QString &text, QBoxLayout *layout, con
     layout->addLayout(hLayout);
 }
 
-QToolBarRefineSearchWidget::setupBar(const QString &paramName) {
-    QToolBarbar = new QToolBar(this);
+QToolBar *RefineSearchWidget::setupBar(const QString &paramName) {
+    QToolBar *bar = new QToolBar(this);
     bar->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
     // bar->setProperty("segmented", true);
     bar->setProperty("paramName", paramName);
-    connect(bar, SIGNAL(actionTriggered(QAction*)), SLOT(actionTriggered(QAction*)));
+    connect(bar, SIGNAL(actionTriggered(QAction *)), SLOT(actionTriggered(QAction *)));
     bars.insert(paramName, bar);
     layout()->addWidget(bar);
     return bar;
@@ -207,13 +195,13 @@ void RefineSearchWidget::actionTriggered(QAction *action) {
 void RefineSearchWidget::setSearchParams(SearchParams *params) {
     setup();
 
-    The::globalActions()->value("refine-search")->setEnabled(params);
+    MainWindow::instance()->getAction("refineSearch")->setEnabled(params);
     setEnabled(params);
 
     if (!params) return;
 
-    QToolBarbar;
-    QActionaction;
+    QToolBar *bar;
+    QAction *action;
 
     bar = bars.value("sortBy");
     action = bar->actions().at(params->sortBy());
@@ -231,10 +219,9 @@ void RefineSearchWidget::setSearchParams(SearchParams *params) {
     action = bar->actions().at(params->quality());
     if (action) action->setChecked(true);
 
-    disconnect(SIGNAL(paramChanged(QString,QVariant)));
-    connect(this, SIGNAL(paramChanged(QString,QVariant)),
-            params, SLOT(setParam(QString,QVariant)),
-            Qt::UniqueConnection);
+    disconnect(SIGNAL(paramChanged(QString, QVariant)));
+    connect(this, SIGNAL(paramChanged(QString, QVariant)), params,
+            SLOT(setParam(QString, QVariant)), Qt::UniqueConnection);
 
     dirty = false;