From 2ad7fcf9e87540dce007bfa2c5f6db8d1d8b69ae Mon Sep 17 00:00:00 2001 From: Akira Ohgaki <akiraohgaki@gmail.com> Date: Fri, 17 Nov 2017 03:10:52 +0900 Subject: [PATCH] Enable AppImageHandler functions in WebSocket --- app/app.pri | 12 +++---- app/src/handlers/appimagehandler.cpp | 4 +-- app/src/websockets/websocketserver.cpp | 45 +++++++++++++++++--------- app/src/websockets/websocketserver.h | 6 ++-- 4 files changed, 40 insertions(+), 27 deletions(-) diff --git a/app/app.pri b/app/app.pri index 6bdffab..19a4a61 100644 --- a/app/app.pri +++ b/app/app.pri @@ -11,7 +11,9 @@ HEADERS += \ $${PWD}/src/handlers/confighandler.h \ $${PWD}/src/handlers/systemhandler.h \ $${PWD}/src/handlers/ocsapihandler.h \ - $${PWD}/src/handlers/itemhandler.h + $${PWD}/src/handlers/itemhandler.h \ + $${PWD}/src/handlers/appimagehandler.h \ + $${PWD}/src/handlers/desktopthemehandler.h SOURCES += \ $${PWD}/src/main.cpp \ @@ -19,7 +21,9 @@ SOURCES += \ $${PWD}/src/handlers/confighandler.cpp \ $${PWD}/src/handlers/systemhandler.cpp \ $${PWD}/src/handlers/ocsapihandler.cpp \ - $${PWD}/src/handlers/itemhandler.cpp + $${PWD}/src/handlers/itemhandler.cpp \ + $${PWD}/src/handlers/appimagehandler.cpp \ + $${PWD}/src/handlers/desktopthemehandler.cpp RESOURCES += $${PWD}/configs/configs.qrc @@ -29,8 +33,6 @@ unix:!ios:!android { QT += dbus HEADERS += \ - $${PWD}/src/handlers/appimagehandler.h \ - $${PWD}/src/handlers/desktopthemehandler.h \ $${PWD}/src/desktopthemes/kdetheme.h \ $${PWD}/src/desktopthemes/gnometheme.h \ $${PWD}/src/desktopthemes/xfcetheme.h \ @@ -38,8 +40,6 @@ unix:!ios:!android { $${PWD}/src/desktopthemes/matetheme.h SOURCES += \ - $${PWD}/src/handlers/appimagehandler.cpp \ - $${PWD}/src/handlers/desktopthemehandler.cpp \ $${PWD}/src/desktopthemes/kdetheme.cpp \ $${PWD}/src/desktopthemes/gnometheme.cpp \ $${PWD}/src/desktopthemes/xfcetheme.cpp \ diff --git a/app/src/handlers/appimagehandler.cpp b/app/src/handlers/appimagehandler.cpp index 920610e..3f60d9a 100644 --- a/app/src/handlers/appimagehandler.cpp +++ b/app/src/handlers/appimagehandler.cpp @@ -15,9 +15,7 @@ bool AppImageHandler::isUpdateAvailable(const QString &path) const #ifdef QTLIB_UNIX appimage::update::Updater appImageUpdater(path.toStdString()); bool updateAvailable; - if (appImageUpdater.checkForChanges(updateAvailable)) { - return true; - } + return appImageUpdater.checkForChanges(updateAvailable); #endif return false; } diff --git a/app/src/websockets/websocketserver.cpp b/app/src/websockets/websocketserver.cpp index 45c4b60..ae229f8 100644 --- a/app/src/websockets/websocketserver.cpp +++ b/app/src/websockets/websocketserver.cpp @@ -8,9 +8,10 @@ #include "handlers/confighandler.h" #include "handlers/systemhandler.h" -#include "handlers/desktopthemehandler.h" #include "handlers/ocsapihandler.h" #include "handlers/itemhandler.h" +#include "handlers/appimagehandler.h" +#include "handlers/desktopthemehandler.h" WebSocketServer::WebSocketServer(ConfigHandler *configHandler, const QString &serverName, quint16 serverPort, QObject *parent) : QObject(parent), configHandler_(configHandler), serverName_(serverName), serverPort_(serverPort) @@ -22,9 +23,10 @@ WebSocketServer::WebSocketServer(ConfigHandler *configHandler, const QString &se configHandler_->setParent(this); systemHandler_ = new SystemHandler(this); - desktopThemeHandler_ = new DesktopThemeHandler(this); ocsApiHandler_ = new OcsApiHandler(configHandler_, this); itemHandler_ = new ItemHandler(configHandler_, this); + appImageHandler_ = new AppImageHandler(configHandler_, this); + desktopThemeHandler_ = new DesktopThemeHandler(this); connect(itemHandler_, &ItemHandler::metadataSetChanged, this, &WebSocketServer::itemMetadataSetChanged); connect(itemHandler_, &ItemHandler::downloadStarted, this, &WebSocketServer::itemDownloadStarted); @@ -278,20 +280,6 @@ void WebSocketServer::receiveMessage(const QString &id, const QString &func, con else if (func == "SystemHandler::openUrl") { resultData.append(systemHandler_->openUrl(data.at(0).toString())); } - // DesktopThemeHandler - else if (func == "DesktopThemeHandler::desktopEnvironment") { - resultData.append(desktopThemeHandler_->desktopEnvironment()); - } - else if (func == "DesktopThemeHandler::isApplicableType") { - resultData.append(desktopThemeHandler_->isApplicableType(data.at(0).toString())); - } - else if (func == "DesktopThemeHandler::applyTheme") { -#ifdef QTLIB_UNIX - resultData.append(desktopThemeHandler_->applyTheme(data.at(0).toString(), data.at(1).toString())); -#else - resultData.append(false); -#endif - } // OcsApiHandler else if (func == "OcsApiHandler::addProviders") { resultData.append(ocsApiHandler_->addProviders(data.at(0).toString())); @@ -327,6 +315,31 @@ void WebSocketServer::receiveMessage(const QString &id, const QString &func, con else if (func == "ItemHandler::uninstall") { itemHandler_->uninstall(data.at(0).toString()); } + // AppImageHandler + else if (func == "AppImageHandler::isUpdateAvailable") { + resultData.append(appImageHandler_->isUpdateAvailable(data.at(0).toString())); + } + else if (func == "AppImageHandler::updateAppImage") { +#ifdef QTLIB_UNIX + resultData.append(appImageHandler_->updateAppImage(data.at(0).toString())); +#else + resultData.append(false); +#endif + } + // DesktopThemeHandler + else if (func == "DesktopThemeHandler::desktopEnvironment") { + resultData.append(desktopThemeHandler_->desktopEnvironment()); + } + else if (func == "DesktopThemeHandler::isApplicableType") { + resultData.append(desktopThemeHandler_->isApplicableType(data.at(0).toString())); + } + else if (func == "DesktopThemeHandler::applyTheme") { +#ifdef QTLIB_UNIX + resultData.append(desktopThemeHandler_->applyTheme(data.at(0).toString(), data.at(1).toString())); +#else + resultData.append(false); +#endif + } // Not supported else { return; diff --git a/app/src/websockets/websocketserver.h b/app/src/websockets/websocketserver.h index 66edab5..595fb42 100644 --- a/app/src/websockets/websocketserver.h +++ b/app/src/websockets/websocketserver.h @@ -10,9 +10,10 @@ class QWebSocket; class ConfigHandler; class SystemHandler; -class DesktopThemeHandler; class OcsApiHandler; class ItemHandler; +class AppImageHandler; +class DesktopThemeHandler; class WebSocketServer : public QObject { @@ -56,9 +57,10 @@ private: ConfigHandler *configHandler_; SystemHandler *systemHandler_; - DesktopThemeHandler *desktopThemeHandler_; OcsApiHandler *ocsApiHandler_; ItemHandler *itemHandler_; + AppImageHandler *appImageHandler_; + DesktopThemeHandler *desktopThemeHandler_; QString serverName_; quint16 serverPort_; -- GitLab