2022-05-15 02:06:02 +02:00
|
|
|
// SPDX-FileCopyrightText: 2016 Citra Emulator Project
|
|
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2016-06-01 10:43:33 +03:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
2023-05-10 17:57:25 -04:00
|
|
|
#include <forward_list>
|
|
|
|
|
#include <functional>
|
2016-09-18 09:38:01 +09:00
|
|
|
#include <memory>
|
2018-10-10 21:49:20 -04:00
|
|
|
|
2016-09-21 00:21:23 +09:00
|
|
|
#include <QWidget>
|
2023-05-05 23:30:59 -04:00
|
|
|
#include "yuzu/configuration/configuration_shared.h"
|
2020-07-14 15:42:12 -04:00
|
|
|
|
2023-05-18 23:05:21 -04:00
|
|
|
class QCheckBox;
|
|
|
|
|
class QLineEdit;
|
|
|
|
|
class QComboBox;
|
2023-05-10 17:57:25 -04:00
|
|
|
class QDateTimeEdit;
|
2021-09-02 21:40:55 -04:00
|
|
|
namespace Core {
|
|
|
|
|
class System;
|
|
|
|
|
}
|
|
|
|
|
|
2016-06-01 10:43:33 +03:00
|
|
|
namespace Ui {
|
|
|
|
|
class ConfigureSystem;
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-21 01:42:42 -04:00
|
|
|
namespace ConfigurationShared {
|
|
|
|
|
class Builder;
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-05 23:30:59 -04:00
|
|
|
class ConfigureSystem : public ConfigurationShared::Tab {
|
2016-06-01 10:43:33 +03:00
|
|
|
public:
|
2023-06-21 01:42:42 -04:00
|
|
|
explicit ConfigureSystem(Core::System& system_,
|
|
|
|
|
std::shared_ptr<std::forward_list<ConfigurationShared::Tab*>> group,
|
|
|
|
|
const ConfigurationShared::Builder& builder,
|
|
|
|
|
QWidget* parent = nullptr);
|
2018-10-25 16:45:13 -04:00
|
|
|
~ConfigureSystem() override;
|
2016-06-01 10:43:33 +03:00
|
|
|
|
2023-05-05 23:30:59 -04:00
|
|
|
void ApplyConfiguration() override;
|
|
|
|
|
void SetConfiguration() override;
|
2016-06-01 10:43:33 +03:00
|
|
|
|
2018-10-25 16:43:42 -04:00
|
|
|
private:
|
2019-06-05 18:39:46 -04:00
|
|
|
void changeEvent(QEvent* event) override;
|
|
|
|
|
void RetranslateUI();
|
|
|
|
|
|
2023-06-21 01:42:42 -04:00
|
|
|
void Setup(const ConfigurationShared::Builder& builder);
|
2018-10-09 21:53:04 -04:00
|
|
|
|
2023-05-10 17:57:25 -04:00
|
|
|
std::forward_list<std::function<void(bool)>> apply_funcs{};
|
2020-07-09 22:42:09 -04:00
|
|
|
|
2016-06-01 10:43:33 +03:00
|
|
|
std::unique_ptr<Ui::ConfigureSystem> ui;
|
2018-10-25 16:52:21 -04:00
|
|
|
bool enabled = false;
|
2016-06-01 10:43:33 +03:00
|
|
|
|
2021-09-02 21:40:55 -04:00
|
|
|
Core::System& system;
|
2023-05-10 17:57:25 -04:00
|
|
|
|
|
|
|
|
QComboBox* combo_region;
|
|
|
|
|
QComboBox* combo_language;
|
2016-06-01 10:43:33 +03:00
|
|
|
};
|