add automatic java switch on minecraft version switch
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
parent
7a66276838
commit
ca298d1ed5
@ -138,6 +138,7 @@ void MinecraftInstance::loadSpecificSettings()
|
||||
// Java Settings
|
||||
auto locationOverride = m_settings->registerSetting("OverrideJavaLocation", false);
|
||||
auto argsOverride = m_settings->registerSetting("OverrideJavaArgs", false);
|
||||
m_settings->registerSetting("AutomaticJava", false);
|
||||
|
||||
if (auto global_settings = globalSettings()) {
|
||||
m_settings->registerOverride(global_settings->getSetting("JavaPath"), locationOverride);
|
||||
|
@ -132,6 +132,7 @@ void AutoInstallJava::setJavaPath(QString path)
|
||||
auto settings = m_instance->settings();
|
||||
settings->set("OverrideJavaLocation", true);
|
||||
settings->set("JavaPath", path);
|
||||
settings->set("AutomaticJava", true);
|
||||
emit logLine(tr("Compatible Java found at: %1.").arg(path), MessageLevel::Info);
|
||||
emitSucceeded();
|
||||
}
|
||||
|
@ -38,6 +38,7 @@
|
||||
#include "InstanceSettingsPage.h"
|
||||
#include "minecraft/MinecraftInstance.h"
|
||||
#include "minecraft/WorldList.h"
|
||||
#include "settings/Setting.h"
|
||||
#include "ui/dialogs/CustomMessageBox.h"
|
||||
#include "ui/java/InstallJavaDialog.h"
|
||||
#include "ui_InstanceSettingsPage.h"
|
||||
@ -346,6 +347,8 @@ void InstanceSettingsPage::loadSettings()
|
||||
bool overrideLocation = m_settings->get("OverrideJavaLocation").toBool();
|
||||
bool overrideArgs = m_settings->get("OverrideJavaArgs").toBool();
|
||||
|
||||
connect(m_settings->getSetting("OverrideJavaLocation").get(), &Setting::SettingChanged, ui->javaSettingsGroupBox,
|
||||
[this] { ui->javaSettingsGroupBox->setChecked(m_settings->get("OverrideJavaLocation").toBool()); });
|
||||
ui->javaSettingsGroupBox->setChecked(overrideLocation);
|
||||
ui->javaPathTextBox->setText(m_settings->get("JavaPath").toString());
|
||||
ui->skipCompatibilityCheckbox->setChecked(m_settings->get("IgnoreJavaCompatibility").toBool());
|
||||
|
@ -393,6 +393,11 @@ void VersionPage::on_actionChange_version_triggered()
|
||||
bool important = false;
|
||||
if (uid == "net.minecraft") {
|
||||
important = true;
|
||||
if (APPLICATION->settings()->get("AutomaticJavaSwitch").toBool() && m_inst->settings()->get("AutomaticJava").toBool() &&
|
||||
m_inst->settings()->get("OverrideJavaLocation").toBool()) {
|
||||
m_inst->settings()->set("OverrideJavaLocation", false);
|
||||
m_inst->settings()->set("JavaPath", "");
|
||||
}
|
||||
}
|
||||
m_profile->setComponentVersion(uid, vselect.selectedVersion()->descriptor(), important);
|
||||
m_profile->resolve(Net::Mode::Online);
|
||||
|
Loading…
Reference in New Issue
Block a user