diff --git a/src/handlers/xdgurl.cpp b/src/handlers/xdgurl.cpp index 09a449e3fe1958002823fb195f5e4ea7692df98b..5175275ffc9879635e07a175513eb571a3665e9c 100644 --- a/src/handlers/xdgurl.cpp +++ b/src/handlers/xdgurl.cpp @@ -3,6 +3,7 @@ #include <QUrlQuery> #include <QMimeDatabase> #include <QProcess> +#include <QNetworkReply> #include "../core/config.h" #include "../core/network.h" @@ -188,20 +189,18 @@ bool XdgUrl::_uncompressArchive(const QString &path, const QString &targetDir) return false; } -void XdgUrl::_download() +/** + * Private slots + */ + +void XdgUrl::_saveDownloadedFile(QNetworkReply *reply) { - return true; } -void XdgUrl::_install() +void XdgUrl::_installDownloadedFile(QNetworkReply *reply) { - return true; } -/** - * Private slots - */ - /** * Public slots */ @@ -252,10 +251,10 @@ void XdgUrl::process() if (isValid()) { if (_metadata["command"].toString() == "download") { - _download(); + connect(_asyncNetwork, &Core::Network::finished, this, &XdgUrl::_saveDownloadedFile); } else if (_metadata["command"].toString() == "install") { - _install(); + connect(_asyncNetwork, &Core::Network::finished, this, &XdgUrl::_installDownloadedFile); } } } diff --git a/src/handlers/xdgurl.h b/src/handlers/xdgurl.h index 340438de8e90ed211a2db7359d52c30f492089fe..ed74ef8bb5cadd3b3c651784e30b41c752df9ab4 100644 --- a/src/handlers/xdgurl.h +++ b/src/handlers/xdgurl.h @@ -4,7 +4,7 @@ #include <QObject> #include <QJsonObject> -//class QNetworkReply; +class QNetworkReply; namespace Core { class Config; @@ -37,10 +37,10 @@ private: QJsonObject _loadArchiveTypes(); bool _installPlasmapkg(const QString &path, const QString &type = "plasmoid"); bool _uncompressArchive(const QString &path, const QString &targetDir); - void _download(); - void _install(); private slots: + void _saveDownloadedFile(QNetworkReply *reply); + void _installDownloadedFile(QNetworkReply *reply); public slots: QString getXdgUrl();