From 6cbf5729d0485f5672e8221e9956d230d7164250 Mon Sep 17 00:00:00 2001
From: Akira Ohgaki <akiraohgaki@gmail.com>
Date: Mon, 17 Oct 2016 11:41:55 +0900
Subject: [PATCH] Code cleanup

---
 src/core/network.cpp    |  18 +-----
 src/core/network.h      |   4 --
 src/handlers/xdgurl.cpp | 118 +++++++++++++++++++---------------------
 src/handlers/xdgurl.h   |  12 ++--
 src/utility/file.cpp    |  18 +++---
 src/utility/json.cpp    |  20 +++----
 src/utility/json.h      |   4 +-
 7 files changed, 85 insertions(+), 109 deletions(-)

diff --git a/src/core/network.cpp b/src/core/network.cpp
index 6d040d2..f315410 100644
--- a/src/core/network.cpp
+++ b/src/core/network.cpp
@@ -12,7 +12,7 @@ Network::Network(const bool &async, QObject *parent) :
 {
     _manager = new QNetworkAccessManager();
     connect(_manager, &QNetworkAccessManager::finished,
-            this, &Network::_finished);
+            this, &Network::finished);
     if (!_async) {
         _eventLoop = new QEventLoop();
         connect(_manager, &QNetworkAccessManager::finished,
@@ -41,25 +41,11 @@ QNetworkReply *Network::get(const QUrl &uri)
 {
     QNetworkReply *reply = _manager->get(QNetworkRequest(uri));
     connect(reply, &QNetworkReply::downloadProgress,
-            this, &Network::_downloadProgress);
+            this, &Network::downloadProgress);
     if (!_async) {
         _eventLoop->exec();
     }
     return reply;
 }
 
-/**
- * Private slots
- */
-
-void Network::_finished(QNetworkReply *reply)
-{
-    emit finished(reply);
-}
-
-void Network::_downloadProgress(const qint64 &received, const qint64 &total)
-{
-    emit downloadProgress(received, total);
-}
-
 } // namespace Core
diff --git a/src/core/network.h b/src/core/network.h
index 374310c..3a9eac4 100644
--- a/src/core/network.h
+++ b/src/core/network.h
@@ -25,10 +25,6 @@ public:
     QNetworkReply *head(const QUrl &uri);
     QNetworkReply *get(const QUrl &uri);
 
-private slots:
-    void _finished(QNetworkReply *reply);
-    void _downloadProgress(const qint64 &received, const qint64 &total);
-
 signals:
     void finished(QNetworkReply *reply);
     void downloadProgress(const qint64 &received, const qint64 &total);
diff --git a/src/handlers/xdgurl.cpp b/src/handlers/xdgurl.cpp
index d7b5d52..c10a3fb 100644
--- a/src/handlers/xdgurl.cpp
+++ b/src/handlers/xdgurl.cpp
@@ -169,8 +169,12 @@ void XdgUrl::_installDownloadedFile(QNetworkReply *reply)
     Utility::File::makeDir(destination);
     Utility::File::remove(path); // Remove previous downloaded file
 
-    if ((type == "plasma_plasmoids" || type == "plasma4_plasmoids" || type == "plasma5_plasmoids")
-            && Utility::Package::installPlasmapkg(temporaryFile.fileName(), "plasmoid")) {
+    if ((type == "bin" || type == "appimage")
+            && Utility::Package::installProgram(temporaryFile.fileName(), path)) {
+        result["message"] = QString("The program has been installed into " + destination);
+    }
+    else if ((type == "plasma_plasmoids" || type == "plasma4_plasmoids" || type == "plasma5_plasmoids")
+             && Utility::Package::installPlasmapkg(temporaryFile.fileName(), "plasmoid")) {
         result["message"] = QString("The plasmoid has been installed");
     }
     else if ((type == "plasma_look_and_feel" || type == "plasma5_look_and_feel")
@@ -193,10 +197,6 @@ void XdgUrl::_installDownloadedFile(QNetworkReply *reply)
              && Utility::Package::installPlasmapkg(temporaryFile.fileName(), "windowswitcher")) {
         result["message"] = QString("The KWin window switcher has been installed");
     }
-    else if ((type == "bin" || type == "appimage")
-             && Utility::Package::installProgram(temporaryFile.fileName(), path)) {
-        result["message"] = QString("The program has been installed into " + destination);
-    }
     else if (Utility::Package::uncompressArchive(temporaryFile.fileName(), destination)) {
         result["message"] = QString("The archive file has been uncompressed into " + destination);
     }
@@ -217,57 +217,33 @@ void XdgUrl::_installDownloadedFile(QNetworkReply *reply)
 }
 
 /**
- * Private slots
+ * Slots
  */
 
-void XdgUrl::_downloaded(QNetworkReply *reply)
+void XdgUrl::process()
 {
-    if (reply->error() != QNetworkReply::NoError) {
+    /**
+     * xdgs scheme is a reserved name, so the process of xdgs
+     * is the same process of the xdg scheme currently.
+     */
+
+    if (!isValid()) {
         QJsonObject result;
-        result["status"] = QString("error_network");
-        result["message"] = reply->errorString();
+        result["status"] = QString("error_validation");
+        result["message"] = QString("Invalid XDG-URL " + _xdgUrl);
         emit error(Utility::Json::convertObjToStr(result));
         return;
     }
 
-    if (reply->hasRawHeader("Location")) {
-        QString redirectUrl = QString(reply->rawHeader("Location"));
-        if (redirectUrl.startsWith("/")) {
-            redirectUrl = reply->url().authority() + redirectUrl;
-        }
-        _network->get(QUrl(redirectUrl));
-        return;
-    }
-
-    if (reply->hasRawHeader("Refresh")) {
-        QString refreshUrl = QString(reply->rawHeader("Refresh")).split("url=").last();
-        if (refreshUrl.startsWith("/")) {
-            refreshUrl = reply->url().authority() + refreshUrl;
-        }
-        _network->get(QUrl(refreshUrl));
-        return;
-    }
-
-    if (_metadata["command"].toString() == "download") {
-        _saveDownloadedFile(reply);
-    }
-    else if (_metadata["command"].toString() == "install") {
-        _installDownloadedFile(reply);
-    }
-}
-
-/**
- * Public slots
- */
-
-QString XdgUrl::getXdgUrl()
-{
-    return _xdgUrl;
+    _network->get(QUrl(_metadata["url"].toString()));
+    emit started();
 }
 
-QString XdgUrl::getMetadata()
+void XdgUrl::openDestination()
 {
-    return Utility::Json::convertObjToStr(_metadata);
+    if (!_destination.isEmpty()) {
+        QDesktopServices::openUrl(QUrl("file://" + _destination));
+    }
 }
 
 bool XdgUrl::isValid()
@@ -289,29 +265,49 @@ bool XdgUrl::isValid()
     return false;
 }
 
-void XdgUrl::process()
+QString XdgUrl::getXdgUrl()
 {
-    /**
-     * xdgs scheme is a reserved name, so the process of xdgs
-     * is the same process of the xdg scheme currently.
-     */
+    return _xdgUrl;
+}
 
-    if (!isValid()) {
+QString XdgUrl::getMetadata()
+{
+    return Utility::Json::convertObjToStr(_metadata);
+}
+
+void XdgUrl::_downloaded(QNetworkReply *reply)
+{
+    if (reply->error() != QNetworkReply::NoError) {
         QJsonObject result;
-        result["status"] = QString("error_validation");
-        result["message"] = QString("Invalid XDG-URL " + _xdgUrl);
+        result["status"] = QString("error_network");
+        result["message"] = reply->errorString();
         emit error(Utility::Json::convertObjToStr(result));
         return;
     }
 
-    _network->get(QUrl(_metadata["url"].toString()));
-    emit started();
-}
+    if (reply->hasRawHeader("Location")) {
+        QString redirectUrl = QString(reply->rawHeader("Location"));
+        if (redirectUrl.startsWith("/")) {
+            redirectUrl = reply->url().authority() + redirectUrl;
+        }
+        _network->get(QUrl(redirectUrl));
+        return;
+    }
 
-void XdgUrl::openDestination()
-{
-    if (!_destination.isEmpty()) {
-        QDesktopServices::openUrl(QUrl("file://" + _destination));
+    if (reply->hasRawHeader("Refresh")) {
+        QString refreshUrl = QString(reply->rawHeader("Refresh")).split("url=").last();
+        if (refreshUrl.startsWith("/")) {
+            refreshUrl = reply->url().authority() + refreshUrl;
+        }
+        _network->get(QUrl(refreshUrl));
+        return;
+    }
+
+    if (_metadata["command"].toString() == "download") {
+        _saveDownloadedFile(reply);
+    }
+    else if (_metadata["command"].toString() == "install") {
+        _installDownloadedFile(reply);
     }
 }
 
diff --git a/src/handlers/xdgurl.h b/src/handlers/xdgurl.h
index 4270252..03ce745 100644
--- a/src/handlers/xdgurl.h
+++ b/src/handlers/xdgurl.h
@@ -36,15 +36,15 @@ private:
     void _saveDownloadedFile(QNetworkReply *reply);
     void _installDownloadedFile(QNetworkReply *reply);
 
-private slots:
-    void _downloaded(QNetworkReply *reply);
-
 public slots:
-    QString getXdgUrl();
-    QString getMetadata();
-    bool isValid();
     void process();
     void openDestination();
+    bool isValid();
+    QString getXdgUrl();
+    QString getMetadata();
+
+private slots:
+    void _downloaded(QNetworkReply *reply);
 
 signals:
     void started();
diff --git a/src/utility/file.cpp b/src/utility/file.cpp
index 2330ba1..6f6ed15 100644
--- a/src/utility/file.cpp
+++ b/src/utility/file.cpp
@@ -8,6 +8,14 @@
 
 namespace Utility {
 
+/**
+ * XDG Base Directory Specification
+ * http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
+ *
+ * KDE System Administration/Environment Variables
+ * https://userbase.kde.org/KDE_System_Administration/Environment_Variables
+ */
+
 File::File(QObject *parent) : QObject(parent)
 {}
 
@@ -26,11 +34,6 @@ QString File::homePath()
     return QDir::homePath();
 }
 
-/**
- * XDG Base Directory Specification
- * http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
- */
-
 QString File::xdgDataHomePath()
 {
     QString path = QString::fromLocal8Bit(qgetenv("XDG_DATA_HOME").constData());
@@ -58,11 +61,6 @@ QString File::xdgCacheHomePath()
     return path;
 }
 
-/**
- * KDE System Administration/Environment Variables
- * https://userbase.kde.org/KDE_System_Administration/Environment_Variables
- */
-
 QString File::kdehomePath()
 {
     // KDE 4 maybe uses $KDEHOME
diff --git a/src/utility/json.cpp b/src/utility/json.cpp
index cbce058..d70ba2d 100644
--- a/src/utility/json.cpp
+++ b/src/utility/json.cpp
@@ -9,14 +9,10 @@ namespace Utility {
 Json::Json(QObject *parent) : QObject(parent)
 {}
 
-bool Json::isValid(const QString &json)
+QString Json::convertObjToStr(const QJsonObject &jsonObj)
 {
-    QJsonParseError jsonError;
-    QJsonDocument::fromJson(json.toUtf8(), &jsonError);
-    if (jsonError.error == QJsonParseError::NoError) {
-        return true;
-    }
-    return false;
+    QJsonDocument jsonDoc(jsonObj);
+    return QString::fromUtf8(jsonDoc.toJson());
 }
 
 QJsonObject Json::convertStrToObj(const QString &json)
@@ -30,10 +26,14 @@ QJsonObject Json::convertStrToObj(const QString &json)
     return jsonObj;
 }
 
-QString Json::convertObjToStr(const QJsonObject &jsonObj)
+bool Json::isValid(const QString &json)
 {
-    QJsonDocument jsonDoc(jsonObj);
-    return QString::fromUtf8(jsonDoc.toJson());
+    QJsonParseError jsonError;
+    QJsonDocument::fromJson(json.toUtf8(), &jsonError);
+    if (jsonError.error == QJsonParseError::NoError) {
+        return true;
+    }
+    return false;
 }
 
 } // namespace Utility
diff --git a/src/utility/json.h b/src/utility/json.h
index 68f100b..3b7a0d2 100644
--- a/src/utility/json.h
+++ b/src/utility/json.h
@@ -12,9 +12,9 @@ class Json : public QObject
 public:
     explicit Json(QObject *parent = 0);
 
-    static bool isValid(const QString &json);
-    static QJsonObject convertStrToObj(const QString &json);
     static QString convertObjToStr(const QJsonObject &jsonObj);
+    static QJsonObject convertStrToObj(const QString &json);
+    static bool isValid(const QString &json);
 };
 
 } // namespace Utility
-- 
GitLab