yuzu qt: Add an Apply button to configuration dialogs

Most of the code already exists to do this, but the Apply button itself
was never added. This adds a button and boolean that tells yuzu to save
the configuration after applying settings, even if close/Cancel is
pressed on the dialog. Changes after applying will not be saved when
Cancel is pressed, though.
This commit is contained in:
lat9nq 2021-05-17 16:13:39 -04:00
parent 7626ca3343
commit c1bad4357a
6 changed files with 59 additions and 20 deletions

View file

@ -6,9 +6,12 @@
#include <memory>
#include <utility>
#include <QAbstractButton>
#include <QCheckBox>
#include <QDialogButtonBox>
#include <QHeaderView>
#include <QMenu>
#include <QPushButton>
#include <QStandardItemModel>
#include <QString>
#include <QTimer>
@ -44,6 +47,12 @@ ConfigurePerGame::ConfigurePerGame(QWidget* parent, u64 title_id)
scene = new QGraphicsScene;
ui->icon_view->setScene(scene);
if (Core::System::GetInstance().IsPoweredOn()) {
QPushButton* apply_button = ui->buttonBox->addButton(QDialogButtonBox::Apply);
connect(apply_button, &QAbstractButton::clicked, this,
&ConfigurePerGame::HandleApplyButtonClicked);
}
LoadConfiguration();
}
@ -76,6 +85,11 @@ void ConfigurePerGame::RetranslateUI() {
ui->retranslateUi(this);
}
void ConfigurePerGame::HandleApplyButtonClicked() {
UISettings::values.configuration_applied = true;
ApplyConfiguration();
}
void ConfigurePerGame::LoadFromFile(FileSys::VirtualFile file) {
this->file = std::move(file);
LoadConfiguration();