diff --git a/app/src/handlers/appimagehandler.cpp b/app/src/handlers/appimagehandler.cpp index 3f60d9a0676b262e7facd2e076fa1b46d289d5c9..3f3fa704d6a50b775aac39ec430abf1965030a10 100644 --- a/app/src/handlers/appimagehandler.cpp +++ b/app/src/handlers/appimagehandler.cpp @@ -10,13 +10,31 @@ AppImageHandler::AppImageHandler(ConfigHandler *configHandler, QObject *parent) : QObject(parent), configHandler_(configHandler) {} +QString AppImageHandler::describeAppImage(const QString &path) const +{ + QString updateInformation; + +#ifdef QTLIB_UNIX + appimage::update::Updater appImageUpdater(path.toStdString()); + std::string description; + if (appImageUpdater.describeAppImage(description)) { + updateInformation = QString::fromStdString(description); + } +#endif + + return updateInformation; +} + bool AppImageHandler::isUpdateAvailable(const QString &path) const { #ifdef QTLIB_UNIX appimage::update::Updater appImageUpdater(path.toStdString()); bool updateAvailable; - return appImageUpdater.checkForChanges(updateAvailable); + if (appImageUpdater.checkForChanges(updateAvailable)) { + return updateAvailable; + } #endif + return false; } @@ -24,7 +42,10 @@ bool AppImageHandler::isUpdateAvailable(const QString &path) const bool AppImageHandler::updateAppImage(const QString &path) const { appimage::update::Updater appImageUpdater(path.toStdString(), false); - return appImageUpdater.start(); - // TODO: make signals&slots bindings later + /*if (appImageUpdater.start()) { + // TODO: make signals&slots bindings later + }*/ + + return false; } #endif diff --git a/app/src/handlers/appimagehandler.h b/app/src/handlers/appimagehandler.h index 1360c76021faf4795a62360a70ef11be0b481863..9b23165d9e5c8d2887dff23cfc65f324daafd449 100644 --- a/app/src/handlers/appimagehandler.h +++ b/app/src/handlers/appimagehandler.h @@ -12,6 +12,7 @@ public: explicit AppImageHandler(ConfigHandler *configHandler, QObject *parent = nullptr); public slots: + QString describeAppImage(const QString &path) const; bool isUpdateAvailable(const QString &path) const; #ifdef QTLIB_UNIX diff --git a/app/src/websockets/websocketserver.cpp b/app/src/websockets/websocketserver.cpp index ae229f8dc00d0d9f0b12524dec53d1ce7cc1f801..50799003f8242c76ffa440a73e4c65a979f1da69 100644 --- a/app/src/websockets/websocketserver.cpp +++ b/app/src/websockets/websocketserver.cpp @@ -316,6 +316,9 @@ void WebSocketServer::receiveMessage(const QString &id, const QString &func, con itemHandler_->uninstall(data.at(0).toString()); } // AppImageHandler + else if (func == "AppImageHandler::describeAppImage") { + resultData.append(appImageHandler_->describeAppImage(data.at(0).toString())); + } else if (func == "AppImageHandler::isUpdateAvailable") { resultData.append(appImageHandler_->isUpdateAvailable(data.at(0).toString())); }