From f91a0ca5a5d665be70ebc6159ffe2ef069d14ec2 Mon Sep 17 00:00:00 2001
From: Akira Ohgaki <akiraohgaki@gmail.com>
Date: Sat, 15 Oct 2016 06:44:08 +0900
Subject: [PATCH] Add method for install appimage

---
 src/utility/package.cpp | 16 ++++++++++++++++
 src/utility/package.h   |  1 +
 2 files changed, 17 insertions(+)

diff --git a/src/utility/package.cpp b/src/utility/package.cpp
index b3c5c75..375ac1e 100644
--- a/src/utility/package.cpp
+++ b/src/utility/package.cpp
@@ -101,4 +101,20 @@ bool Package::uninstallPlasmapkg(const QString &path, const QString &type)
     return false;
 }
 
+bool Package::installAppimage(const QString &path, const QString &targetDir)
+{
+    QProcess process;
+    QString program = "install";
+    QStringList arguments;
+    arguments << "-D" << "-m" << "755" << path << targetDir;
+
+    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 89bf037..debd48a 100644
--- a/src/utility/package.h
+++ b/src/utility/package.h
@@ -15,6 +15,7 @@ public:
     static bool uncompressArchive(const QString &path, const QString &targetDir);
     static bool installPlasmapkg(const QString &path, const QString &type = "plasmoid");
     static bool uninstallPlasmapkg(const QString &path, const QString &type = "plasmoid");
+    static bool installAppimage(const QString &path, const QString &targetDir);
 };
 
 } // namespace Utility
-- 
GitLab