]> git.sur5r.net Git - minitube/blobdiff - src/mainwindow.cpp
New upstream version 3.8
[minitube] / src / mainwindow.cpp
index 9523ff976bd7cd737f5052e487c4e76cce91d403..8b001ac0864d24e98fc67ddce7d113973c82eaa2 100644 (file)
@@ -79,8 +79,8 @@ $END_LICENSE */
 #include "ytregions.h"
 
 #include "invidious.h"
+#include "js.h"
 #include "videoapi.h"
-#include "ytjs.h"
 
 #ifdef MEDIA_QTAV
 #include "mediaqtav.h"
@@ -93,6 +93,8 @@ $END_LICENSE */
 #include "updater.h"
 #endif
 
+#include "subscriptionimportview.h"
+
 namespace {
 MainWindow *mainWindowInstance;
 }
@@ -169,7 +171,10 @@ MainWindow::MainWindow()
     } else if (VideoAPI::impl() == VideoAPI::YT3) {
         YT3::instance().initApiKeys();
     } else if (VideoAPI::impl() == VideoAPI::JS) {
-        YTJS::instance();
+        JS::instance().getNamFactory().setRequestHeaders(
+                {{"User-Agent", HttpUtils::stealthUserAgent()}});
+        JS::instance().initialize(QUrl(QLatin1String(Constants::WEBSITE) + "-ws/bundle2.js"));
+        /// JS::instance().initialize(QUrl("http://localhost:8000/bundle-test.js"));
         Invidious::instance().initServers();
     }
 
@@ -192,7 +197,8 @@ void MainWindow::lazyInit() {
             searchParams->setKeywords(query);
             showMedia(searchParams);
         }
-    }
+    } else
+        showMessage(tr("Make yourself comfortable"));
 
     // Global shortcuts
     GlobalShortcuts &shortcuts = GlobalShortcuts::instance();
@@ -683,6 +689,17 @@ void MainWindow::createActions() {
     connect(action, SIGNAL(triggered()), SLOT(toggleToolbarMenu()));
     actionMap.insert("toolbarMenu", action);
 
+    action = new QAction(tr("Import Subscriptions..."), this);
+    action->setMenuRole(QAction::ApplicationSpecificRole);
+    connect(action, &QAction::triggered, this, [this] {
+        if (!subscriptionImportView) {
+            subscriptionImportView = new SubscriptionImportView(this);
+            views->addWidget(subscriptionImportView);
+        }
+        showView(subscriptionImportView);
+    });
+    actionMap.insert("importSubscriptions", action);
+
 #ifdef APP_MAC_STORE
     action = new QAction(tr("&Love %1? Rate it!").arg(Constants::NAME), this);
     actionMap.insert("appStore", action);
@@ -1064,16 +1081,20 @@ void MainWindow::showView(View *view, bool transition) {
     // call hide method on the current view
     View *oldView = qobject_cast<View *>(views->currentWidget());
     if (oldView) {
+        oldView->willDisappear();
         oldView->disappear();
         oldView->setEnabled(false);
         oldView->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
     } else
         qDebug() << "Cannot cast old view";
 
+    view->willAppear();
     view->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
     view->setEnabled(true);
     views->setCurrentWidget(view);
     view->appear();
+    view->didAppear();
+    if (oldView) oldView->didDisappear();
 
     QString title = view->getTitle();
     if (title.isEmpty())