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
|
// Java Settings
|
||||||
auto locationOverride = m_settings->registerSetting("OverrideJavaLocation", false);
|
auto locationOverride = m_settings->registerSetting("OverrideJavaLocation", false);
|
||||||
auto argsOverride = m_settings->registerSetting("OverrideJavaArgs", false);
|
auto argsOverride = m_settings->registerSetting("OverrideJavaArgs", false);
|
||||||
|
m_settings->registerSetting("AutomaticJava", false);
|
||||||
|
|
||||||
if (auto global_settings = globalSettings()) {
|
if (auto global_settings = globalSettings()) {
|
||||||
m_settings->registerOverride(global_settings->getSetting("JavaPath"), locationOverride);
|
m_settings->registerOverride(global_settings->getSetting("JavaPath"), locationOverride);
|
||||||
|
@ -132,6 +132,7 @@ void AutoInstallJava::setJavaPath(QString path)
|
|||||||
auto settings = m_instance->settings();
|
auto settings = m_instance->settings();
|
||||||
settings->set("OverrideJavaLocation", true);
|
settings->set("OverrideJavaLocation", true);
|
||||||
settings->set("JavaPath", path);
|
settings->set("JavaPath", path);
|
||||||
|
settings->set("AutomaticJava", true);
|
||||||
emit logLine(tr("Compatible Java found at: %1.").arg(path), MessageLevel::Info);
|
emit logLine(tr("Compatible Java found at: %1.").arg(path), MessageLevel::Info);
|
||||||
emitSucceeded();
|
emitSucceeded();
|
||||||
}
|
}
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
#include "InstanceSettingsPage.h"
|
#include "InstanceSettingsPage.h"
|
||||||
#include "minecraft/MinecraftInstance.h"
|
#include "minecraft/MinecraftInstance.h"
|
||||||
#include "minecraft/WorldList.h"
|
#include "minecraft/WorldList.h"
|
||||||
|
#include "settings/Setting.h"
|
||||||
#include "ui/dialogs/CustomMessageBox.h"
|
#include "ui/dialogs/CustomMessageBox.h"
|
||||||
#include "ui/java/InstallJavaDialog.h"
|
#include "ui/java/InstallJavaDialog.h"
|
||||||
#include "ui_InstanceSettingsPage.h"
|
#include "ui_InstanceSettingsPage.h"
|
||||||
@ -346,6 +347,8 @@ void InstanceSettingsPage::loadSettings()
|
|||||||
bool overrideLocation = m_settings->get("OverrideJavaLocation").toBool();
|
bool overrideLocation = m_settings->get("OverrideJavaLocation").toBool();
|
||||||
bool overrideArgs = m_settings->get("OverrideJavaArgs").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->javaSettingsGroupBox->setChecked(overrideLocation);
|
||||||
ui->javaPathTextBox->setText(m_settings->get("JavaPath").toString());
|
ui->javaPathTextBox->setText(m_settings->get("JavaPath").toString());
|
||||||
ui->skipCompatibilityCheckbox->setChecked(m_settings->get("IgnoreJavaCompatibility").toBool());
|
ui->skipCompatibilityCheckbox->setChecked(m_settings->get("IgnoreJavaCompatibility").toBool());
|
||||||
|
@ -393,6 +393,11 @@ void VersionPage::on_actionChange_version_triggered()
|
|||||||
bool important = false;
|
bool important = false;
|
||||||
if (uid == "net.minecraft") {
|
if (uid == "net.minecraft") {
|
||||||
important = true;
|
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->setComponentVersion(uid, vselect.selectedVersion()->descriptor(), important);
|
||||||
m_profile->resolve(Net::Mode::Online);
|
m_profile->resolve(Net::Mode::Online);
|
||||||
|
Loading…
Reference in New Issue
Block a user