| |
| |
|
|
| #pragma once |
|
|
| #include <memory> |
| #include <vector> |
| #include <QDialog> |
| #include "configuration/shared_widget.h" |
| #include "yuzu/configuration/configuration_shared.h" |
| #include "yuzu/configuration/shared_translation.h" |
| #include "yuzu/vk_device_info.h" |
|
|
| namespace Core { |
| class System; |
| } |
|
|
| class ConfigureApplets; |
| class ConfigureAudio; |
| class ConfigureCpu; |
| class ConfigureDebugTab; |
| class ConfigureFilesystem; |
| class ConfigureGeneral; |
| class ConfigureGraphics; |
| class ConfigureGraphicsAdvanced; |
| class ConfigureHotkeys; |
| class ConfigureInput; |
| class ConfigureProfileManager; |
| class ConfigureSystem; |
| class ConfigureNetwork; |
| class ConfigureUi; |
| class ConfigureWeb; |
|
|
| class HotkeyRegistry; |
|
|
| namespace InputCommon { |
| class InputSubsystem; |
| } |
|
|
| namespace Ui { |
| class ConfigureDialog; |
| } |
|
|
| class ConfigureDialog : public QDialog { |
| Q_OBJECT |
|
|
| public: |
| explicit ConfigureDialog(QWidget* parent, HotkeyRegistry& registry_, |
| InputCommon::InputSubsystem* input_subsystem, |
| std::vector<VkDeviceInfo::Record>& vk_device_records, |
| Core::System& system_, bool enable_web_config = true); |
| ~ConfigureDialog() override; |
|
|
| void ApplyConfiguration(); |
|
|
| private slots: |
| void OnLanguageChanged(const QString& locale); |
|
|
| signals: |
| void LanguageChanged(const QString& locale); |
|
|
| private: |
| void changeEvent(QEvent* event) override; |
| void RetranslateUI(); |
|
|
| void HandleApplyButtonClicked(); |
|
|
| void SetConfiguration(); |
| void UpdateVisibleTabs(); |
| void PopulateSelectionList(); |
|
|
| std::unique_ptr<Ui::ConfigureDialog> ui; |
| HotkeyRegistry& registry; |
|
|
| Core::System& system; |
| std::unique_ptr<ConfigurationShared::Builder> builder; |
| std::vector<ConfigurationShared::Tab*> tab_group; |
|
|
| std::unique_ptr<ConfigureApplets> applets_tab; |
| std::unique_ptr<ConfigureAudio> audio_tab; |
| std::unique_ptr<ConfigureCpu> cpu_tab; |
| std::unique_ptr<ConfigureDebugTab> debug_tab_tab; |
| std::unique_ptr<ConfigureFilesystem> filesystem_tab; |
| std::unique_ptr<ConfigureGeneral> general_tab; |
| std::unique_ptr<ConfigureGraphicsAdvanced> graphics_advanced_tab; |
| std::unique_ptr<ConfigureUi> ui_tab; |
| std::unique_ptr<ConfigureGraphics> graphics_tab; |
| std::unique_ptr<ConfigureHotkeys> hotkeys_tab; |
| std::unique_ptr<ConfigureInput> input_tab; |
| std::unique_ptr<ConfigureNetwork> network_tab; |
| std::unique_ptr<ConfigureProfileManager> profile_tab; |
| std::unique_ptr<ConfigureSystem> system_tab; |
| std::unique_ptr<ConfigureWeb> web_tab; |
| }; |
|
|