|
|
@@ -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);
|
|
|
}
|