Implement UI for setting recommended RAM
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
This commit is contained in:
@@ -248,6 +248,7 @@ void MinecraftInstance::loadSpecificSettings()
|
|||||||
m_settings->registerSetting("ExportSummary", "");
|
m_settings->registerSetting("ExportSummary", "");
|
||||||
m_settings->registerSetting("ExportAuthor", "");
|
m_settings->registerSetting("ExportAuthor", "");
|
||||||
m_settings->registerSetting("ExportOptionalFiles", true);
|
m_settings->registerSetting("ExportOptionalFiles", true);
|
||||||
|
m_settings->registerSetting("ExportRecommendedRAM");
|
||||||
|
|
||||||
qDebug() << "Instance-type specific settings were loaded!";
|
qDebug() << "Instance-type specific settings were loaded!";
|
||||||
|
|
||||||
|
|||||||
@@ -44,12 +44,16 @@ ExportPackDialog::ExportPackDialog(InstancePtr instance, QWidget* parent, ModPla
|
|||||||
m_ui->version->setText(instance->settings()->get("ExportVersion").toString());
|
m_ui->version->setText(instance->settings()->get("ExportVersion").toString());
|
||||||
m_ui->optionalFiles->setChecked(instance->settings()->get("ExportOptionalFiles").toBool());
|
m_ui->optionalFiles->setChecked(instance->settings()->get("ExportOptionalFiles").toBool());
|
||||||
|
|
||||||
|
connect(m_ui->recommendedMemoryCheckBox, &QCheckBox::toggled, m_ui->recommendedMemory, &QWidget::setEnabled);
|
||||||
|
|
||||||
if (m_provider == ModPlatform::ResourceProvider::MODRINTH) {
|
if (m_provider == ModPlatform::ResourceProvider::MODRINTH) {
|
||||||
setWindowTitle(tr("Export Modrinth Pack"));
|
setWindowTitle(tr("Export Modrinth Pack"));
|
||||||
|
|
||||||
m_ui->authorLabel->hide();
|
m_ui->authorLabel->hide();
|
||||||
m_ui->author->hide();
|
m_ui->author->hide();
|
||||||
|
|
||||||
|
m_ui->recommendedMemoryWidget->hide();
|
||||||
|
|
||||||
m_ui->summary->setPlainText(instance->settings()->get("ExportSummary").toString());
|
m_ui->summary->setPlainText(instance->settings()->get("ExportSummary").toString());
|
||||||
} else {
|
} else {
|
||||||
setWindowTitle(tr("Export CurseForge Pack"));
|
setWindowTitle(tr("Export CurseForge Pack"));
|
||||||
@@ -57,6 +61,19 @@ ExportPackDialog::ExportPackDialog(InstancePtr instance, QWidget* parent, ModPla
|
|||||||
m_ui->summaryLabel->hide();
|
m_ui->summaryLabel->hide();
|
||||||
m_ui->summary->hide();
|
m_ui->summary->hide();
|
||||||
|
|
||||||
|
const int recommendedRAM = instance->settings()->get("ExportRecommendedRAM").toInt();
|
||||||
|
|
||||||
|
if (recommendedRAM > 0) {
|
||||||
|
m_ui->recommendedMemoryCheckBox->setChecked(true);
|
||||||
|
m_ui->recommendedMemory->setValue(recommendedRAM);
|
||||||
|
} else {
|
||||||
|
m_ui->recommendedMemoryCheckBox->setChecked(false);
|
||||||
|
|
||||||
|
// recommend based on setting - limited to 12 GiB (CurseForge warns above this amount)
|
||||||
|
const int defaultRecommendation = qMin(m_instance->settings()->get("MaxMemAlloc").toInt(), 1024 * 12);
|
||||||
|
m_ui->recommendedMemory->setValue(defaultRecommendation);
|
||||||
|
}
|
||||||
|
|
||||||
m_ui->author->setText(instance->settings()->get("ExportAuthor").toString());
|
m_ui->author->setText(instance->settings()->get("ExportAuthor").toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -120,9 +137,15 @@ void ExportPackDialog::done(int result)
|
|||||||
|
|
||||||
if (m_provider == ModPlatform::ResourceProvider::MODRINTH)
|
if (m_provider == ModPlatform::ResourceProvider::MODRINTH)
|
||||||
settings->set("ExportSummary", m_ui->summary->toPlainText());
|
settings->set("ExportSummary", m_ui->summary->toPlainText());
|
||||||
else
|
else {
|
||||||
settings->set("ExportAuthor", m_ui->author->text());
|
settings->set("ExportAuthor", m_ui->author->text());
|
||||||
|
|
||||||
|
if (m_ui->recommendedMemoryCheckBox->isChecked())
|
||||||
|
settings->set("ExportRecommendedRAM", m_ui->recommendedMemory->value());
|
||||||
|
else
|
||||||
|
settings->reset("ExportRecommendedRAM");
|
||||||
|
}
|
||||||
|
|
||||||
if (result == Accepted) {
|
if (result == Accepted) {
|
||||||
const QString name = m_ui->name->text().isEmpty() ? m_instance->name() : m_ui->name->text();
|
const QString name = m_ui->name->text().isEmpty() ? m_instance->name() : m_ui->name->text();
|
||||||
const QString filename = FS::RemoveInvalidFilenameChars(name);
|
const QString filename = FS::RemoveInvalidFilenameChars(name);
|
||||||
|
|||||||
Reference in New Issue
Block a user