Преглед изворни кода

update cal & netparse process

xuqiang пре 3 месеци
родитељ
комит
f636175ad7
2 измењених фајлова са 23 додато и 25 уклоњено
  1. 13 14
      src/calprocess.cpp
  2. 10 11
      src/netparseprocess.cpp

+ 13 - 14
src/calprocess.cpp

@@ -1,6 +1,7 @@
 #include "calprocess.h"
 #include "logger.h"
 #include "defs.h"
+#include "globalsettings.h"
 
 #include <QSettings>
 #include <QMetaEnum>
@@ -15,6 +16,9 @@ CalProcess::CalProcess(QObject *parent)
         QString state = QMetaEnum::fromType<QProcess::ProcessState>().valueToKey(newState);
         QString error = QMetaEnum::fromType<QProcess::ProcessError>().valueToKey(m_process.error());
         LOG_INFO("calculate process state: {}, {}", state.toStdString(), error.toStdString());
+        if(QProcess::NotRunning == newState) {
+            restart();
+        }
     });
 }
 
@@ -41,12 +45,8 @@ void CalProcess::start(const QString &configure)
 
     LOG_INFO("calculate process args: {}", args.join(" ").toStdString());
 
-    // save formula configure file path
-    QSettings settings("storage/conf/settings.ini", QSettings::IniFormat);
-    settings.setIniCodec("UTF-8");
-    settings.beginGroup("CONFIGURE");
-    settings.setValue("CALCULATE", configure);
-    settings.endGroup();
+    GlobalSettings globalSettings;
+    globalSettings.setValue("CONFIGURE", "CALCULATE", configure);
 
     m_process.start(program, args);
 }
@@ -68,14 +68,13 @@ void CalProcess::restart(const QString &configure)
 {
     stop();
     if(configure.isEmpty()) {
-        QSettings settings("storage/conf/settings.ini", QSettings::IniFormat);
-        settings.setIniCodec("UTF-8");
-        settings.beginGroup("CONFIGURE");
-        if(settings.contains("CALCULATE"))
-            start(settings.value("CALCULATE").toString());
-        else
-            start(configure);
-        settings.endGroup();
+        GlobalSettings globalSettings;
+        QVariant value = globalSettings.value("CONFIGURE", "CALCULATE");
+        if(value.isValid()) {
+            start(value.toString());
+        } else {
+            start("");
+        }
     } else {
         start(configure);
     }

+ 10 - 11
src/netparseprocess.cpp

@@ -1,6 +1,7 @@
 #include "netparseprocess.h"
 #include "logger.h"
 #include "defs.h"
+#include "globalsettings.h"
 
 #include <QSettings>
 #include <QMetaEnum>
@@ -45,11 +46,8 @@ void NetParseProcess::start(const QString &configure)
     LOG_INFO("netparse process args: {}", args.join(" ").toStdString());
 
     // save netparse configure file path
-    QSettings settings("storage/conf/settings.ini", QSettings::IniFormat);
-    settings.setIniCodec("UTF-8");
-    settings.beginGroup("CONFIGURE");
-    settings.setValue("NETPARSE", configure);
-    settings.endGroup();
+    GlobalSettings globalSettings;
+    globalSettings.setValue("CONFIGURE", "NETPARSE", configure);
 
     m_process.start(program, args);
 }
@@ -72,12 +70,13 @@ void NetParseProcess::restart(const QString &configure)
     stop();
 
     if(configure.isEmpty()) {
-        QSettings settings("storage/conf/settings.ini", QSettings::IniFormat);
-        settings.setIniCodec("UTF-8");
-        settings.beginGroup("CONFIGURE");
-        if(settings.contains("NETPARSE"))
-            start(settings.value("NETPARSE").toString());
-        settings.endGroup();
+        GlobalSettings globalSettings;
+        QVariant value = globalSettings.value("CONFIGURE", "NETPARSE");
+        if(value.isValid()) {
+            start(value.toString());
+        } else {
+            LOG_INFO("not start netparse process, because not found configure");
+        }
     } else {
         start(configure);
     }