Implement open global settings

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
This commit is contained in:
TheKodeToad
2024-11-07 00:47:32 +00:00
parent 223b6b3b2b
commit e06b3e7a7a
4 changed files with 27 additions and 10 deletions

View File

@ -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("<span style=\" font-weight:600; color:#f5c211;\">Warning</span><span style=\" color:#f5c211;\">: The maximized option is "
"not fully supported on this Minecraft version.</span>"));
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)