diff --git a/launcher/Application.cpp b/launcher/Application.cpp index c45bb1c8c..de60f86eb 100644 --- a/launcher/Application.cpp +++ b/launcher/Application.cpp @@ -972,7 +972,8 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv) [[fallthrough]]; default: { qDebug() << "Exiting because update lockfile is present"; - QMetaObject::invokeMethod(this, []() { exit(1); }, Qt::QueuedConnection); + QMetaObject::invokeMethod( + this, []() { exit(1); }, Qt::QueuedConnection); return; } } @@ -1004,7 +1005,8 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv) [[fallthrough]]; default: { qDebug() << "Exiting because update lockfile is present"; - QMetaObject::invokeMethod(this, []() { exit(1); }, Qt::QueuedConnection); + QMetaObject::invokeMethod( + this, []() { exit(1); }, Qt::QueuedConnection); return; } } @@ -1734,7 +1736,8 @@ QString Application::getJarPath(QString jarFile) #if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) || defined(Q_OS_OPENBSD) FS::PathCombine(m_rootPath, "share", BuildConfig.LAUNCHER_NAME), #endif - FS::PathCombine(m_rootPath, "jars"), FS::PathCombine(applicationDirPath(), "jars"), + FS::PathCombine(m_rootPath, "jars"), + FS::PathCombine(applicationDirPath(), "jars"), FS::PathCombine(applicationDirPath(), "..", "jars") // from inside build dir, for debuging }; for (QString p : potentialPaths) { diff --git a/launcher/ui/widgets/MinecraftSettingsWidget.cpp b/launcher/ui/widgets/MinecraftSettingsWidget.cpp index 79ff4c060..cfe7a49c1 100644 --- a/launcher/ui/widgets/MinecraftSettingsWidget.cpp +++ b/launcher/ui/widgets/MinecraftSettingsWidget.cpp @@ -51,7 +51,7 @@ MinecraftSettingsWidget::MinecraftSettingsWidget(InstancePtr instance, QWidget* m_ui->settingsTabs->removeTab(1); // Launch m_ui->settingsTabs->removeTab(2); - m_ui->openGlobalJavaSettingsButton->setVisible(false); + m_ui->openGlobalSettingsButton->setVisible(false); } else { m_ui->showGameTime->setText(tr("Show time &playing this instance")); m_ui->recordGameTime->setText(tr("&Record time playing this instance")); @@ -61,6 +61,8 @@ MinecraftSettingsWidget::MinecraftSettingsWidget(InstancePtr instance, QWidget* m_ui->maximizedWarning->setText( tr("Warning: The maximized option is " "not fully supported on this Minecraft version.")); + + connect(m_ui->openGlobalSettingsButton, &QCommandLinkButton::clicked, this, &MinecraftSettingsWidget::openGlobalSettings); } m_ui->maximizedWarning->hide(); @@ -68,6 +70,10 @@ MinecraftSettingsWidget::MinecraftSettingsWidget(InstancePtr instance, QWidget* connect(m_ui->maximizedCheckBox, &QCheckBox::toggled, this, [this](const bool value) { m_ui->maximizedWarning->setVisible(value && (m_instance == nullptr || !m_instance->isLegacy())); }); +#if !defined(Q_OS_LINUX) + m_ui->perfomanceGroupBox->hide(); +#endif + loadSettings(); } @@ -136,10 +142,6 @@ void MinecraftSettingsWidget::loadSettings() m_ui->useDiscreteGpuCheck->setChecked(settings->get("UseDiscreteGpu").toBool()); m_ui->useZink->setChecked(settings->get("UseZink").toBool()); -#if !defined(Q_OS_LINUX) - m_ui->perfomanceGroupBox->hide(); -#endif - if (!(APPLICATION->capabilities() & Application::SupportsGameMode)) { m_ui->enableFeralGamemodeCheck->setDisabled(true); m_ui->enableFeralGamemodeCheck->setToolTip(tr("Feral Interactive's GameMode could not be found on your system.")); @@ -311,6 +313,16 @@ void MinecraftSettingsWidget::saveSettings() m_instance->updateRuntimeContext(); } +void MinecraftSettingsWidget::openGlobalSettings() +{ + const QString id = m_ui->settingsTabs->currentWidget()->objectName(); + + if (id == "javaPage") + APPLICATION->ShowGlobalSettings(this, "java-settings"); + else // TODO select tab + APPLICATION->ShowGlobalSettings(this, "minecraft-settings"); +} + SettingsObjectPtr MinecraftSettingsWidget::getSettings() const { if (m_instance != nullptr) diff --git a/launcher/ui/widgets/MinecraftSettingsWidget.h b/launcher/ui/widgets/MinecraftSettingsWidget.h index 3a4bf30a5..a76ff647a 100644 --- a/launcher/ui/widgets/MinecraftSettingsWidget.h +++ b/launcher/ui/widgets/MinecraftSettingsWidget.h @@ -51,6 +51,8 @@ class MinecraftSettingsWidget : public QWidget { void loadSettings(); void saveSettings(); + void openGlobalSettings(); + private: SettingsObjectPtr getSettings() const; diff --git a/launcher/ui/widgets/MinecraftSettingsWidget.ui b/launcher/ui/widgets/MinecraftSettingsWidget.ui index a70d2418e..d86fe20f4 100644 --- a/launcher/ui/widgets/MinecraftSettingsWidget.ui +++ b/launcher/ui/widgets/MinecraftSettingsWidget.ui @@ -24,7 +24,7 @@ 0 - + Open &Global Settings @@ -61,7 +61,7 @@ 0 - -131 + 0 610 607