]> git.sur5r.net Git - minitube/blobdiff - src/searchview.cpp
New upstream version 3.9.1
[minitube] / src / searchview.cpp
index c13a8301348a82ec9ab1ca26a9738c35c52f0b57..e92d97d9ebf2ca57c7c00b9c283918c9e71d1898 100644 (file)
@@ -45,6 +45,10 @@ $END_LICENSE */
 #include "messagebar.h"
 #include "painterutils.h"
 
+#ifdef UPDATER
+#include "updater.h"
+#endif
+
 namespace {
 const QString recentKeywordsKey = "recentKeywords";
 const QString recentChannelsKey = "recentChannels";
@@ -403,11 +407,7 @@ void SearchView::watchChannel(const QString &channelId) {
     }
 
     QString id = channelId;
-
-    // Fix old settings
-    const QLatin1String uc("UC");
-    if (!id.startsWith(uc)) id = uc + id;
-
+    qDebug() << "Channel" << id;
     SearchParams *searchParams = new SearchParams();
     searchParams->setChannelId(id);
     searchParams->setSortBy(SearchParams::SortByNewest);
@@ -468,8 +468,10 @@ void SearchView::maybeShowMessage() {
     if (showMessages && !settings.contains(key = "sofa")) {
         QString msg = tr("Need a remote control for %1? Try %2!").arg(Constants::NAME).arg("Sofa");
         msg = "<a href='https://" + QLatin1String(Constants::ORG_DOMAIN) + '/' + key +
-              "' style = 'text-decoration:none;color:palette(windowText)' > " + msg + "</a>";
+              "' style='text-decoration:none;color:palette(windowText)'>" + msg + "</a>";
         messageBar->setMessage(msg);
+        messageBar->setOpenExternalLinks(true);
+        disconnect(messageBar);
         connect(messageBar, &MessageBar::closed, this, [key] {
             QSettings settings;
             settings.setValue(key, true);
@@ -486,15 +488,18 @@ void SearchView::maybeShowMessage() {
 #ifdef APP_ACTIVATION
             oneYearUsage = (QDateTime::currentSecsSinceEpoch() -
                             Activation::instance().getLicenseTimestamp()) > 86400 * 365;
+#elif defined APP_MAC_STORE
+            oneYearUsage = false;
 #endif
             if (oneYearUsage) {
                 QString msg =
                         tr("I keep improving %1 to make it the best I can. Support this work!")
                                 .arg(Constants::NAME);
                 msg = "<a href='https://" + QLatin1String(Constants::ORG_DOMAIN) + "/donate" +
-                      "' style = 'text-decoration:none;color:palette(windowText)' > " + msg +
-                      "</a>";
+                      "' style='text-decoration:none;color:palette(windowText)'>" + msg + "</a>";
                 messageBar->setMessage(msg);
+                messageBar->setOpenExternalLinks(true);
+                disconnect(messageBar);
                 connect(messageBar, &MessageBar::closed, this, [key] {
                     QSettings settings;
                     settings.setValue(key, true);
@@ -503,4 +508,22 @@ void SearchView::maybeShowMessage() {
             }
         }
     }
+
+#ifdef UPDATER
+    connect(&Updater::instance(), &Updater::statusChanged, this, [this](auto status) {
+        if (status == Updater::Status::UpdateDownloaded) {
+            QString msg = tr("An update is ready to be installed. Quit and install update.");
+            msg = "<a href='http://quit' style='text-decoration:none;color:palette(windowText)'>" +
+                  msg + "</a>";
+            messageBar->setMessage(msg);
+            messageBar->setOpenExternalLinks(false);
+            disconnect(messageBar);
+            connect(messageBar, &MessageBar::linkActivated, this, [] {
+                Updater::instance().setRelaunchAfterInstall(true);
+                qApp->quit();
+            });
+            messageBar->show();
+        }
+    });
+#endif
 }