fix restart

This commit is contained in:
arm64v8a
2023-04-02 13:49:46 +09:00
parent a88712aa97
commit 46bad85dab
5 changed files with 10 additions and 8 deletions

View File

@@ -65,6 +65,7 @@ namespace NekoRay {
int resolve_count = 0;
// Flags
QStringList argv = {};
bool flag_use_appdata = false;
bool flag_many = false;
bool flag_tray = false;

View File

@@ -52,11 +52,11 @@ int main(int argc, char *argv[]) {
#endif
// Flags
auto args = QApplication::arguments();
if (args.contains("-many")) NekoRay::dataStore->flag_many = true;
if (args.contains("-appdata")) NekoRay::dataStore->flag_use_appdata = true;
if (args.contains("-tray")) NekoRay::dataStore->flag_tray = true;
if (args.contains("-debug")) NekoRay::dataStore->flag_debug = true;
NekoRay::dataStore->argv = QApplication::arguments();
if (NekoRay::dataStore->argv.contains("-many")) NekoRay::dataStore->flag_many = true;
if (NekoRay::dataStore->argv.contains("-appdata")) NekoRay::dataStore->flag_use_appdata = true;
if (NekoRay::dataStore->argv.contains("-tray")) NekoRay::dataStore->flag_tray = true;
if (NekoRay::dataStore->argv.contains("-debug")) NekoRay::dataStore->flag_debug = true;
#ifdef NKR_CPP_USE_APPDATA
NekoRay::dataStore->flag_use_appdata = true; // Example: Package & MacOS
#endif

View File

@@ -1,4 +1,5 @@
#include "ExternalProcess.hpp"
#include "main/NekoRay.hpp"
#include <QTimer>
#include <QDir>

View File

@@ -1,7 +1,5 @@
#pragma once
#include "main/NekoRay.hpp"
#include <QProcess>
namespace NekoRay::sys {

View File

@@ -627,7 +627,9 @@ void MainWindow::on_menu_exit_triggered() {
QProcess::startDetached("./updater", QStringList{});
} else if (exit_reason == 2) {
QDir::setCurrent(QApplication::applicationDirPath());
QProcess::startDetached(qEnvironmentVariable("NKR_FROM_LAUNCHER") == "1" ? "./launcher" : QApplication::applicationFilePath(), QStringList{});
auto arguments = NekoRay::dataStore->argv;
if (arguments.length() > 0) arguments.removeFirst();
QProcess::startDetached(qEnvironmentVariable("NKR_FROM_LAUNCHER") == "1" ? "./launcher" : QApplication::applicationFilePath(), arguments);
}
tray->hide();
QCoreApplication::quit();