From f3076bc94bdcd43af447d964f01444d448cac1da Mon Sep 17 00:00:00 2001
From: Akira Ohgaki <akiraohgaki@gmail.com>
Date: Mon, 17 Oct 2016 03:26:30 +0900
Subject: [PATCH] Add installFile() method

---
 src/utility/package.cpp | 112 +++++++++++++++++++++++-----------------
 src/utility/package.h   |   5 +-
 2 files changed, 67 insertions(+), 50 deletions(-)

diff --git a/src/utility/package.cpp b/src/utility/package.cpp
index 698ca55..a8ca8e1 100644
--- a/src/utility/package.cpp
+++ b/src/utility/package.cpp
@@ -9,6 +9,70 @@ namespace Utility {
 Package::Package(QObject *parent) : QObject(parent)
 {}
 
+bool Package::installProgram(const QString &path, const QString &targetPath)
+{
+    QProcess process;
+    QString program = "install";
+    QStringList arguments;
+    arguments << "-m" << "755" << "-p" << path << targetPath;
+
+    process.start(program, arguments);
+
+    if (process.waitForFinished()) {
+        return true;
+    }
+
+    return false;
+}
+
+bool Package::installFile(const QString &path, const QString &targetPath)
+{
+    QProcess process;
+    QString program = "install";
+    QStringList arguments;
+    arguments << "-m" << "644" << "-p" << path << targetPath;
+
+    process.start(program, arguments);
+
+    if (process.waitForFinished()) {
+        return true;
+    }
+
+    return false;
+}
+
+bool Package::installPlasmapkg(const QString &path, const QString &type)
+{
+    QProcess process;
+    QString program = "plasmapkg2"; // Use plasmapkg2 for now
+    QStringList arguments;
+    arguments << "-t" << type << "-i" << path;
+
+    process.start(program, arguments);
+
+    if (process.waitForFinished()) {
+        return true;
+    }
+
+    return false;
+}
+
+bool Package::uninstallPlasmapkg(const QString &path, const QString &type)
+{
+    QProcess process;
+    QString program = "plasmapkg2"; // Use plasmapkg2 for now
+    QStringList arguments;
+    arguments << "-t" << type << "-r" << path;
+
+    process.start(program, arguments);
+
+    if (process.waitForFinished()) {
+        return true;
+    }
+
+    return false;
+}
+
 bool Package::uncompressArchive(const QString &path, const QString &targetDir)
 {
     QJsonObject archiveTypes;
@@ -69,52 +133,4 @@ bool Package::uncompressArchive(const QString &path, const QString &targetDir)
     return false;
 }
 
-bool Package::installPlasmapkg(const QString &path, const QString &type)
-{
-    QProcess process;
-    QString program = "plasmapkg2"; // Use plasmapkg2 for now
-    QStringList arguments;
-    arguments << "-t" << type << "-i" << path;
-
-    process.start(program, arguments);
-
-    if (process.waitForFinished()) {
-        return true;
-    }
-
-    return false;
-}
-
-bool Package::uninstallPlasmapkg(const QString &path, const QString &type)
-{
-    QProcess process;
-    QString program = "plasmapkg2"; // Use plasmapkg2 for now
-    QStringList arguments;
-    arguments << "-t" << type << "-r" << path;
-
-    process.start(program, arguments);
-
-    if (process.waitForFinished()) {
-        return true;
-    }
-
-    return false;
-}
-
-bool Package::installProgram(const QString &path, const QString &targetPath)
-{
-    QProcess process;
-    QString program = "install";
-    QStringList arguments;
-    arguments << "-D" << "-m" << "755" << path << targetPath;
-
-    process.start(program, arguments);
-
-    if (process.waitForFinished()) {
-        return true;
-    }
-
-    return false;
-}
-
 } // namespace Utility
diff --git a/src/utility/package.h b/src/utility/package.h
index a3a0ae1..b8c0701 100644
--- a/src/utility/package.h
+++ b/src/utility/package.h
@@ -12,10 +12,11 @@ class Package : public QObject
 public:
     explicit Package(QObject *parent = 0);
 
-    static bool uncompressArchive(const QString &path, const QString &targetDir);
+    static bool installProgram(const QString &path, const QString &targetPath);
+    static bool installFile(const QString &path, const QString &targetPath);
     static bool installPlasmapkg(const QString &path, const QString &type = "plasmoid");
     static bool uninstallPlasmapkg(const QString &path, const QString &type = "plasmoid");
-    static bool installProgram(const QString &path, const QString &targetPath);
+    static bool uncompressArchive(const QString &path, const QString &targetDir);
 };
 
 } // namespace Utility
-- 
GitLab