Revert sliders
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
This commit is contained in:
parent
e1e0a3d887
commit
4e6bfde723
5 changed files with 129 additions and 487 deletions
|
@ -53,11 +53,6 @@
|
|||
|
||||
#include "ui_JavaSettingsWidget.h"
|
||||
|
||||
static QString formatGiBLabel(int value)
|
||||
{
|
||||
return QObject::tr("%1 GiB").arg(value / 1024.0, 0, 'f', 1);
|
||||
}
|
||||
|
||||
JavaSettingsWidget::JavaSettingsWidget(InstancePtr instance, QWidget* parent)
|
||||
: QWidget(parent), m_instance(std::move(instance)), m_ui(new Ui::JavaSettingsWidget)
|
||||
{
|
||||
|
@ -106,50 +101,11 @@ JavaSettingsWidget::JavaSettingsWidget(InstancePtr instance, QWidget* parent)
|
|||
connect(m_ui->javaDetectBtn, &QPushButton::clicked, this, &JavaSettingsWidget::onJavaAutodetect);
|
||||
connect(m_ui->javaBrowseBtn, &QPushButton::clicked, this, &JavaSettingsWidget::onJavaBrowse);
|
||||
|
||||
connect(m_ui->minMemSpinBox, QOverload<int>::of(&QSpinBox::valueChanged), m_ui->minMemSlider, [this](int value) {
|
||||
m_ui->minMemSlider->blockSignals(true);
|
||||
m_ui->minMemSlider->setValue(value);
|
||||
m_ui->minMemSlider->blockSignals(false);
|
||||
});
|
||||
connect(m_ui->maxMemSpinBox, QOverload<int>::of(&QSpinBox::valueChanged), m_ui->maxMemSlider, [this](int value) {
|
||||
m_ui->maxMemSlider->blockSignals(true);
|
||||
m_ui->maxMemSlider->setValue(value);
|
||||
m_ui->maxMemSlider->blockSignals(false);
|
||||
});
|
||||
|
||||
connect(m_ui->minMemSlider, &QAbstractSlider::valueChanged, m_ui->minMemSpinBox, QOverload<int>::of(&QSpinBox::setValue));
|
||||
connect(m_ui->maxMemSlider, &QAbstractSlider::valueChanged, m_ui->maxMemSpinBox, QOverload<int>::of(&QSpinBox::setValue));
|
||||
|
||||
connect(m_ui->minMemSpinBox, &QAbstractSpinBox::editingFinished, this, &JavaSettingsWidget::finishAdjustingMinMemory);
|
||||
connect(m_ui->maxMemSpinBox, &QAbstractSpinBox::editingFinished, this, &JavaSettingsWidget::finishAdjustingMaxMemory);
|
||||
connect(m_ui->minMemSlider, &QAbstractSlider::valueChanged, this, &JavaSettingsWidget::finishAdjustingMinMemory);
|
||||
connect(m_ui->maxMemSlider, &QAbstractSlider::valueChanged, this, &JavaSettingsWidget::finishAdjustingMaxMemory);
|
||||
|
||||
connect(m_ui->maxMemSpinBox, QOverload<int>::of(&QSpinBox::valueChanged), this, &JavaSettingsWidget::onMemoryChange);
|
||||
connect(m_ui->minMemSpinBox, QOverload<int>::of(&QSpinBox::valueChanged), this, &JavaSettingsWidget::onMemoryChange);
|
||||
|
||||
int maxSystemMemory = (Sys::getSystemRam() / Sys::mebibyte) - 1;
|
||||
m_ui->minMemSlider->setMaximum(maxSystemMemory - 1);
|
||||
m_ui->maxMemSlider->setMaximum(maxSystemMemory - 1);
|
||||
m_ui->minMemMaxValueHint->setText(formatGiBLabel(maxSystemMemory - 1));
|
||||
m_ui->maxMemMaxValueHint->setText(formatGiBLabel(maxSystemMemory - 1));
|
||||
|
||||
SettingsObjectPtr settings = APPLICATION->settings();
|
||||
|
||||
enableAdvancedMemoryControl(settings->get("AdvancedJavaMemoryControl").toBool());
|
||||
|
||||
connect(m_ui->memorySimpleButton, &QPushButton::clicked, this, [this, settings] () {
|
||||
enableAdvancedMemoryControl(false);
|
||||
settings->set("AdvancedJavaMemoryControl", false);
|
||||
});
|
||||
|
||||
connect(m_ui->memoryAdvancedButton, &QPushButton::clicked, this, [this, settings] () {
|
||||
enableAdvancedMemoryControl(true);
|
||||
settings->set("AdvancedJavaMemoryControl", true);
|
||||
});
|
||||
connect(m_ui->maxMemSpinBox, QOverload<int>::of(&QSpinBox::valueChanged), this, &JavaSettingsWidget::updateThresholds);
|
||||
connect(m_ui->minMemSpinBox, QOverload<int>::of(&QSpinBox::valueChanged), this, &JavaSettingsWidget::updateThresholds);
|
||||
|
||||
loadSettings();
|
||||
onMemoryChange();
|
||||
updateThresholds();
|
||||
}
|
||||
|
||||
JavaSettingsWidget::~JavaSettingsWidget()
|
||||
|
@ -327,43 +283,23 @@ void JavaSettingsWidget::onJavaAutodetect()
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
void JavaSettingsWidget::onMemoryChange()
|
||||
void JavaSettingsWidget::updateThresholds()
|
||||
{
|
||||
auto sysMiB = Sys::getSystemRam() / Sys::mebibyte;
|
||||
unsigned int maxMem = m_ui->maxMemSpinBox->value();
|
||||
unsigned int minMem = m_ui->minMemSpinBox->value();
|
||||
|
||||
const QString warningColour(QStringLiteral("<span style='color:#f5c211'>%1</span>"));
|
||||
|
||||
if (maxMem >= sysMiB) {
|
||||
m_ui->labelMaxMemNotice->setText(QString("<span style='color:red'>%1</span>").arg(tr("Your maximum memory allocation exceeds your system memory capacity.")));
|
||||
m_ui->labelMaxMemNotice->show();
|
||||
} else if (maxMem > (sysMiB * 0.9)) {
|
||||
// TODO: where is this colour from
|
||||
m_ui->labelMaxMemNotice->setText(QString("<span style='color:#f5c211'>%1</span>")
|
||||
.arg(tr("Your maximum memory allocation is close to your system memory capacity.")));
|
||||
m_ui->labelMaxMemNotice->setText(warningColour.arg(tr("Your maximum memory allocation is close to your system memory capacity.")));
|
||||
m_ui->labelMaxMemNotice->show();
|
||||
} else if (maxMem < minMem) {
|
||||
m_ui->labelMaxMemNotice->setText(warningColour.arg(tr("Your maximum memory allocation is below the minimum memory allocation.")))
|
||||
} else {
|
||||
m_ui->labelMaxMemNotice->hide();
|
||||
}
|
||||
|
||||
m_ui->minMemGBLabel->setText(formatGiBLabel(m_ui->minMemSlider->value()));
|
||||
m_ui->maxMemGBLabel->setText(formatGiBLabel(m_ui->maxMemSlider->value()));
|
||||
}
|
||||
|
||||
void JavaSettingsWidget::finishAdjustingMinMemory()
|
||||
{
|
||||
if (m_ui->minMemSpinBox->value() > m_ui->maxMemSpinBox->value())
|
||||
m_ui->maxMemSpinBox->setValue(m_ui->minMemSpinBox->value());
|
||||
}
|
||||
|
||||
void JavaSettingsWidget::finishAdjustingMaxMemory()
|
||||
{
|
||||
if (m_ui->maxMemSpinBox->value() < m_ui->minMemSpinBox->value())
|
||||
m_ui->minMemSpinBox->setValue(m_ui->maxMemSpinBox->value());
|
||||
}
|
||||
|
||||
void JavaSettingsWidget::enableAdvancedMemoryControl(bool enabled) {
|
||||
m_ui->memorySimpleButton->setChecked(!enabled);
|
||||
m_ui->memoryAdvancedButton->setChecked(enabled);
|
||||
m_ui->memorySimple->setVisible(!enabled);
|
||||
m_ui->memoryAdvanced->setVisible(enabled);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue