aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/pages/instance
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/ui/pages/instance')
-rw-r--r--launcher/ui/pages/instance/InstanceSettingsPage.cpp15
-rw-r--r--launcher/ui/pages/instance/InstanceSettingsPage.ui22
2 files changed, 36 insertions, 1 deletions
diff --git a/launcher/ui/pages/instance/InstanceSettingsPage.cpp b/launcher/ui/pages/instance/InstanceSettingsPage.cpp
index 943ff17f..25cc1a0d 100644
--- a/launcher/ui/pages/instance/InstanceSettingsPage.cpp
+++ b/launcher/ui/pages/instance/InstanceSettingsPage.cpp
@@ -3,6 +3,7 @@
* PolyMC - Minecraft Launcher
* Copyright (c) 2022 Jamie Mansfield <jmansfield@cadixdev.org>
* Copyright (C) 2022 Sefa Eyeoglu <contact@scrumplex.net>
+ * Copyright (C) 2023 seth <getchoo at tuta dot io>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -50,9 +51,9 @@
#include "Application.h"
#include "minecraft/auth/AccountList.h"
+#include "FileSystem.h"
#include "java/JavaInstallList.h"
#include "java/JavaUtils.h"
-#include "FileSystem.h"
InstanceSettingsPage::InstanceSettingsPage(BaseInstance *inst, QWidget *parent)
: QWidget(parent), ui(new Ui::InstanceSettingsPage), m_instance(inst)
@@ -280,6 +281,14 @@ void InstanceSettingsPage::applySettings()
m_settings->reset("InstanceAccountId");
}
+ bool overrideModLoaderSettings = ui->modLoaderSettingsGroupBox->isChecked();
+ m_settings->set("OverrideModLoaderSettings", overrideModLoaderSettings);
+ if (overrideModLoaderSettings) {
+ m_settings->set("DisableQuiltBeacon", ui->disableQuiltBeaconCheckBox->isChecked());
+ } else {
+ m_settings->reset("DisableQuiltBeacon");
+ }
+
// FIXME: This should probably be called by a signal instead
m_instance->updateRuntimeContext();
}
@@ -380,6 +389,10 @@ void InstanceSettingsPage::loadSettings()
ui->instanceAccountGroupBox->setChecked(m_settings->get("UseAccountForInstance").toBool());
updateAccountsMenu();
+
+ // Mod loader specific settings
+ ui->modLoaderSettingsGroupBox->setChecked(m_settings->get("OverrideModLoaderSettings").toBool());
+ ui->disableQuiltBeaconCheckBox->setChecked(m_settings->get("DisableQuiltBeacon").toBool());
}
void InstanceSettingsPage::on_javaDetectBtn_clicked()
diff --git a/launcher/ui/pages/instance/InstanceSettingsPage.ui b/launcher/ui/pages/instance/InstanceSettingsPage.ui
index 8427965d..5c6f74d4 100644
--- a/launcher/ui/pages/instance/InstanceSettingsPage.ui
+++ b/launcher/ui/pages/instance/InstanceSettingsPage.ui
@@ -542,6 +542,28 @@
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_9">
<item>
+ <widget class="QGroupBox" name="modLoaderSettingsGroupBox">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="title">
+ <string>Mod loader settings</string>
+ </property>
+ <layout class="QVBoxLayout" name="VerticalLayout_16">
+ <item>
+ <widget class="QCheckBox" name="disableQuiltBeaconCheckBox">
+ <property name="text">
+ <string>Disable Quilt's Beacon</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
<widget class="QGroupBox" name="gameTimeGroupBox">
<property name="enabled">
<bool>true</bool>