From 3d3f9a8609308ed141c47921607c6e60b1558493 Mon Sep 17 00:00:00 2001 From: swirl Date: Sat, 29 Jan 2022 21:51:45 -0500 Subject: [PATCH] make closeAfterLaunch good --- .../minecraft/launch/LauncherPartLaunch.cpp | 6 +++--- launcher/ui/pages/global/LauncherPage.cpp | 2 -- launcher/ui/pages/global/LauncherPage.ui | 7 ------- launcher/ui/pages/global/MinecraftPage.cpp | 5 +++++ launcher/ui/pages/global/MinecraftPage.ui | 20 ++++++++++++++++++- .../pages/instance/InstanceSettingsPage.cpp | 3 --- .../ui/pages/instance/InstanceSettingsPage.ui | 7 ------- 7 files changed, 27 insertions(+), 23 deletions(-) diff --git a/launcher/minecraft/launch/LauncherPartLaunch.cpp b/launcher/minecraft/launch/LauncherPartLaunch.cpp index e07e20b7..f461b847 100644 --- a/launcher/minecraft/launch/LauncherPartLaunch.cpp +++ b/launcher/minecraft/launch/LauncherPartLaunch.cpp @@ -25,12 +25,12 @@ LauncherPartLaunch::LauncherPartLaunch(LaunchTask *parent) : LaunchStep(parent) { - if (APPLICATION->settings()->get("CloseAfterLaunch").toBoolean()) + if (APPLICATION->settings()->get("CloseAfterLaunch").toBool()) { std::shared_ptr connection{new QMetaObject::Connection}; *connection = connect(&m_process, &LoggedProcess::log, this, [=](QStringList lines, MessageLevel::Enum level) { qDebug() << lines; - if (lines.filter(QRegularExpression(".+Backend library: LWJGL version.+")).length() != 0) + if (lines.filter(QRegularExpression(".*Setting user.+", QRegularExpression::CaseInsensitiveOption)).length() != 0) { APPLICATION->closeAllWindows(); disconnect(*connection); @@ -168,7 +168,7 @@ void LauncherPartLaunch::on_state(LoggedProcess::State state) } case LoggedProcess::Finished: { - if (APPLICATION->settings()->get("CloseAfterLaunch").toBoolean()) + if (APPLICATION->settings()->get("CloseAfterLaunch").toBool()) APPLICATION->showMainWindow(); m_parent->setPid(-1); // if the exit code wasn't 0, report this as a crash diff --git a/launcher/ui/pages/global/LauncherPage.cpp b/launcher/ui/pages/global/LauncherPage.cpp index db9d4dab..0ffe8050 100644 --- a/launcher/ui/pages/global/LauncherPage.cpp +++ b/launcher/ui/pages/global/LauncherPage.cpp @@ -292,7 +292,6 @@ void LauncherPage::applySettings() s->set("ShowConsole", ui->showConsoleCheck->isChecked()); s->set("AutoCloseConsole", ui->autoCloseConsoleCheck->isChecked()); s->set("ShowConsoleOnError", ui->showConsoleErrorCheck->isChecked()); - s->set("CloseAfterLaunch", ui->closeAfterLaunchCheck->isChecked()); QString consoleFontFamily = ui->consoleFont->currentFont().family(); s->set("ConsoleFont", consoleFontFamily); s->set("ConsoleFontSize", ui->fontSizeBox->value()); @@ -381,7 +380,6 @@ void LauncherPage::loadSettings() ui->showConsoleCheck->setChecked(s->get("ShowConsole").toBool()); ui->autoCloseConsoleCheck->setChecked(s->get("AutoCloseConsole").toBool()); ui->showConsoleErrorCheck->setChecked(s->get("ShowConsoleOnError").toBool()); - ui->closeAfterLaunchCheck->setChecked(s->get("CloseAfterLaunch").toBool()); QString fontFamily = APPLICATION->settings()->get("ConsoleFont").toString(); QFont consoleFont(fontFamily); ui->consoleFont->setCurrentFont(consoleFont); diff --git a/launcher/ui/pages/global/LauncherPage.ui b/launcher/ui/pages/global/LauncherPage.ui index d69c42b0..47fed873 100644 --- a/launcher/ui/pages/global/LauncherPage.ui +++ b/launcher/ui/pages/global/LauncherPage.ui @@ -382,13 +382,6 @@ - - - - Hide console when game window opens? - - - diff --git a/launcher/ui/pages/global/MinecraftPage.cpp b/launcher/ui/pages/global/MinecraftPage.cpp index c763f8ac..5470a586 100644 --- a/launcher/ui/pages/global/MinecraftPage.cpp +++ b/launcher/ui/pages/global/MinecraftPage.cpp @@ -71,6 +71,9 @@ void MinecraftPage::applySettings() s->set("ShowGameTime", ui->showGameTime->isChecked()); s->set("ShowGlobalGameTime", ui->showGlobalGameTime->isChecked()); s->set("RecordGameTime", ui->recordGameTime->isChecked()); + + // Miscellaneous + s->set("CloseAfterLaunch", ui->closeAfterLaunchCheck->isChecked()); } void MinecraftPage::loadSettings() @@ -88,4 +91,6 @@ void MinecraftPage::loadSettings() ui->showGameTime->setChecked(s->get("ShowGameTime").toBool()); ui->showGlobalGameTime->setChecked(s->get("ShowGlobalGameTime").toBool()); ui->recordGameTime->setChecked(s->get("RecordGameTime").toBool()); + + ui->closeAfterLaunchCheck->setChecked(s->get("CloseAfterLaunch").toBool()); } diff --git a/launcher/ui/pages/global/MinecraftPage.ui b/launcher/ui/pages/global/MinecraftPage.ui index 857b8cfb..a28b1f59 100644 --- a/launcher/ui/pages/global/MinecraftPage.ui +++ b/launcher/ui/pages/global/MinecraftPage.ui @@ -164,6 +164,25 @@ + + + + Miscellaneous + + + + + + <html><head/><body><p>PolyMC will automatically reopen when the game crashes or exits.</p></body></html> + + + Close PolyMC after game window opens + + + + + + @@ -184,7 +203,6 @@ - tabWidget maximizedCheckBox windowWidthSpinBox windowHeightSpinBox diff --git a/launcher/ui/pages/instance/InstanceSettingsPage.cpp b/launcher/ui/pages/instance/InstanceSettingsPage.cpp index 47d25c59..b0e18af4 100644 --- a/launcher/ui/pages/instance/InstanceSettingsPage.cpp +++ b/launcher/ui/pages/instance/InstanceSettingsPage.cpp @@ -73,14 +73,12 @@ void InstanceSettingsPage::applySettings() m_settings->set("ShowConsole", ui->showConsoleCheck->isChecked()); m_settings->set("AutoCloseConsole", ui->autoCloseConsoleCheck->isChecked()); m_settings->set("ShowConsoleOnError", ui->showConsoleErrorCheck->isChecked()); - m_settings->set("CloseAfterLaunch", ui->closeAfterLaunchCheck->isChecked()); } else { m_settings->reset("ShowConsole"); m_settings->reset("AutoCloseConsole"); m_settings->reset("ShowConsoleOnError"); - m_settings->reset("CloseAfterLaunch"); } // Window Size @@ -217,7 +215,6 @@ void InstanceSettingsPage::loadSettings() ui->showConsoleCheck->setChecked(m_settings->get("ShowConsole").toBool()); ui->autoCloseConsoleCheck->setChecked(m_settings->get("AutoCloseConsole").toBool()); ui->showConsoleErrorCheck->setChecked(m_settings->get("ShowConsoleOnError").toBool()); - ui->closeAfterLaunchCheck->setChecked(m_settings->get("CloseAfterLaunch").toBool()); // Window Size ui->windowSizeGroupBox->setChecked(m_settings->get("OverrideWindow").toBool()); diff --git a/launcher/ui/pages/instance/InstanceSettingsPage.ui b/launcher/ui/pages/instance/InstanceSettingsPage.ui index 2642dc54..729f8e2a 100644 --- a/launcher/ui/pages/instance/InstanceSettingsPage.ui +++ b/launcher/ui/pages/instance/InstanceSettingsPage.ui @@ -336,13 +336,6 @@ - - - - Hide console when game window opens? - - -