From ded2439786be7dd00fed23b67389b3a94af30079 Mon Sep 17 00:00:00 2001
From: gfdgd_xi <3025613752@qq.com>
Date: Wed, 19 Apr 2023 21:55:44 +0800
Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=AE=BE=E7=BD=AE=E9=BB=98?=
 =?UTF-8?q?=E8=AE=A4=E9=A1=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 qemusetting.cpp | 22 ++++++++++++++++++++++
 qemusetting.h   |  4 ++++
 qemusetting.ui  | 20 ++++++++++++++++++++
 3 files changed, 46 insertions(+)

diff --git a/qemusetting.cpp b/qemusetting.cpp
index f26744a..40a556b 100644
--- a/qemusetting.cpp
+++ b/qemusetting.cpp
@@ -15,6 +15,8 @@ QemuSetting::QemuSetting(QWidget *parent) :
     ui(new Ui::QemuSetting)
 {
     ui->setupUi(this);
+    // 判断是否安装了 Wine 运行器
+    ui->getrunner->setHidden(QFile::exists(QCoreApplication::applicationDirPath() + "/../mainwindow.py"));
     // 设置变量
     if(QFile::exists(QDir::homePath() + "/.config/deepin-wine-runner/QemuSetting.json")){
         // 读取配置文件
@@ -89,6 +91,10 @@ void QemuSetting::on_save_clicked()
     object.insert("CPU", ui->cpuNumber->value());
     qDebug() << QJsonDocument(object).toJson();
     // 读取配置文件
+    QDir dir(QDir::homePath() + "/.config/deepin-wine-runner/");
+    if(!dir.exists()){
+        dir.mkpath(QDir::homePath() + "/.config/deepin-wine-runner/");
+    }
     QFile file(QDir::homePath() + "/.config/deepin-wine-runner/QemuSetting.json");
     file.open(QIODevice::WriteOnly);
     file.write(QJsonDocument(object).toJson());
@@ -105,3 +111,19 @@ void QemuSetting::on_getrunner_clicked()
 {
     QDesktopServices::openUrl(QUrl("https://gitee.com/gfdgd-xi/deep-wine-runner/"));
 }
+
+void QemuSetting::on_enableVnc_stateChanged(int arg1)
+{
+    // 控件的开启/关闭
+    ui->vncNumber->setEnabled(ui->enableVnc->isChecked());
+}
+
+void QemuSetting::on_setDefault_clicked()
+{
+    if(QMessageBox::question(this, "提示", "你确定要重置为默认?重置后将无法恢复") == QMessageBox::No){
+        return;
+    }
+    QFile::remove(QDir::homePath() + "/.config/deepin-wine-runner/QemuSetting.json");
+    this->SetDefaultValue();
+    QMessageBox::information(this, "提示", "设置完成!");
+}
diff --git a/qemusetting.h b/qemusetting.h
index f3d6866..18ea1a5 100644
--- a/qemusetting.h
+++ b/qemusetting.h
@@ -27,6 +27,10 @@ private slots:
 
     void on_getrunner_clicked();
 
+    void on_enableVnc_stateChanged(int arg1);
+
+    void on_setDefault_clicked();
+
 private:
     void SetDefaultValue();
     Ui::QemuSetting *ui;
diff --git a/qemusetting.ui b/qemusetting.ui
index 6d6b764..258ef78 100644
--- a/qemusetting.ui
+++ b/qemusetting.ui
@@ -159,8 +159,28 @@
        </property>
       </widget>
      </item>
+     <item>
+      <widget class="QPushButton" name="setDefault">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text">
+        <string>重置
+默认</string>
+       </property>
+      </widget>
+     </item>
      <item>
       <widget class="QPushButton" name="getrunner">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
        <property name="text">
         <string>获取
 Wine