From ed0194c97d6ba887130d5fee1e8c8cb322d8b2fd Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 18 Feb 2019 16:25:44 +0530 Subject: [PATCH 1/8] Add keybinds file conf --- src/mainwindow.cpp | 117 ++++++++++++++++++++++++++------------------- src/mainwindow.h | 40 +++++++++------- 2 files changed, 91 insertions(+), 66 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 3e8f261..924af1f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -24,8 +24,10 @@ MainWindow::MainWindow(QWidget *parent) mprisType(typeid(DummyMprisInterface)), mpris(new DummyMprisInterface) { QWebEngineSettings::globalSettings()->setAttribute( QWebEngineSettings::PluginsEnabled, true); - appSettings = new QSettings("Qtwebflix", "Save State", this); - QWebEngineProfile::defaultProfile()->setPersistentCookiesPolicy(QWebEngineProfile::ForcePersistentCookies); + stateSettings = new QSettings("Qtwebflix", "Save State", this); + keySettings = new QSettings("Qtwebflix", "keybinds", this); + QWebEngineProfile::defaultProfile()->setPersistentCookiesPolicy( + QWebEngineProfile::ForcePersistentCookies); // set playbackrate and read jquery file playRate = 1.0; @@ -43,11 +45,11 @@ MainWindow::MainWindow(QWidget *parent) webview = new QWebEngineView; ui->horizontalLayout->addWidget(webview); - if (appSettings->value("site").toString() == "") { + if (stateSettings->value("site").toString() == "") { webview->setUrl(QUrl(QStringLiteral("http://netflix.com"))); } else { - webview->setUrl(QUrl(appSettings->value("site").toString())); + webview->setUrl(QUrl(stateSettings->value("site").toString())); } webview->settings()->setAttribute( QWebEngineSettings::FullScreenSupportEnabled, true); @@ -60,40 +62,20 @@ MainWindow::MainWindow(QWidget *parent) connect(webview->page(), &QWebEnginePage::fullScreenRequested, this, &MainWindow::fullScreenRequested); - - // key short cuts - - // F11 - keyF11 = new QShortcut(this); // Initialize the object - keyF11->setKey(Qt::Key_F11); // Set the key code - // connect handler to keypress - connect(keyF11, SIGNAL(activated()), this, SLOT(slotShortcutF11())); - - // Ctrl + Q - keyCtrlQ = new QShortcut(this); // Initialize the object - keyCtrlQ->setKey(Qt::CTRL + Qt::Key_Q); // Set the key code - // connect handler to keypress - connect(keyCtrlQ, SIGNAL(activated()), this, SLOT(slotShortcutCtrlQ())); - - // Ctrl + W - keyCtrlW = new QShortcut(this); - keyCtrlW->setKey(Qt::CTRL + Qt::Key_W); // Set the key code - connect(keyCtrlW, SIGNAL(activated()), this, SLOT(slotShortcutCtrlW())); - - // Ctrl + S - keyCtrlS = new QShortcut(this); - keyCtrlS->setKey(Qt::CTRL + Qt::Key_S); // Set the key code - connect(keyCtrlS, SIGNAL(activated()), this, SLOT(slotShortcutCtrlS())); - - // Ctrl + R - keyCtrlR = new QShortcut(this); - keyCtrlR->setKey(Qt::CTRL + Qt::Key_R); // Set the key code - connect(keyCtrlR, SIGNAL(activated()), this, SLOT(slotShortcutCtrlR())); - - // Ctrl + F5 - keyCtrlF5 = new QShortcut(this); - keyCtrlF5->setKey(Qt::CTRL + Qt::Key_F5); // Set the key code - connect(keyCtrlF5, SIGNAL(activated()), this, SLOT(slotShortcutCtrlF5())); + actions["fullscreen-toggle"] = std::make_pair(this, SLOT(slotShortcutF11())); + actions["quit"] = std::make_pair(this, SLOT(slotShortcutCtrlQ())); + actions["speed-up"] = std::make_pair(this, SLOT(slotShortcutCtrlW())); + actions["speed-down"] = std::make_pair(this, SLOT(slotShortcutCtrlS())); + actions["speed-default"] = std::make_pair(this, SLOT(slotShortcutCtrlR())); + actions["reload"] = std::make_pair(this, SLOT(this->slotShortcutCtrlF5())); + + // default key shortcuts + registerShortcut("fullscreen-toggle", "F11"); + registerShortcut("quit", "Ctrl+Q"); + registerShortcut("speed-up", "Ctrl+W"); + registerShortcut("speed-down", "Ctrl+S"); + registerShortcut("speed-default", "Ctrl+R"); + registerShortcut("reload", "Ctrl+F5"); // Connect finished loading boolean connect(webview, &QWebEngineView::loadFinished, this, @@ -110,7 +92,10 @@ MainWindow::MainWindow(QWidget *parent) mpris->setup(this); } -MainWindow::~MainWindow() { delete ui; } +MainWindow::~MainWindow() { + delete ui; + qDeleteAll(shortcuts); +} // Slot handler of F11 void MainWindow::slotShortcutF11() { @@ -130,18 +115,50 @@ void MainWindow::slotShortcutCtrlQ() { void MainWindow::finishLoading(bool) { exchangeMprisInterfaceIfNeeded(); } +void MainWindow::registerShortcut(QString actionName, QString key) { + qDebug() << "binding " << key << " -> " << actionName; + + QShortcut *shortcut = shortcuts.value(key, nullptr); + if (!shortcut) { + shortcut = new QShortcut(key, this); + shortcuts[key] = shortcut; + } else { + disconnect(shortcut, SIGNAL(activated()), 0, 0); + } + auto action = actions[actionName]; + connect(shortcut, SIGNAL(activated()), action.first, action.second); +} + +void MainWindow::registerMprisKeybinds() { + actions["play"] = std::make_pair(mpris.get(), SLOT(playVideo())); + actions["pause"] = std::make_pair(mpris.get(), SLOT(pauseVideo())); + actions["play-pause"] = std::make_pair(mpris.get(), SLOT(togglePlayPause())); + actions["next-episode"] = std::make_pair(mpris.get(), SLOT(goNextEpisode())); + + for (auto action : keySettings->allKeys()) { + auto keySequence = keySettings->value(action).toStringList().join(','); + for (auto key : + keySequence.split(QRegExp("\\s+"), QString::SkipEmptyParts)) { + registerShortcut(action, key); + } + } +} + void MainWindow::exchangeMprisInterfaceIfNeeded() { QString hostname = webview->url().host(); if (hostname.endsWith("netflix.com")) { setMprisInterface(); } else if (hostname.endsWith("amazon.com")) { - //use javascript to change useragent to watch HD Amazon Prime Videos as using QT crashes the program. - QString code = "window.navigator.__defineGetter__('userAgent', function () {" - "return 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36 OPR/55.0.2994.34 (Edition beta)';" - "});"; - + // use javascript to change useragent to watch HD Amazon Prime Videos as + // using QT crashes the program. + QString code = + "window.navigator.__defineGetter__('userAgent', function () {" + "return 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " + "(KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36 " + "OPR/55.0.2994.34 (Edition beta)';" + "});"; - webView()->page()->runJavaScript(code); + webView()->page()->runJavaScript(code); setMprisInterface(); } else { @@ -242,20 +259,20 @@ void MainWindow::closeEvent(QCloseEvent *) { void MainWindow::writeSettings() { // Write the values to disk in categories. - appSettings->setValue("state/mainWindowState", saveState()); - appSettings->setValue("geometry/mainWindowGeometry", saveGeometry()); + stateSettings->setValue("state/mainWindowState", saveState()); + stateSettings->setValue("geometry/mainWindowGeometry", saveGeometry()); QString site = webview->url().toString(); - appSettings->setValue("site", site); + stateSettings->setValue("site", site); qDebug() << " write settings:" << site; } void MainWindow::restore() { QByteArray stateData = - appSettings->value("state/mainWindowState").toByteArray(); + stateSettings->value("state/mainWindowState").toByteArray(); QByteArray geometryData = - appSettings->value("geometry/mainWindowGeometry").toByteArray(); + stateSettings->value("geometry/mainWindowGeometry").toByteArray(); restoreState(stateData); restoreGeometry(geometryData); diff --git a/src/mainwindow.h b/src/mainwindow.h index cefccb5..d74d04e 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -1,21 +1,24 @@ #ifndef MAINWINDOW_H #define MAINWINDOW_H -#include +#include #include +#include #include #include #include #include +#include #include +#include #include #include #include #include -#include "urlrequestinterceptor.h" #include "mprisinterface.h" +#include "urlrequestinterceptor.h" namespace Ui { class MainWindow; @@ -26,10 +29,10 @@ class MainWindow : public QMainWindow { public: explicit MainWindow(QWidget *parent = nullptr); -// void set_provider(QString); -// void set_useragent(QString); -// void parseCommand(QCommandLineParser &); - void parseCommand(); + // void set_provider(QString); + // void set_useragent(QString); + // void parseCommand(QCommandLineParser &); + void parseCommand(); ~MainWindow(); // QAction amazon(); void setFullScreen(bool fullscreen); @@ -54,39 +57,44 @@ private slots: Ui::MainWindow *ui; QWebEngineView *webview; QString jQuery; + double playRate; QString playRateStr; - QShortcut *keyF11; // Entity of F11 hotkey - QShortcut *keyCtrlQ; // Entity of Ctrl + D hotkeys - QShortcut *keyCtrlW; // Entity of Crtl + W hotkey - QShortcut *keyCtrlS; // Entity of Crtl + S hotkey - QShortcut *keyCtrlR; // Entity of Crtl + R hotkey - QShortcut *keyCtrlF5; // Entity of Crtl + R hotkey - QSettings *appSettings; + + QSettings *stateSettings; + QSettings *keySettings; QSettings *provSettings; + std::type_index mprisType; std::unique_ptr mpris; + void fullScreenRequested(QWebEngineFullScreenRequest request); void writeSettings(); void readSettings(); void restore(); void exchangeMprisInterfaceIfNeeded(); + void registerShortcut(QString, QString); + void registerMprisKeybinds(); + + QMap> actions; + QMap shortcuts; UrlRequestInterceptor *m_interceptor; - template - bool setMprisInterface() { + template bool setMprisInterface() { std::type_index newType(typeid(Interface)); if (mprisType == newType) { return false; } - qDebug() << "Transitioning to new MPRIS interface: " << typeid(Interface).name(); + qDebug() << "Transitioning to new MPRIS interface: " + << typeid(Interface).name(); mprisType = newType; mpris.reset(); mpris = std::make_unique(); mpris->setup(this); + registerMprisKeybinds(); return true; } }; From c9811d2872a68d7c36bbbe51aa03de0c7bd3dd41 Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 18 Feb 2019 17:52:14 +0530 Subject: [PATCH 2/8] Fixup CtrlF5 binding typo --- src/mainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 924af1f..2515243 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -67,7 +67,7 @@ MainWindow::MainWindow(QWidget *parent) actions["speed-up"] = std::make_pair(this, SLOT(slotShortcutCtrlW())); actions["speed-down"] = std::make_pair(this, SLOT(slotShortcutCtrlS())); actions["speed-default"] = std::make_pair(this, SLOT(slotShortcutCtrlR())); - actions["reload"] = std::make_pair(this, SLOT(this->slotShortcutCtrlF5())); + actions["reload"] = std::make_pair(this, SLOT(slotShortcutCtrlF5())); // default key shortcuts registerShortcut("fullscreen-toggle", "F11"); From 41b7fdcf8a80dd33cad30c65755723acf23bf73b Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 19 Feb 2019 10:26:50 +0530 Subject: [PATCH 3/8] Refracto context menu (right click) `keybinds` and `providers` config are now under the same `qtwebflix.conf` file --- src/mainwindow.cpp | 83 +++++++++++++++++++++------------------------- src/mainwindow.h | 7 ++-- 2 files changed, 42 insertions(+), 48 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 2515243..cbe85f7 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1,6 +1,5 @@ #include #include -#include #include #include #include @@ -25,7 +24,7 @@ MainWindow::MainWindow(QWidget *parent) QWebEngineSettings::globalSettings()->setAttribute( QWebEngineSettings::PluginsEnabled, true); stateSettings = new QSettings("Qtwebflix", "Save State", this); - keySettings = new QSettings("Qtwebflix", "keybinds", this); + appSettings = new QSettings("Qtwebflix", "qtwebflix", this); QWebEngineProfile::defaultProfile()->setPersistentCookiesPolicy( QWebEngineProfile::ForcePersistentCookies); @@ -134,14 +133,18 @@ void MainWindow::registerMprisKeybinds() { actions["pause"] = std::make_pair(mpris.get(), SLOT(pauseVideo())); actions["play-pause"] = std::make_pair(mpris.get(), SLOT(togglePlayPause())); actions["next-episode"] = std::make_pair(mpris.get(), SLOT(goNextEpisode())); + actions["seek-next"] = std::make_pair(mpris.get(), SLOT(setSeek(10))); + actions["seek-prev"] = std::make_pair(mpris.get(), SLOT(setSeek(-10))); - for (auto action : keySettings->allKeys()) { - auto keySequence = keySettings->value(action).toStringList().join(','); + appSettings->beginGroup("keybinds"); + for (auto action : appSettings->allKeys()) { + auto keySequence = appSettings->value(action).toStringList().join(','); for (auto key : keySequence.split(QRegExp("\\s+"), QString::SkipEmptyParts)) { registerShortcut(action, key); } } + appSettings->endGroup(); } void MainWindow::exchangeMprisInterfaceIfNeeded() { @@ -278,7 +281,35 @@ void MainWindow::restore() { restoreGeometry(geometryData); } -void MainWindow::readSettings() { restore(); } +void MainWindow::createContextMenu(const QStringList &keys) { + for (const auto &i : keys) { + if (!i.startsWith("#")) { + QString url = appSettings->value(i).toString(); + contextMenu.addAction(i, [this, url]() { + qDebug() << "URL is :" << url; + webview->setUrl(QUrl(url)); + }); + contextMenu.addSeparator(); + } + } +} + +void MainWindow::readSettings() { + appSettings->beginGroup("providers"); + QStringList providers = appSettings->allKeys(); + + // Check if config file exists,if not create a default key. + if (!providers.size()) { + qDebug() << "Config file does not exist, creating default"; + appSettings->setValue("netflix", "http://netflix.com"); + appSettings->sync(); + providers = appSettings->allKeys(); + } + appSettings->endGroup(); + createContextMenu(providers); + + restore(); +} void MainWindow::fullScreenRequested(QWebEngineFullScreenRequest request) { @@ -295,48 +326,8 @@ void MainWindow::fullScreenRequested(QWebEngineFullScreenRequest request) { void MainWindow::ShowContextMenu(const QPoint &pos) // this is a slot { - QPoint globalPos = webview->mapToGlobal(pos); - provSettings = new QSettings("Qtwebflix", "Providers", this); - provSettings->setIniCodec("UTF-8"); - provSettings->beginGroup("providers"); - QString conf(provSettings->fileName()); - - // Check if config file exists,if not create a default key. - if (!QFile::exists(conf)) - - { - qDebug() << "Config file does not exist, creating default"; - provSettings->setValue("netflix", "http://netflix.com"); - provSettings->sync(); - } - - QStringList keys = provSettings->allKeys(); - - QMenu myMenu; - for (const auto &i : keys) { - // qDebug() << "keys" << i; - - if (!i.startsWith("#")) { - myMenu.addAction(i); - myMenu.addSeparator(); - } - } - - QAction *selectedItem = myMenu.exec(globalPos); - - if (selectedItem == nullptr) { - return; - } else if (selectedItem) { - QString url = provSettings->value(selectedItem->text()).toString(); - qDebug() << "URL is :" << url; - webview->setUrl(QUrl(url)); - provSettings->endGroup(); - } - - else { - // nothing was chosen - } + QAction *selectedItem = contextMenu.exec(globalPos); } void MainWindow::parseCommand() { diff --git a/src/mainwindow.h b/src/mainwindow.h index d74d04e..69014f4 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -62,8 +63,9 @@ private slots: QString playRateStr; QSettings *stateSettings; - QSettings *keySettings; - QSettings *provSettings; + QSettings *appSettings; + + QMenu contextMenu; std::type_index mprisType; std::unique_ptr mpris; @@ -75,6 +77,7 @@ private slots: void exchangeMprisInterfaceIfNeeded(); void registerShortcut(QString, QString); void registerMprisKeybinds(); + void createContextMenu(const QStringList &keys); QMap> actions; QMap shortcuts; From fabbbb76a1f24acb0f13976a1694fe3d55105e47 Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 10 Jun 2019 10:56:49 +0200 Subject: [PATCH 4/8] Fix context menu not workin --- src/Makefile | 776 --------------------------------------------- src/mainwindow.cpp | 8 +- 2 files changed, 5 insertions(+), 779 deletions(-) delete mode 100644 src/Makefile diff --git a/src/Makefile b/src/Makefile deleted file mode 100644 index 17dba35..0000000 --- a/src/Makefile +++ /dev/null @@ -1,776 +0,0 @@ -############################################################################# -# Makefile for building: ../qtwebflix -# Generated by qmake (3.1) (Qt 5.12.1) -# Project: src.pro -# Template: app -# Command: /usr/bin/qmake -o Makefile src.pro -############################################################################# - -MAKEFILE = Makefile - -EQ = = - -####### Compiler, tools and options - -CC = gcc -CXX = g++ -DEFINES = -DQT_DEPRECATED_WARNINGS -DHAS_SCROLLBAR -DGIT_VERSION=\"0.1-163-gbf7dee5\" -DQT_NO_DEBUG -DQT_WEBENGINEWIDGETS_LIB -DQT_WEBENGINECORE_LIB -DQT_QUICK_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_WEBCHANNEL_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_POSITIONING_LIB -DQT_DBUS_LIB -DQT_CORE_LIB -CFLAGS = -pipe -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -Wall -W -D_REENTRANT -fPIC $(DEFINES) -CXXFLAGS = -pipe -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -Wall -W -D_REENTRANT -fPIC $(DEFINES) -INCPATH = -I. -I../lib/qtdbusextended/src -I../lib/qtmpris/src -isystem /usr/include/qt -isystem /usr/include/qt/QtWebEngineWidgets -isystem /usr/include/qt/QtWebEngineCore -isystem /usr/include/qt/QtQuick -isystem /usr/include/qt/QtPrintSupport -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtWebChannel -isystem /usr/include/qt/QtQml -isystem /usr/include/qt/QtNetwork -isystem /usr/include/qt/QtPositioning -isystem /usr/include/qt/QtDBus -isystem /usr/include/qt/QtCore -I. -isystem /usr/include/libdrm -I. -I/usr/lib/qt/mkspecs/linux-g++ -QMAKE = /usr/bin/qmake -DEL_FILE = rm -f -CHK_DIR_EXISTS= test -d -MKDIR = mkdir -p -COPY = cp -f -COPY_FILE = cp -f -COPY_DIR = cp -f -R -INSTALL_FILE = install -m 644 -p -INSTALL_PROGRAM = install -m 755 -p -INSTALL_DIR = cp -f -R -QINSTALL = /usr/bin/qmake -install qinstall -QINSTALL_PROGRAM = /usr/bin/qmake -install qinstall -exe -DEL_FILE = rm -f -SYMLINK = ln -f -s -DEL_DIR = rmdir -MOVE = mv -f -TAR = tar -cf -COMPRESS = gzip -9f -DISTNAME = qtwebflix1.0.0 -DISTDIR = /home/ghjkl/work/perso/qtwebflix/src/.tmp/qtwebflix1.0.0 -LINK = g++ -LFLAGS = -Wl,-O1 -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -Wl,-rpath-link,/usr/lib -LIBS = $(SUBLIBS) -L../lib -ldbusextended-qt5 -lmpris-qt5 -lQt5WebEngineWidgets -lQt5WebEngineCore -lQt5Quick -lQt5PrintSupport -lQt5Widgets -lQt5Gui -lQt5WebChannel -lQt5Qml -lQt5Network -lQt5Positioning -lQt5DBus -lQt5Core /usr/lib/libGL.so -lpthread -AR = ar cqs -RANLIB = -SED = sed -STRIP = strip - -####### Output directory - -OBJECTS_DIR = ./ - -####### Files - -SOURCES = main.cpp \ - mainwindow.cpp \ - urlrequestinterceptor.cpp \ - commandlineparser.cpp \ - mprisinterface.cpp \ - dummymprisinterface.cpp \ - netflixmprisinterface.cpp \ - amazonmprisinterface.cpp qrc_jquery.cpp \ - qrc_qmake_qmake_immediate.cpp \ - moc_mainwindow.cpp \ - moc_urlrequestinterceptor.cpp \ - moc_mprisinterface.cpp \ - moc_dummymprisinterface.cpp \ - moc_netflixmprisinterface.cpp \ - moc_amazonmprisinterface.cpp -OBJECTS = main.o \ - mainwindow.o \ - urlrequestinterceptor.o \ - commandlineparser.o \ - mprisinterface.o \ - dummymprisinterface.o \ - netflixmprisinterface.o \ - amazonmprisinterface.o \ - qrc_jquery.o \ - qrc_qmake_qmake_immediate.o \ - moc_mainwindow.o \ - moc_urlrequestinterceptor.o \ - moc_mprisinterface.o \ - moc_dummymprisinterface.o \ - moc_netflixmprisinterface.o \ - moc_amazonmprisinterface.o -DIST = /usr/lib/qt/mkspecs/features/spec_pre.prf \ - /usr/lib/qt/mkspecs/common/unix.conf \ - /usr/lib/qt/mkspecs/common/linux.conf \ - /usr/lib/qt/mkspecs/common/sanitize.conf \ - /usr/lib/qt/mkspecs/common/gcc-base.conf \ - /usr/lib/qt/mkspecs/common/gcc-base-unix.conf \ - /usr/lib/qt/mkspecs/common/g++-base.conf \ - /usr/lib/qt/mkspecs/common/g++-unix.conf \ - /usr/lib/qt/mkspecs/qconfig.pri \ - /usr/lib/qt/mkspecs/modules/qt_BluezQt.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_accessibility_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_bootstrap_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_concurrent.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_concurrent_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_core.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_core_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_dbus.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_dbus_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_designer.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_designer_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_designercomponents_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_edid_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_egl_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_fb_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_glx_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_gui.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_gui_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_help.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_help_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_input_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_kms_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_location.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_location_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_network.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_network_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_opengl.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_opengl_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_openglextensions.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_openglextensions_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_packetprotocol_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_positioning.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_positioning_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_positioningquick.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_positioningquick_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_printsupport.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_printsupport_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_qml.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_qml_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_qmldebug_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_qmldevtools_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_qmltest.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_qmltest_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_quick.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_quick_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_quickparticles_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_quickshapes_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_quickwidgets.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_quickwidgets_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_service_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_sql.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_sql_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_svg.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_svg_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_testlib.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_testlib_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_theme_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_uiplugin.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_uitools.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_uitools_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_vulkan_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webchannel.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webchannel_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webengine.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webengine_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginecore.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginecore_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginecoreheaders_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_widgets.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_widgets_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_x11extras.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_x11extras_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_xml.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_xml_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_xmlpatterns.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_xmlpatterns_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_phonon4qt5.pri \ - /usr/lib/qt/mkspecs/features/qt_functions.prf \ - /usr/lib/qt/mkspecs/features/qt_config.prf \ - /usr/lib/qt/mkspecs/linux-g++/qmake.conf \ - /usr/lib/qt/mkspecs/features/spec_post.prf \ - ../.qmake.stash \ - /usr/lib/qt/mkspecs/features/exclusive_builds.prf \ - /usr/lib/qt/mkspecs/features/toolchain.prf \ - /usr/lib/qt/mkspecs/features/default_pre.prf \ - /usr/lib/qt/mkspecs/features/resolve_config.prf \ - /usr/lib/qt/mkspecs/features/default_post.prf \ - /usr/lib/qt/mkspecs/features/warn_on.prf \ - /usr/lib/qt/mkspecs/features/qt.prf \ - /usr/lib/qt/mkspecs/features/resources.prf \ - /usr/lib/qt/mkspecs/features/moc.prf \ - /usr/lib/qt/mkspecs/features/dbuscommon.pri \ - /usr/lib/qt/mkspecs/features/dbusinterfaces.prf \ - /usr/lib/qt/mkspecs/features/dbusadaptors.prf \ - /usr/lib/qt/mkspecs/features/unix/opengl.prf \ - /usr/lib/qt/mkspecs/features/uic.prf \ - /usr/lib/qt/mkspecs/features/unix/thread.prf \ - /usr/lib/qt/mkspecs/features/qmake_use.prf \ - /usr/lib/qt/mkspecs/features/file_copies.prf \ - /usr/lib/qt/mkspecs/features/testcase_targets.prf \ - /usr/lib/qt/mkspecs/features/exceptions.prf \ - /usr/lib/qt/mkspecs/features/yacc.prf \ - /usr/lib/qt/mkspecs/features/lex.prf \ - src.pro mainwindow.h \ - urlrequestinterceptor.h \ - commandlineparser.h \ - mprisinterface.h \ - dummymprisinterface.h \ - netflixmprisinterface.h \ - amazonmprisinterface.h main.cpp \ - mainwindow.cpp \ - urlrequestinterceptor.cpp \ - commandlineparser.cpp \ - mprisinterface.cpp \ - dummymprisinterface.cpp \ - netflixmprisinterface.cpp \ - amazonmprisinterface.cpp -QMAKE_TARGET = qtwebflix -DESTDIR = ../ -TARGET = ../qtwebflix - - -first: all -####### Build rules - -../qtwebflix: ui_mainwindow.h $(OBJECTS) - @test -d ../ || mkdir -p ../ - $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) - -Makefile: src.pro /usr/lib/qt/mkspecs/linux-g++/qmake.conf /usr/lib/qt/mkspecs/features/spec_pre.prf \ - /usr/lib/qt/mkspecs/common/unix.conf \ - /usr/lib/qt/mkspecs/common/linux.conf \ - /usr/lib/qt/mkspecs/common/sanitize.conf \ - /usr/lib/qt/mkspecs/common/gcc-base.conf \ - /usr/lib/qt/mkspecs/common/gcc-base-unix.conf \ - /usr/lib/qt/mkspecs/common/g++-base.conf \ - /usr/lib/qt/mkspecs/common/g++-unix.conf \ - /usr/lib/qt/mkspecs/qconfig.pri \ - /usr/lib/qt/mkspecs/modules/qt_BluezQt.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_accessibility_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_bootstrap_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_concurrent.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_concurrent_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_core.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_core_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_dbus.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_dbus_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_designer.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_designer_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_designercomponents_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_edid_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_egl_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_fb_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_glx_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_gui.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_gui_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_help.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_help_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_input_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_kms_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_location.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_location_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_network.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_network_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_opengl.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_opengl_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_openglextensions.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_openglextensions_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_packetprotocol_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_positioning.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_positioning_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_positioningquick.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_positioningquick_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_printsupport.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_printsupport_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_qml.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_qml_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_qmldebug_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_qmldevtools_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_qmltest.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_qmltest_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_quick.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_quick_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_quickparticles_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_quickshapes_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_quickwidgets.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_quickwidgets_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_service_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_sql.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_sql_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_svg.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_svg_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_testlib.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_testlib_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_theme_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_uiplugin.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_uitools.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_uitools_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_vulkan_support_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webchannel.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webchannel_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webengine.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webengine_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginecore.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginecore_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginecoreheaders_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_widgets.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_widgets_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_x11extras.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_x11extras_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_xml.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_xml_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_xmlpatterns.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_xmlpatterns_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_phonon4qt5.pri \ - /usr/lib/qt/mkspecs/features/qt_functions.prf \ - /usr/lib/qt/mkspecs/features/qt_config.prf \ - /usr/lib/qt/mkspecs/linux-g++/qmake.conf \ - /usr/lib/qt/mkspecs/features/spec_post.prf \ - ../.qmake.stash \ - /usr/lib/qt/mkspecs/features/exclusive_builds.prf \ - /usr/lib/qt/mkspecs/features/toolchain.prf \ - /usr/lib/qt/mkspecs/features/default_pre.prf \ - /usr/lib/qt/mkspecs/features/resolve_config.prf \ - /usr/lib/qt/mkspecs/features/default_post.prf \ - /usr/lib/qt/mkspecs/features/warn_on.prf \ - /usr/lib/qt/mkspecs/features/qt.prf \ - /usr/lib/qt/mkspecs/features/resources.prf \ - /usr/lib/qt/mkspecs/features/moc.prf \ - /usr/lib/qt/mkspecs/features/dbuscommon.pri \ - /usr/lib/qt/mkspecs/features/dbusinterfaces.prf \ - /usr/lib/qt/mkspecs/features/dbusadaptors.prf \ - /usr/lib/qt/mkspecs/features/unix/opengl.prf \ - /usr/lib/qt/mkspecs/features/uic.prf \ - /usr/lib/qt/mkspecs/features/unix/thread.prf \ - /usr/lib/qt/mkspecs/features/qmake_use.prf \ - /usr/lib/qt/mkspecs/features/file_copies.prf \ - /usr/lib/qt/mkspecs/features/testcase_targets.prf \ - /usr/lib/qt/mkspecs/features/exceptions.prf \ - /usr/lib/qt/mkspecs/features/yacc.prf \ - /usr/lib/qt/mkspecs/features/lex.prf \ - src.pro \ - ../resources/jquery.qrc \ - qmake_qmake_immediate.qrc \ - /usr/lib/libQt5WebEngineWidgets.prl \ - /usr/lib/libQt5WebEngineCore.prl \ - /usr/lib/libQt5Quick.prl \ - /usr/lib/libQt5PrintSupport.prl \ - /usr/lib/libQt5Widgets.prl \ - /usr/lib/libQt5Gui.prl \ - /usr/lib/libQt5WebChannel.prl \ - /usr/lib/libQt5Qml.prl \ - /usr/lib/libQt5Network.prl \ - /usr/lib/libQt5Positioning.prl \ - /usr/lib/libQt5DBus.prl \ - /usr/lib/libQt5Core.prl - $(QMAKE) -o Makefile src.pro -/usr/lib/qt/mkspecs/features/spec_pre.prf: -/usr/lib/qt/mkspecs/common/unix.conf: -/usr/lib/qt/mkspecs/common/linux.conf: -/usr/lib/qt/mkspecs/common/sanitize.conf: -/usr/lib/qt/mkspecs/common/gcc-base.conf: -/usr/lib/qt/mkspecs/common/gcc-base-unix.conf: -/usr/lib/qt/mkspecs/common/g++-base.conf: -/usr/lib/qt/mkspecs/common/g++-unix.conf: -/usr/lib/qt/mkspecs/qconfig.pri: -/usr/lib/qt/mkspecs/modules/qt_BluezQt.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_accessibility_support_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_bootstrap_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_concurrent.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_concurrent_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_core.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_core_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_dbus.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_dbus_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_designer.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_designer_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_designercomponents_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_devicediscovery_support_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_edid_support_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_egl_support_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_fb_support_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_fontdatabase_support_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_glx_support_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_gui.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_gui_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_help.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_help_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_input_support_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_kms_support_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_location.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_location_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_network.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_network_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_opengl.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_opengl_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_openglextensions.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_openglextensions_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_packetprotocol_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_platformcompositor_support_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_positioning.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_positioning_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_positioningquick.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_positioningquick_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_printsupport.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_printsupport_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_qml.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_qml_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_qmldebug_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_qmldevtools_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_qmltest.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_qmltest_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_quick.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_quick_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_quickparticles_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_quickshapes_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_quickwidgets.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_quickwidgets_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_service_support_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_sql.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_sql_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_svg.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_svg_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_testlib.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_testlib_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_theme_support_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_uiplugin.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_uitools.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_uitools_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_vulkan_support_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_webchannel.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_webchannel_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_webengine.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_webengine_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_webenginecore.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_webenginecore_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_webenginecoreheaders_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_widgets.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_widgets_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_x11extras.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_x11extras_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_xml.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_xml_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_xmlpatterns.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_xmlpatterns_private.pri: -/usr/lib/qt/mkspecs/modules/qt_phonon4qt5.pri: -/usr/lib/qt/mkspecs/features/qt_functions.prf: -/usr/lib/qt/mkspecs/features/qt_config.prf: -/usr/lib/qt/mkspecs/linux-g++/qmake.conf: -/usr/lib/qt/mkspecs/features/spec_post.prf: -../.qmake.stash: -/usr/lib/qt/mkspecs/features/exclusive_builds.prf: -/usr/lib/qt/mkspecs/features/toolchain.prf: -/usr/lib/qt/mkspecs/features/default_pre.prf: -/usr/lib/qt/mkspecs/features/resolve_config.prf: -/usr/lib/qt/mkspecs/features/default_post.prf: -/usr/lib/qt/mkspecs/features/warn_on.prf: -/usr/lib/qt/mkspecs/features/qt.prf: -/usr/lib/qt/mkspecs/features/resources.prf: -/usr/lib/qt/mkspecs/features/moc.prf: -/usr/lib/qt/mkspecs/features/dbuscommon.pri: -/usr/lib/qt/mkspecs/features/dbusinterfaces.prf: -/usr/lib/qt/mkspecs/features/dbusadaptors.prf: -/usr/lib/qt/mkspecs/features/unix/opengl.prf: -/usr/lib/qt/mkspecs/features/uic.prf: -/usr/lib/qt/mkspecs/features/unix/thread.prf: -/usr/lib/qt/mkspecs/features/qmake_use.prf: -/usr/lib/qt/mkspecs/features/file_copies.prf: -/usr/lib/qt/mkspecs/features/testcase_targets.prf: -/usr/lib/qt/mkspecs/features/exceptions.prf: -/usr/lib/qt/mkspecs/features/yacc.prf: -/usr/lib/qt/mkspecs/features/lex.prf: -src.pro: -../resources/jquery.qrc: -qmake_qmake_immediate.qrc: -/usr/lib/libQt5WebEngineWidgets.prl: -/usr/lib/libQt5WebEngineCore.prl: -/usr/lib/libQt5Quick.prl: -/usr/lib/libQt5PrintSupport.prl: -/usr/lib/libQt5Widgets.prl: -/usr/lib/libQt5Gui.prl: -/usr/lib/libQt5WebChannel.prl: -/usr/lib/libQt5Qml.prl: -/usr/lib/libQt5Network.prl: -/usr/lib/libQt5Positioning.prl: -/usr/lib/libQt5DBus.prl: -/usr/lib/libQt5Core.prl: -qmake: FORCE - @$(QMAKE) -o Makefile src.pro - -qmake_all: FORCE - - -all: Makefile ../qtwebflix - -dist: distdir FORCE - (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR) - -distdir: FORCE - @test -d $(DISTDIR) || mkdir -p $(DISTDIR) - $(COPY_FILE) --parents $(DIST) $(DISTDIR)/ - $(COPY_FILE) --parents ../resources/jquery.qrc qmake_qmake_immediate.qrc $(DISTDIR)/ - $(COPY_FILE) --parents /usr/lib/qt/mkspecs/features/data/dummy.cpp $(DISTDIR)/ - $(COPY_FILE) --parents mainwindow.h urlrequestinterceptor.h commandlineparser.h mprisinterface.h dummymprisinterface.h netflixmprisinterface.h amazonmprisinterface.h $(DISTDIR)/ - $(COPY_FILE) --parents main.cpp mainwindow.cpp urlrequestinterceptor.cpp commandlineparser.cpp mprisinterface.cpp dummymprisinterface.cpp netflixmprisinterface.cpp amazonmprisinterface.cpp $(DISTDIR)/ - $(COPY_FILE) --parents ../ui/mainwindow.ui $(DISTDIR)/ - - -clean: compiler_clean - -$(DEL_FILE) $(OBJECTS) - -$(DEL_FILE) *~ core *.core - - -distclean: clean - -$(DEL_FILE) $(TARGET) - -$(DEL_FILE) Makefile - - -####### Sub-libraries - -mocclean: compiler_moc_header_clean compiler_moc_objc_header_clean compiler_moc_source_clean - -mocables: compiler_moc_header_make_all compiler_moc_objc_header_make_all compiler_moc_source_make_all - -check: first - -benchmark: first - -compiler_rcc_make_all: qrc_jquery.cpp qrc_qmake_qmake_immediate.cpp -compiler_rcc_clean: - -$(DEL_FILE) qrc_jquery.cpp qrc_qmake_qmake_immediate.cpp -qrc_jquery.cpp: ../resources/jquery.qrc \ - /usr/bin/rcc \ - ../resources/jquery.min.js - /usr/bin/rcc -name jquery ../resources/jquery.qrc -o qrc_jquery.cpp - -qrc_qmake_qmake_immediate.cpp: qmake_qmake_immediate.qrc \ - /usr/bin/rcc \ - ../resources/qtwebflix.svg - /usr/bin/rcc -name qmake_qmake_immediate qmake_qmake_immediate.qrc -o qrc_qmake_qmake_immediate.cpp - -compiler_moc_predefs_make_all: moc_predefs.h -compiler_moc_predefs_clean: - -$(DEL_FILE) moc_predefs.h -moc_predefs.h: /usr/lib/qt/mkspecs/features/data/dummy.cpp - g++ -pipe -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -Wall -W -dM -E -o moc_predefs.h /usr/lib/qt/mkspecs/features/data/dummy.cpp - -compiler_moc_header_make_all: moc_mainwindow.cpp moc_urlrequestinterceptor.cpp moc_mprisinterface.cpp moc_dummymprisinterface.cpp moc_netflixmprisinterface.cpp moc_amazonmprisinterface.cpp -compiler_moc_header_clean: - -$(DEL_FILE) moc_mainwindow.cpp moc_urlrequestinterceptor.cpp moc_mprisinterface.cpp moc_dummymprisinterface.cpp moc_netflixmprisinterface.cpp moc_amazonmprisinterface.cpp -moc_mainwindow.cpp: mainwindow.h \ - urlrequestinterceptor.h \ - mprisinterface.h \ - ../lib/qtmpris/src/Mpris \ - ../lib/qtmpris/src/mpris.h \ - ../lib/qtmpris/src/MprisQt \ - ../lib/qtmpris/src/mprisqt.h \ - ../lib/qtmpris/src/MprisPlayer \ - ../lib/qtmpris/src/mprisplayer.h \ - moc_predefs.h \ - /usr/bin/moc - /usr/bin/moc $(DEFINES) --include /home/ghjkl/work/perso/qtwebflix/src/moc_predefs.h -I/usr/lib/qt/mkspecs/linux-g++ -I/home/ghjkl/work/perso/qtwebflix/src -I/home/ghjkl/work/perso/qtwebflix/lib/qtdbusextended/src -I/home/ghjkl/work/perso/qtwebflix/lib/qtmpris/src -I/usr/include/qt -I/usr/include/qt/QtWebEngineWidgets -I/usr/include/qt/QtWebEngineCore -I/usr/include/qt/QtQuick -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtWebChannel -I/usr/include/qt/QtQml -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtPositioning -I/usr/include/qt/QtDBus -I/usr/include/qt/QtCore -I/usr/include/c++/8.2.1 -I/usr/include/c++/8.2.1/x86_64-pc-linux-gnu -I/usr/include/c++/8.2.1/backward -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include -I/usr/local/include -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include-fixed -I/usr/include mainwindow.h -o moc_mainwindow.cpp - -moc_urlrequestinterceptor.cpp: urlrequestinterceptor.h \ - moc_predefs.h \ - /usr/bin/moc - /usr/bin/moc $(DEFINES) --include /home/ghjkl/work/perso/qtwebflix/src/moc_predefs.h -I/usr/lib/qt/mkspecs/linux-g++ -I/home/ghjkl/work/perso/qtwebflix/src -I/home/ghjkl/work/perso/qtwebflix/lib/qtdbusextended/src -I/home/ghjkl/work/perso/qtwebflix/lib/qtmpris/src -I/usr/include/qt -I/usr/include/qt/QtWebEngineWidgets -I/usr/include/qt/QtWebEngineCore -I/usr/include/qt/QtQuick -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtWebChannel -I/usr/include/qt/QtQml -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtPositioning -I/usr/include/qt/QtDBus -I/usr/include/qt/QtCore -I/usr/include/c++/8.2.1 -I/usr/include/c++/8.2.1/x86_64-pc-linux-gnu -I/usr/include/c++/8.2.1/backward -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include -I/usr/local/include -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include-fixed -I/usr/include urlrequestinterceptor.h -o moc_urlrequestinterceptor.cpp - -moc_mprisinterface.cpp: mprisinterface.h \ - ../lib/qtmpris/src/Mpris \ - ../lib/qtmpris/src/mpris.h \ - ../lib/qtmpris/src/MprisQt \ - ../lib/qtmpris/src/mprisqt.h \ - ../lib/qtmpris/src/MprisPlayer \ - ../lib/qtmpris/src/mprisplayer.h \ - moc_predefs.h \ - /usr/bin/moc - /usr/bin/moc $(DEFINES) --include /home/ghjkl/work/perso/qtwebflix/src/moc_predefs.h -I/usr/lib/qt/mkspecs/linux-g++ -I/home/ghjkl/work/perso/qtwebflix/src -I/home/ghjkl/work/perso/qtwebflix/lib/qtdbusextended/src -I/home/ghjkl/work/perso/qtwebflix/lib/qtmpris/src -I/usr/include/qt -I/usr/include/qt/QtWebEngineWidgets -I/usr/include/qt/QtWebEngineCore -I/usr/include/qt/QtQuick -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtWebChannel -I/usr/include/qt/QtQml -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtPositioning -I/usr/include/qt/QtDBus -I/usr/include/qt/QtCore -I/usr/include/c++/8.2.1 -I/usr/include/c++/8.2.1/x86_64-pc-linux-gnu -I/usr/include/c++/8.2.1/backward -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include -I/usr/local/include -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include-fixed -I/usr/include mprisinterface.h -o moc_mprisinterface.cpp - -moc_dummymprisinterface.cpp: dummymprisinterface.h \ - mprisinterface.h \ - ../lib/qtmpris/src/Mpris \ - ../lib/qtmpris/src/mpris.h \ - ../lib/qtmpris/src/MprisQt \ - ../lib/qtmpris/src/mprisqt.h \ - ../lib/qtmpris/src/MprisPlayer \ - ../lib/qtmpris/src/mprisplayer.h \ - moc_predefs.h \ - /usr/bin/moc - /usr/bin/moc $(DEFINES) --include /home/ghjkl/work/perso/qtwebflix/src/moc_predefs.h -I/usr/lib/qt/mkspecs/linux-g++ -I/home/ghjkl/work/perso/qtwebflix/src -I/home/ghjkl/work/perso/qtwebflix/lib/qtdbusextended/src -I/home/ghjkl/work/perso/qtwebflix/lib/qtmpris/src -I/usr/include/qt -I/usr/include/qt/QtWebEngineWidgets -I/usr/include/qt/QtWebEngineCore -I/usr/include/qt/QtQuick -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtWebChannel -I/usr/include/qt/QtQml -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtPositioning -I/usr/include/qt/QtDBus -I/usr/include/qt/QtCore -I/usr/include/c++/8.2.1 -I/usr/include/c++/8.2.1/x86_64-pc-linux-gnu -I/usr/include/c++/8.2.1/backward -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include -I/usr/local/include -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include-fixed -I/usr/include dummymprisinterface.h -o moc_dummymprisinterface.cpp - -moc_netflixmprisinterface.cpp: netflixmprisinterface.h \ - mprisinterface.h \ - ../lib/qtmpris/src/Mpris \ - ../lib/qtmpris/src/mpris.h \ - ../lib/qtmpris/src/MprisQt \ - ../lib/qtmpris/src/mprisqt.h \ - ../lib/qtmpris/src/MprisPlayer \ - ../lib/qtmpris/src/mprisplayer.h \ - moc_predefs.h \ - /usr/bin/moc - /usr/bin/moc $(DEFINES) --include /home/ghjkl/work/perso/qtwebflix/src/moc_predefs.h -I/usr/lib/qt/mkspecs/linux-g++ -I/home/ghjkl/work/perso/qtwebflix/src -I/home/ghjkl/work/perso/qtwebflix/lib/qtdbusextended/src -I/home/ghjkl/work/perso/qtwebflix/lib/qtmpris/src -I/usr/include/qt -I/usr/include/qt/QtWebEngineWidgets -I/usr/include/qt/QtWebEngineCore -I/usr/include/qt/QtQuick -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtWebChannel -I/usr/include/qt/QtQml -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtPositioning -I/usr/include/qt/QtDBus -I/usr/include/qt/QtCore -I/usr/include/c++/8.2.1 -I/usr/include/c++/8.2.1/x86_64-pc-linux-gnu -I/usr/include/c++/8.2.1/backward -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include -I/usr/local/include -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include-fixed -I/usr/include netflixmprisinterface.h -o moc_netflixmprisinterface.cpp - -moc_amazonmprisinterface.cpp: amazonmprisinterface.h \ - mprisinterface.h \ - ../lib/qtmpris/src/Mpris \ - ../lib/qtmpris/src/mpris.h \ - ../lib/qtmpris/src/MprisQt \ - ../lib/qtmpris/src/mprisqt.h \ - ../lib/qtmpris/src/MprisPlayer \ - ../lib/qtmpris/src/mprisplayer.h \ - moc_predefs.h \ - /usr/bin/moc - /usr/bin/moc $(DEFINES) --include /home/ghjkl/work/perso/qtwebflix/src/moc_predefs.h -I/usr/lib/qt/mkspecs/linux-g++ -I/home/ghjkl/work/perso/qtwebflix/src -I/home/ghjkl/work/perso/qtwebflix/lib/qtdbusextended/src -I/home/ghjkl/work/perso/qtwebflix/lib/qtmpris/src -I/usr/include/qt -I/usr/include/qt/QtWebEngineWidgets -I/usr/include/qt/QtWebEngineCore -I/usr/include/qt/QtQuick -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtWebChannel -I/usr/include/qt/QtQml -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtPositioning -I/usr/include/qt/QtDBus -I/usr/include/qt/QtCore -I/usr/include/c++/8.2.1 -I/usr/include/c++/8.2.1/x86_64-pc-linux-gnu -I/usr/include/c++/8.2.1/backward -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include -I/usr/local/include -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include-fixed -I/usr/include amazonmprisinterface.h -o moc_amazonmprisinterface.cpp - -compiler_moc_objc_header_make_all: -compiler_moc_objc_header_clean: -compiler_moc_source_make_all: -compiler_moc_source_clean: -compiler_uic_make_all: ui_mainwindow.h -compiler_uic_clean: - -$(DEL_FILE) ui_mainwindow.h -ui_mainwindow.h: ../ui/mainwindow.ui \ - /usr/bin/uic - /usr/bin/uic ../ui/mainwindow.ui -o ui_mainwindow.h - -compiler_yacc_decl_make_all: -compiler_yacc_decl_clean: -compiler_yacc_impl_make_all: -compiler_yacc_impl_clean: -compiler_lex_make_all: -compiler_lex_clean: -compiler_clean: compiler_rcc_clean compiler_moc_predefs_clean compiler_moc_header_clean compiler_uic_clean - -####### Compile - -main.o: main.cpp mainwindow.h \ - urlrequestinterceptor.h \ - mprisinterface.h \ - ../lib/qtmpris/src/Mpris \ - ../lib/qtmpris/src/mpris.h \ - ../lib/qtmpris/src/MprisQt \ - ../lib/qtmpris/src/mprisqt.h \ - ../lib/qtmpris/src/MprisPlayer \ - ../lib/qtmpris/src/mprisplayer.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp - -mainwindow.o: mainwindow.cpp amazonmprisinterface.h \ - mprisinterface.h \ - ../lib/qtmpris/src/Mpris \ - ../lib/qtmpris/src/mpris.h \ - ../lib/qtmpris/src/MprisQt \ - ../lib/qtmpris/src/mprisqt.h \ - ../lib/qtmpris/src/MprisPlayer \ - ../lib/qtmpris/src/mprisplayer.h \ - commandlineparser.h \ - mainwindow.h \ - urlrequestinterceptor.h \ - dummymprisinterface.h \ - netflixmprisinterface.h \ - ui_mainwindow.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp - -urlrequestinterceptor.o: urlrequestinterceptor.cpp urlrequestinterceptor.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o urlrequestinterceptor.o urlrequestinterceptor.cpp - -commandlineparser.o: commandlineparser.cpp commandlineparser.h \ - mainwindow.h \ - urlrequestinterceptor.h \ - mprisinterface.h \ - ../lib/qtmpris/src/Mpris \ - ../lib/qtmpris/src/mpris.h \ - ../lib/qtmpris/src/MprisQt \ - ../lib/qtmpris/src/mprisqt.h \ - ../lib/qtmpris/src/MprisPlayer \ - ../lib/qtmpris/src/mprisplayer.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o commandlineparser.o commandlineparser.cpp - -mprisinterface.o: mprisinterface.cpp mainwindow.h \ - urlrequestinterceptor.h \ - mprisinterface.h \ - ../lib/qtmpris/src/Mpris \ - ../lib/qtmpris/src/mpris.h \ - ../lib/qtmpris/src/MprisQt \ - ../lib/qtmpris/src/mprisqt.h \ - ../lib/qtmpris/src/MprisPlayer \ - ../lib/qtmpris/src/mprisplayer.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mprisinterface.o mprisinterface.cpp - -dummymprisinterface.o: dummymprisinterface.cpp mprisinterface.h \ - ../lib/qtmpris/src/Mpris \ - ../lib/qtmpris/src/mpris.h \ - ../lib/qtmpris/src/MprisQt \ - ../lib/qtmpris/src/mprisqt.h \ - ../lib/qtmpris/src/MprisPlayer \ - ../lib/qtmpris/src/mprisplayer.h \ - dummymprisinterface.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dummymprisinterface.o dummymprisinterface.cpp - -netflixmprisinterface.o: netflixmprisinterface.cpp netflixmprisinterface.h \ - mprisinterface.h \ - ../lib/qtmpris/src/Mpris \ - ../lib/qtmpris/src/mpris.h \ - ../lib/qtmpris/src/MprisQt \ - ../lib/qtmpris/src/mprisqt.h \ - ../lib/qtmpris/src/MprisPlayer \ - ../lib/qtmpris/src/mprisplayer.h \ - mainwindow.h \ - urlrequestinterceptor.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o netflixmprisinterface.o netflixmprisinterface.cpp - -amazonmprisinterface.o: amazonmprisinterface.cpp amazonmprisinterface.h \ - mprisinterface.h \ - ../lib/qtmpris/src/Mpris \ - ../lib/qtmpris/src/mpris.h \ - ../lib/qtmpris/src/MprisQt \ - ../lib/qtmpris/src/mprisqt.h \ - ../lib/qtmpris/src/MprisPlayer \ - ../lib/qtmpris/src/mprisplayer.h \ - mainwindow.h \ - urlrequestinterceptor.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o amazonmprisinterface.o amazonmprisinterface.cpp - -qrc_jquery.o: qrc_jquery.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrc_jquery.o qrc_jquery.cpp - -qrc_qmake_qmake_immediate.o: qrc_qmake_qmake_immediate.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrc_qmake_qmake_immediate.o qrc_qmake_qmake_immediate.cpp - -moc_mainwindow.o: moc_mainwindow.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp - -moc_urlrequestinterceptor.o: moc_urlrequestinterceptor.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_urlrequestinterceptor.o moc_urlrequestinterceptor.cpp - -moc_mprisinterface.o: moc_mprisinterface.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mprisinterface.o moc_mprisinterface.cpp - -moc_dummymprisinterface.o: moc_dummymprisinterface.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_dummymprisinterface.o moc_dummymprisinterface.cpp - -moc_netflixmprisinterface.o: moc_netflixmprisinterface.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_netflixmprisinterface.o moc_netflixmprisinterface.cpp - -moc_amazonmprisinterface.o: moc_amazonmprisinterface.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_amazonmprisinterface.o moc_amazonmprisinterface.cpp - -####### Install - -install: FORCE - -uninstall: FORCE - -FORCE: - diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 66df587..1da8d55 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -282,16 +282,18 @@ void MainWindow::restore() { } void MainWindow::createContextMenu(const QStringList &keys) { + appSettings->beginGroup("providers"); for (const auto &i : keys) { if (!i.startsWith("#")) { - QString url = appSettings->value(i).toString(); + auto url = appSettings->value(i).toUrl(); contextMenu.addAction(i, [this, url]() { - qDebug() << "URL is :" << url; + qDebug() << "Switching to : " << url; webview->setUrl(QUrl(url)); }); contextMenu.addSeparator(); } } + appSettings->endGroup(); } void MainWindow::readSettings() { @@ -327,7 +329,7 @@ void MainWindow::fullScreenRequested(QWebEngineFullScreenRequest request) { void MainWindow::ShowContextMenu(const QPoint &pos) // this is a slot { QPoint globalPos = webview->mapToGlobal(pos); - QAction *selectedItem = contextMenu.exec(globalPos); + contextMenu.exec(globalPos); } void MainWindow::parseCommand() { From c907bdbd1a0c585774f50321bed1eb081c5be956 Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 10 Jun 2019 10:58:23 +0200 Subject: [PATCH 5/8] Deleted forgotten build file... --- src/qmake_qmake_immediate.qrc | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 src/qmake_qmake_immediate.qrc diff --git a/src/qmake_qmake_immediate.qrc b/src/qmake_qmake_immediate.qrc deleted file mode 100644 index 89ddee9..0000000 --- a/src/qmake_qmake_immediate.qrc +++ /dev/null @@ -1,5 +0,0 @@ - - -/home/ghjkl/work/perso/qtwebflix/resources/qtwebflix.svg - - From 5059d1911e825f593562edfb2b920357211eec07 Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 10 Jun 2019 12:14:19 +0200 Subject: [PATCH 6/8] Better handling of keybinds, reload them proprely if mpris intreface changed --- src/mainwindow.cpp | 87 +++++++++++++++++++++++++--------------------- src/mainwindow.h | 12 ++++--- 2 files changed, 55 insertions(+), 44 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 1da8d55..98e06ee 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -61,20 +61,30 @@ MainWindow::MainWindow(QWidget *parent) connect(webview->page(), &QWebEnginePage::fullScreenRequested, this, &MainWindow::fullScreenRequested); - actions["fullscreen-toggle"] = std::make_pair(this, SLOT(slotShortcutF11())); - actions["quit"] = std::make_pair(this, SLOT(slotShortcutCtrlQ())); - actions["speed-up"] = std::make_pair(this, SLOT(slotShortcutCtrlW())); - actions["speed-down"] = std::make_pair(this, SLOT(slotShortcutCtrlS())); - actions["speed-default"] = std::make_pair(this, SLOT(slotShortcutCtrlR())); - actions["reload"] = std::make_pair(this, SLOT(slotShortcutCtrlF5())); + m_actions["fullscreen-toggle"] = + std::make_pair(this, SLOT(slotShortcutF11())); + m_actions["quit"] = std::make_pair(this, SLOT(slotShortcutCtrlQ())); + m_actions["speed-up"] = std::make_pair(this, SLOT(slotShortcutCtrlW())); + m_actions["speed-down"] = std::make_pair(this, SLOT(slotShortcutCtrlS())); + m_actions["speed-default"] = std::make_pair(this, SLOT(slotShortcutCtrlR())); + m_actions["reload"] = std::make_pair(this, SLOT(slotShortcutCtrlF5())); // default key shortcuts - registerShortcut("fullscreen-toggle", "F11"); - registerShortcut("quit", "Ctrl+Q"); - registerShortcut("speed-up", "Ctrl+W"); - registerShortcut("speed-down", "Ctrl+S"); - registerShortcut("speed-default", "Ctrl+R"); - registerShortcut("reload", "Ctrl+F5"); + addShortcut("fullscreen-toggle", "F11"); + addShortcut("quit", "Ctrl+Q"); + addShortcut("speed-up", "Ctrl+W"); + addShortcut("speed-down", "Ctrl+S"); + addShortcut("speed-default", "Ctrl+R"); + addShortcut("reload", "Ctrl+F5"); + appSettings->beginGroup("keybinds"); + for (auto action : appSettings->allKeys()) { + auto keySequence = appSettings->value(action).toStringList().join(','); + for (auto key : + keySequence.split(QRegExp("\\s+"), QString::SkipEmptyParts)) { + addShortcut(action, key); + } + } + appSettings->endGroup(); // Connect finished loading boolean connect(webview, &QWebEngineView::loadFinished, this, @@ -93,7 +103,7 @@ MainWindow::MainWindow(QWidget *parent) MainWindow::~MainWindow() { delete ui; - qDeleteAll(shortcuts); + // qDeleteAll(m_shortcuts); } // Slot handler of F11 @@ -114,37 +124,36 @@ void MainWindow::slotShortcutCtrlQ() { void MainWindow::finishLoading(bool) { exchangeMprisInterfaceIfNeeded(); } -void MainWindow::registerShortcut(QString actionName, QString key) { +void MainWindow::addShortcut(const QString &actionName, const QString &key) { qDebug() << "binding " << key << " -> " << actionName; - QShortcut *shortcut = shortcuts.value(key, nullptr); - if (!shortcut) { - shortcut = new QShortcut(key, this); - shortcuts[key] = shortcut; - } else { - disconnect(shortcut, SIGNAL(activated()), 0, 0); + QSet &shortcuts = m_shortcuts[actionName]; + auto shortcut = new QShortcut(key, this); + if (!shortcuts.contains(shortcut)) { + shortcuts.insert(shortcut); } - auto action = actions[actionName]; - connect(shortcut, SIGNAL(activated()), action.first, action.second); } -void MainWindow::registerMprisKeybinds() { - actions["play"] = std::make_pair(mpris.get(), SLOT(playVideo())); - actions["pause"] = std::make_pair(mpris.get(), SLOT(pauseVideo())); - actions["play-pause"] = std::make_pair(mpris.get(), SLOT(togglePlayPause())); - actions["next-episode"] = std::make_pair(mpris.get(), SLOT(goNextEpisode())); - actions["seek-next"] = std::make_pair(mpris.get(), SLOT(setSeek(10))); - actions["seek-prev"] = std::make_pair(mpris.get(), SLOT(setSeek(-10))); - - appSettings->beginGroup("keybinds"); - for (auto action : appSettings->allKeys()) { - auto keySequence = appSettings->value(action).toStringList().join(','); - for (auto key : - keySequence.split(QRegExp("\\s+"), QString::SkipEmptyParts)) { - registerShortcut(action, key); - } - } - appSettings->endGroup(); +void MainWindow::registerMprisShortcutActions() { + m_actions["play"] = std::make_pair(mpris.get(), SLOT(playVideo())); + m_actions["pause"] = std::make_pair(mpris.get(), SLOT(pauseVideo())); + m_actions["play-pause"] = + std::make_pair(mpris.get(), SLOT(togglePlayPause())); + m_actions["next-episode"] = + std::make_pair(mpris.get(), SLOT(goNextEpisode())); + m_actions["seek-next"] = std::make_pair(mpris.get(), SLOT(setSeek(10))); + m_actions["seek-prev"] = std::make_pair(mpris.get(), SLOT(setSeek(-10))); + + qDebug() << "Rebinding keys because mprisChanged"; + std::for_each( + m_shortcuts.begin(), m_shortcuts.end(), + [&](const std::pair> &shortcutDef) { + for (const auto &shortcut : shortcutDef.second) { + disconnect(shortcut, SIGNAL(activated()), 0, 0); + const auto &action = m_actions[shortcutDef.first]; + connect(shortcut, SIGNAL(activated()), action.first, action.second); + } + }); } void MainWindow::exchangeMprisInterfaceIfNeeded() { diff --git a/src/mainwindow.h b/src/mainwindow.h index 69014f4..1759373 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -75,12 +76,12 @@ private slots: void readSettings(); void restore(); void exchangeMprisInterfaceIfNeeded(); - void registerShortcut(QString, QString); - void registerMprisKeybinds(); + void addShortcut(const QString &, const QString &); + void registerMprisShortcutActions(); void createContextMenu(const QStringList &keys); - QMap> actions; - QMap shortcuts; + QMap> m_actions; + std::map> m_shortcuts; UrlRequestInterceptor *m_interceptor; @@ -97,7 +98,8 @@ private slots: mpris = std::make_unique(); mpris->setup(this); - registerMprisKeybinds(); + registerMprisShortcutActions(); + return true; } }; From b5beacb4b4e90c654b0ad13cdc745d1fff542401 Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 10 Jun 2019 14:43:18 +0200 Subject: [PATCH 7/8] Better handling of actions for keybinds, use mpris player to be compatible with any implementations --- src/mainwindow.cpp | 79 +++++++++++++++++++++++++++++++++------------- src/mainwindow.h | 6 ++-- 2 files changed, 60 insertions(+), 25 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 98e06ee..06f07fe 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -61,14 +61,6 @@ MainWindow::MainWindow(QWidget *parent) connect(webview->page(), &QWebEnginePage::fullScreenRequested, this, &MainWindow::fullScreenRequested); - m_actions["fullscreen-toggle"] = - std::make_pair(this, SLOT(slotShortcutF11())); - m_actions["quit"] = std::make_pair(this, SLOT(slotShortcutCtrlQ())); - m_actions["speed-up"] = std::make_pair(this, SLOT(slotShortcutCtrlW())); - m_actions["speed-down"] = std::make_pair(this, SLOT(slotShortcutCtrlS())); - m_actions["speed-default"] = std::make_pair(this, SLOT(slotShortcutCtrlR())); - m_actions["reload"] = std::make_pair(this, SLOT(slotShortcutCtrlF5())); - // default key shortcuts addShortcut("fullscreen-toggle", "F11"); addShortcut("quit", "Ctrl+Q"); @@ -76,6 +68,7 @@ MainWindow::MainWindow(QWidget *parent) addShortcut("speed-down", "Ctrl+S"); addShortcut("speed-default", "Ctrl+R"); addShortcut("reload", "Ctrl+F5"); + appSettings->beginGroup("keybinds"); for (auto action : appSettings->allKeys()) { auto keySequence = appSettings->value(action).toStringList().join(','); @@ -85,6 +78,7 @@ MainWindow::MainWindow(QWidget *parent) } } appSettings->endGroup(); + registerShortcutActions(); // Connect finished loading boolean connect(webview, &QWebEngineView::loadFinished, this, @@ -125,7 +119,7 @@ void MainWindow::slotShortcutCtrlQ() { void MainWindow::finishLoading(bool) { exchangeMprisInterfaceIfNeeded(); } void MainWindow::addShortcut(const QString &actionName, const QString &key) { - qDebug() << "binding " << key << " -> " << actionName; + qDebug() << "binding " << key << "\t-> " << actionName; QSet &shortcuts = m_shortcuts[actionName]; auto shortcut = new QShortcut(key, this); @@ -134,24 +128,65 @@ void MainWindow::addShortcut(const QString &actionName, const QString &key) { } } -void MainWindow::registerMprisShortcutActions() { - m_actions["play"] = std::make_pair(mpris.get(), SLOT(playVideo())); - m_actions["pause"] = std::make_pair(mpris.get(), SLOT(pauseVideo())); - m_actions["play-pause"] = - std::make_pair(mpris.get(), SLOT(togglePlayPause())); - m_actions["next-episode"] = - std::make_pair(mpris.get(), SLOT(goNextEpisode())); - m_actions["seek-next"] = std::make_pair(mpris.get(), SLOT(setSeek(10))); - m_actions["seek-prev"] = std::make_pair(mpris.get(), SLOT(setSeek(-10))); - - qDebug() << "Rebinding keys because mprisChanged"; +void MainWindow::registerShortcutActions() { + m_actions["fullscreen-toggle"] = + std::function([&]() { this->slotShortcutF11(); }); + m_actions["fullscreen-toggle"] = + std::function([&]() { this->slotShortcutF11(); }); + m_actions["reload"] = + std::function([&]() { this->slotShortcutCtrlF5(); }); + m_actions["quit"] = + std::function([&]() { this->slotShortcutCtrlQ(); }); + m_actions["speed-up"] = std::function([&]() { + mpris->workWithPlayer( + [](MprisPlayer &player) { emit(player.rateRequested(2)); }); + }); + m_actions["speed-down"] = std::function([&]() { + mpris->workWithPlayer( + [](MprisPlayer &player) { emit(player.rateRequested(0.5)); }); + }); + m_actions["speed-default"] = std::function([&]() { + mpris->workWithPlayer( + [](MprisPlayer &player) { emit(player.rateRequested(1)); }); + }); + m_actions["play"] = std::function([&]() { + mpris->workWithPlayer( + [](MprisPlayer &player) { emit(player.playRequested()); }); + }); + m_actions["pause"] = std::function([&]() { + mpris->workWithPlayer( + [](MprisPlayer &player) { emit(player.pauseRequested()); }); + }); + m_actions["play-pause"] = std::function([&]() { + mpris->workWithPlayer( + [](MprisPlayer &player) { emit(player.playPauseRequested()); }); + }); + m_actions["prev-episode"] = std::function([&]() { + mpris->workWithPlayer( + [](MprisPlayer &player) { emit(player.previousRequested()); }); + }); + m_actions["next-episode"] = std::function([&]() { + mpris->workWithPlayer( + [](MprisPlayer &player) { emit(player.nextRequested()); }); + }); + m_actions["seek-next"] = std::function([&]() { + mpris->workWithPlayer([](MprisPlayer &player) { + emit(player.seekRequested(10 * 1000 * 1000)); + }); + }); + m_actions["seek-prev"] = std::function([&]() { + mpris->workWithPlayer([](MprisPlayer &player) { + emit(player.seekRequested(-10 * 1000 * 1000)); + }); + }); + std::for_each( m_shortcuts.begin(), m_shortcuts.end(), [&](const std::pair> &shortcutDef) { for (const auto &shortcut : shortcutDef.second) { disconnect(shortcut, SIGNAL(activated()), 0, 0); - const auto &action = m_actions[shortcutDef.first]; - connect(shortcut, SIGNAL(activated()), action.first, action.second); + connect(shortcut, &QShortcut::activated, + m_actions[shortcutDef.first]); } }); } diff --git a/src/mainwindow.h b/src/mainwindow.h index 1759373..f9eeba4 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -77,10 +77,11 @@ private slots: void restore(); void exchangeMprisInterfaceIfNeeded(); void addShortcut(const QString &, const QString &); - void registerMprisShortcutActions(); + void registerShortcutActions(); void createContextMenu(const QStringList &keys); - QMap> m_actions; + // QMap> m_actions; + QMap> m_actions; std::map> m_shortcuts; UrlRequestInterceptor *m_interceptor; @@ -98,7 +99,6 @@ private slots: mpris = std::make_unique(); mpris->setup(this); - registerMprisShortcutActions(); return true; } From a2004df13673f6fb19313a00bb1f279284bd40fc Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 10 Jun 2019 15:23:33 +0200 Subject: [PATCH 8/8] Clean mainwindow class code Delete netflix specific setRate functions --- src/mainwindow.cpp | 92 ++++---------------------------------------- src/mainwindow.h | 16 ++------ src/mprisinterface.h | 13 ++++--- 3 files changed, 17 insertions(+), 104 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 06f07fe..d98d6af 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -29,9 +29,6 @@ MainWindow::MainWindow(QWidget *parent) QWebEngineProfile::defaultProfile()->setPersistentCookiesPolicy( QWebEngineProfile::ForcePersistentCookies); - // set playbackrate and read jquery file - playRate = 1.0; - playRateStr = QString::number(playRate); QFile file; file.setFileName(":/jquery.min.js"); file.open(QIODevice::ReadOnly); @@ -101,7 +98,7 @@ MainWindow::~MainWindow() { } // Slot handler of F11 -void MainWindow::slotShortcutF11() { +void MainWindow::toggleFullScreen() { /* This handler will make switching applications in full screen mode * and back to normal window mode * */ @@ -111,7 +108,7 @@ void MainWindow::slotShortcutF11() { QWebEngineView *MainWindow::webView() const { return webview; } // Slot handler for Ctrl + Q -void MainWindow::slotShortcutCtrlQ() { +void MainWindow::quit() { writeSettings(); QApplication::quit(); } @@ -130,13 +127,11 @@ void MainWindow::addShortcut(const QString &actionName, const QString &key) { void MainWindow::registerShortcutActions() { m_actions["fullscreen-toggle"] = - std::function([&]() { this->slotShortcutF11(); }); + std::function([&]() { this->toggleFullScreen(); }); m_actions["fullscreen-toggle"] = - std::function([&]() { this->slotShortcutF11(); }); - m_actions["reload"] = - std::function([&]() { this->slotShortcutCtrlF5(); }); - m_actions["quit"] = - std::function([&]() { this->slotShortcutCtrlQ(); }); + std::function([&]() { this->toggleFullScreen(); }); + m_actions["reload"] = std::function([&]() { this->reloadPage(); }); + m_actions["quit"] = std::function([&]() { this->quit(); }); m_actions["speed-up"] = std::function([&]() { mpris->workWithPlayer( [](MprisPlayer &player) { emit(player.rateRequested(2)); }); @@ -213,80 +208,7 @@ void MainWindow::exchangeMprisInterfaceIfNeeded() { } } -// Slot handler for Ctrl + W -void MainWindow::slotShortcutCtrlW() { - QString getPlayer = - ("var netflix = document.getElementsByClassName('ellipsize-text')[0];"); - webview->page()->runJavaScript(getPlayer); - if (playRate >= 2) { - return; - } - playRate += .1; - playRateStr = QString::number(playRate); - // QString code = QStringLiteral("qt.jQuery('video').get(0).playbackRate =") - QString code = - QStringLiteral("document.querySelector('video').playbackRate = ") - .append(playRateStr); - QString setSpeedText = QStringLiteral("var y = document.createTextNode('") - .append(playRateStr) - .append(" X');"); - - QString replaceText = ("netflix.replaceChild(y, netflix.childNodes[3])"); - QString addTextToPlayer = ("netflix.appendChild(y);"); - QString addTextCode = (setSpeedText + addTextToPlayer + replaceText); - qDebug() << "Player Speed set to: " << playRateStr; - webview->page()->runJavaScript(code); - webview->page()->runJavaScript(addTextCode); -} - -// Slot handler for Ctrl + S -void MainWindow::slotShortcutCtrlS() { - - QString getPlayer = - ("var netflix = document.getElementsByClassName('ellipsize-text')[0];"); - webview->page()->runJavaScript(getPlayer); - if (playRate < 0.2) { - return; - } - playRate -= .1; - playRateStr = QString::number(playRate); - QString code = - QStringLiteral("document.querySelector('video').playbackRate = ") - .append(playRateStr); - QString setSpeedText = QStringLiteral("var y = document.createTextNode('") - .append(playRateStr) - .append(" X');"); - - QString replaceText = ("netflix.replaceChild(y, netflix.childNodes[3])"); - QString addTextToPlayer = ("netflix.appendChild(y);"); - QString addTextCode = (setSpeedText + addTextToPlayer + replaceText); - qDebug() << "Player Speed set to: " << playRateStr; - webview->page()->runJavaScript(code); - webview->page()->runJavaScript(addTextCode); -} - -// Slot handler for Ctrl + R -void MainWindow::slotShortcutCtrlR() { - webview->page()->runJavaScript(jQuery); - if (playRate != 1.0) { - playRate = 1.0; - playRateStr = QString::number(playRate); - QString code = QStringLiteral("qt.jQuery('video').get(0).playbackRate =") - .append(playRateStr); - QString setSpeedText = QStringLiteral("var y = document.createTextNode('") - .append(playRateStr) - .append(" X');"); - - QString replaceText = ("netflix.replaceChild(y, netflix.childNodes[3])"); - QString addTextToPlayer = ("netflix.appendChild(y);"); - QString addTextCode = (setSpeedText + addTextToPlayer + replaceText); - qDebug() << "Player Speed set to: " << playRateStr; - webview->page()->runJavaScript(code); - webview->page()->runJavaScript(addTextCode); - } -} - -void MainWindow::slotShortcutCtrlF5() { +void MainWindow::reloadPage() { webview->triggerPageAction(QWebEnginePage::ReloadAndBypassCache); } diff --git a/src/mainwindow.h b/src/mainwindow.h index f9eeba4..9efd654 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -31,24 +31,17 @@ class MainWindow : public QMainWindow { public: explicit MainWindow(QWidget *parent = nullptr); - // void set_provider(QString); - // void set_useragent(QString); - // void parseCommand(QCommandLineParser &); void parseCommand(); ~MainWindow(); - // QAction amazon(); void setFullScreen(bool fullscreen); QWebEngineView *webView() const; private slots: // slots for handlers of hotkeys void finishLoading(bool); - void slotShortcutF11(); - void slotShortcutCtrlQ(); - void slotShortcutCtrlW(); - void slotShortcutCtrlS(); - void slotShortcutCtrlR(); - void slotShortcutCtrlF5(); + void toggleFullScreen(); + void quit(); + void reloadPage(); void ShowContextMenu(const QPoint &pos); protected: @@ -60,9 +53,6 @@ private slots: QWebEngineView *webview; QString jQuery; - double playRate; - QString playRateStr; - QSettings *stateSettings; QSettings *appSettings; diff --git a/src/mprisinterface.h b/src/mprisinterface.h index 7655b07..3225937 100644 --- a/src/mprisinterface.h +++ b/src/mprisinterface.h @@ -1,12 +1,12 @@ #ifndef MPRISINTERFACE_H #define MPRISINTERFACE_H -#include #include +#include -#include #include #include +#include class MainWindow; @@ -22,15 +22,16 @@ class MprisInterface : public QObject { void updatePlayerFullScreen(); protected: - void workWithPlayer(std::function callback); - MainWindow * window() const; - QWebEngineView * webView() const; + void workWithPlayer(std::function callback); + MainWindow *window() const; + QWebEngineView *webView() const; + + friend class MainWindow; private: MainWindow *m_window; std::mutex m_mtx_player; MprisPlayer m_player; - }; #endif // MPRISINTERFACE_H