From 47255a4d3647312d55d5973dfe4fa54eb5587d78 Mon Sep 17 00:00:00 2001
From: taynpg <taynpg@163.com>
Date: Fri, 12 Apr 2024 07:45:10 +0800
Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E5=8E=BB=E9=99=A4=E6=9C=AA?=
 =?UTF-8?q?=E4=BD=BF=E7=94=A8system=E8=BF=94=E5=9B=9E=E5=80=BC=E8=AD=A6?=
 =?UTF-8?q?=E5=91=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 MainWidget.cpp | 15 ++++++++++-----
 MainWidget.h   |  1 +
 adddesktop.cpp |  2 +-
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/MainWidget.cpp b/MainWidget.cpp
index 7b4f9cd..27d51bf 100644
--- a/MainWidget.cpp
+++ b/MainWidget.cpp
@@ -22,7 +22,7 @@ void MainWidget::connect_operator()
     connect(ui->btnDelEnv, &QPushButton::clicked, this, [=]() { del_env_btn(); });
     connect(ui->btnGenerate, &QPushButton::clicked, this, [=]() { generate(); });
     connect(ui->btnInstall, &QPushButton::clicked, this, [=]() { install_bin2menu(); });
-    connect(ui->btnExit, &QPushButton::clicked, this, [=]() { QApplication::exit();});
+    connect(ui->btnExit, &QPushButton::clicked, this, [=]() { QApplication::exit(); });
 }
 
 void MainWidget::control_init()
@@ -210,6 +210,12 @@ bool MainWidget::isOk(QWidget* parent, const QString& title, const QString& cont
 
 void MainWidget::message(QWidget* parent, const QString& content) { QMessageBox::information(parent, "提示", content); }
 
+void MainWidget::cmd_exec(const std::string& cmd) 
+{
+    int r = system(cmd.c_str());
+    (void)r;
+}
+
 void MainWidget::generate()
 {
     ui->plainTextEdit->clear();
@@ -234,7 +240,7 @@ void MainWidget::generate()
 
     // 处理 platform文件夹
     std::list<fs::path> platform{};
-    fs::path qt_platform(ui->edQtDir->text().trimmed().toStdString());
+    fs::path            qt_platform(ui->edQtDir->text().trimmed().toStdString());
     qt_platform.append("plugins/platforms");
     for (const auto& entry : fs::directory_iterator(qt_platform)) {
         result.push_back(entry.path().string());
@@ -286,14 +292,13 @@ void MainWidget::generate()
     std::string run_sh = content.toStdString();
     boost::replace_all(run_sh, "replace_string", filename);
 
-    std::string out_sh = fs::path(out_dir).append("run.sh").string();
+    std::string   out_sh = fs::path(out_dir).append("run.sh").string();
     std::ofstream out(out_sh, std::ios::out);
     if (!out.is_open()) {
         return;
     }
     out << run_sh;
     out.close();
-    int r = system(std::string("chmod +x " + out_sh).c_str());
-    (void)r;
+    cmd_exec(std::string("chmod +x " + out_sh));
     message(this, "完成");
 }
diff --git a/MainWidget.h b/MainWidget.h
index 839f6c6..f9546c1 100644
--- a/MainWidget.h
+++ b/MainWidget.h
@@ -49,6 +49,7 @@ public:
     static QString SelectFile(QWidget* parent, QLineEdit* pEdit, const QString& info, const QString& filter);
     static bool    isOk(QWidget* parent, const QString& title, const QString& content);
     static void    message(QWidget* parent, const QString& content);
+    static void    cmd_exec(const std::string& cmd);
 
 private:
     Ui::MainWidget* ui;
diff --git a/adddesktop.cpp b/adddesktop.cpp
index d538695..f1b9aa2 100644
--- a/adddesktop.cpp
+++ b/adddesktop.cpp
@@ -100,7 +100,7 @@ void AddDesktop::install_to_desktop()
     out << ct;
     out.close();
     std::string cp_cmd("pkexec cp " + tmp.string() + " /usr/share/applications");
-    system(cp_cmd.c_str());
+    MainWidget::cmd_exec(cp_cmd);
     fs::remove(tmp);
     MainWidget::message(this, "完成");
 }