| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- // Copyright 2021 yuzu Emulator Project
- // Licensed under GPLv2 or any later version
- // Refer to the license.txt file included.
- #include <QFileDialog>
- #include <QMessageBox>
- #include "common/fs/fs.h"
- #include "common/fs/path_util.h"
- #include "common/settings.h"
- #include "ui_configure_tas.h"
- #include "yuzu/configuration/configure_tas.h"
- #include "yuzu/uisettings.h"
- ConfigureTasDialog::ConfigureTasDialog(QWidget* parent)
- : QDialog(parent), ui(std::make_unique<Ui::ConfigureTas>()) {
- ui->setupUi(this);
- setFocusPolicy(Qt::ClickFocus);
- setWindowTitle(tr("TAS Configuration"));
- connect(ui->tas_path_button, &QToolButton::pressed, this,
- [this] { SetDirectory(DirectoryTarget::TAS, ui->tas_path_edit); });
- LoadConfiguration();
- }
- ConfigureTasDialog::~ConfigureTasDialog() = default;
- void ConfigureTasDialog::LoadConfiguration() {
- ui->tas_path_edit->setText(
- QString::fromStdString(Common::FS::GetYuzuPathString(Common::FS::YuzuPath::TASDir)));
- ui->tas_enable->setChecked(Settings::values.tas_enable.GetValue());
- ui->tas_control_swap->setChecked(Settings::values.tas_swap_controllers.GetValue());
- ui->tas_loop_script->setChecked(Settings::values.tas_loop.GetValue());
- ui->tas_pause_on_load->setChecked(Settings::values.pause_tas_on_load.GetValue());
- }
- void ConfigureTasDialog::ApplyConfiguration() {
- Common::FS::SetYuzuPath(Common::FS::YuzuPath::TASDir, ui->tas_path_edit->text().toStdString());
- Settings::values.tas_enable.SetValue(ui->tas_enable->isChecked());
- Settings::values.tas_swap_controllers.SetValue(ui->tas_control_swap->isChecked());
- Settings::values.tas_loop.SetValue(ui->tas_loop_script->isChecked());
- Settings::values.pause_tas_on_load.SetValue(ui->tas_pause_on_load->isChecked());
- }
- void ConfigureTasDialog::SetDirectory(DirectoryTarget target, QLineEdit* edit) {
- QString caption;
- switch (target) {
- case DirectoryTarget::TAS:
- caption = tr("Select TAS Load Directory...");
- break;
- }
- QString str = QFileDialog::getExistingDirectory(this, caption, edit->text());
- if (str.isEmpty()) {
- return;
- }
- if (str.back() != QChar::fromLatin1('/')) {
- str.append(QChar::fromLatin1('/'));
- }
- edit->setText(str);
- }
- void ConfigureTasDialog::changeEvent(QEvent* event) {
- if (event->type() == QEvent::LanguageChange) {
- RetranslateUI();
- }
- QDialog::changeEvent(event);
- }
- void ConfigureTasDialog::RetranslateUI() {
- ui->retranslateUi(this);
- }
- void ConfigureTasDialog::HandleApplyButtonClicked() {
- UISettings::values.configuration_applied = true;
- ApplyConfiguration();
- }
|