diff options
author | Petr Mrázek <peterix@gmail.com> | 2019-07-09 02:37:04 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2019-07-09 02:37:04 +0200 |
commit | 497d9bec029247f202befb34cc3d5da6e810fa73 (patch) | |
tree | bb09f943d3ecca1c2954b9af901d8f117a30237c /application/pages/global/DefaultGameOptionsPage.cpp | |
parent | c01d020afc044e50ec3af0799572b42fa96f28fc (diff) | |
download | PrismLauncher-497d9bec029247f202befb34cc3d5da6e810fa73.tar.gz PrismLauncher-497d9bec029247f202befb34cc3d5da6e810fa73.tar.bz2 PrismLauncher-497d9bec029247f202befb34cc3d5da6e810fa73.zip |
NOISSUE simple/stupid default game options, UI only
Diffstat (limited to 'application/pages/global/DefaultGameOptionsPage.cpp')
-rw-r--r-- | application/pages/global/DefaultGameOptionsPage.cpp | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/application/pages/global/DefaultGameOptionsPage.cpp b/application/pages/global/DefaultGameOptionsPage.cpp new file mode 100644 index 00000000..ce97907f --- /dev/null +++ b/application/pages/global/DefaultGameOptionsPage.cpp @@ -0,0 +1,110 @@ +#include "DefaultGameOptionsPage.h" +#include "ui_DefaultGameOptionsPage.h" +#include "minecraft/MinecraftInstance.h" +#include "minecraft/gameoptions/GameOptions.h" +#include <QTabBar> +#include "MultiMC.h" +namespace { +enum Mode { + NoDefault = 0, + NoAutojump = 1, + Fulltext = 2 +}; +} + +DefaultGameOptionsPage::DefaultGameOptionsPage(QWidget* parent) : QWidget(parent), ui(new Ui::DefaultGameOptionsPage) +{ + ui->setupUi(this); + ui->tabWidget->tabBar()->hide(); + ui->defaultOptionsMode->setId(ui->radioDisabled, NoDefault); + ui->defaultOptionsMode->setId(ui->radioNoAutojump, NoAutojump); + ui->defaultOptionsMode->setId(ui->radioFullText, Fulltext); + loadSettings(); + updateEnabledWidgets(); + connect(ui->defaultOptionsMode, SIGNAL(buttonClicked(int)), SLOT(radioChanged(int))); +} + +bool DefaultGameOptionsPage::apply() +{ + applySettings(); + return true; +} + +void DefaultGameOptionsPage::updateEnabledWidgets() +{ + auto id = ui->defaultOptionsMode->checkedId(); + switch(id) { + case NoDefault: + default: + case NoAutojump: { + ui->textEdit->setEnabled(false); + break; + } + case Fulltext: { + ui->textEdit->setEnabled(true); + break; + } + } +} + +void DefaultGameOptionsPage::radioChanged(int) +{ + updateEnabledWidgets(); +} + + +void DefaultGameOptionsPage::applySettings() +{ + auto s = MMC->settings(); + + auto id = ui->defaultOptionsMode->checkedId(); + switch(id) { + case NoDefault: { + s->set("DefaultOptionsMode", "NoDefault"); + break; + } + default: + case NoAutojump: { + s->set("DefaultOptionsMode", "NoAutojump"); + break; + } + case Fulltext: { + s->set("DefaultOptionsMode", "Fulltext"); + break; + } + } + + s->set("DefaultOptionsText", ui->textEdit->toPlainText()); +} + +void DefaultGameOptionsPage::loadSettings() +{ + auto s = MMC->settings(); + auto modeStr = s->get("DefaultOptionsMode").toString(); + if(modeStr == "NoDefault") { + ui->radioDisabled->setChecked(true); + } else if(modeStr == "Fulltext") { + ui->radioFullText->setChecked(true); + } else { + ui->radioNoAutojump->setChecked(true); + } + ui->textEdit->setText(s->get("DefaultOptionsText").toString()); +} + + +DefaultGameOptionsPage::~DefaultGameOptionsPage() +{ + delete ui; +} + +void DefaultGameOptionsPage::openedImpl() +{ +} + +void DefaultGameOptionsPage::closedImpl() +{ +} + +#include "DefaultGameOptionsPage.moc" + + |