summaryrefslogtreecommitdiff
path: root/src/citron/configuration/configure_dialog.h
diff options
context:
space:
mode:
authorZephyron <zephyron@citron-emu.org>2024-12-31 16:19:25 +1000
committerZephyron <zephyron@citron-emu.org>2024-12-31 16:19:25 +1000
commit9427e27e24a7135880ee2881c3c44988e174b41a (patch)
tree83f0062a35be144f6b162eaa823c5b3c7620146e /src/citron/configuration/configure_dialog.h
parentb35ae725d20960411e8588b11c12a2d55f86c9d0 (diff)
chore: update project branding to citron
Diffstat (limited to 'src/citron/configuration/configure_dialog.h')
-rw-r--r--src/citron/configuration/configure_dialog.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/citron/configuration/configure_dialog.h b/src/citron/configuration/configure_dialog.h
new file mode 100644
index 000000000..d0a24a07b
--- /dev/null
+++ b/src/citron/configuration/configure_dialog.h
@@ -0,0 +1,94 @@
+// SPDX-FileCopyrightText: 2016 Citra Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#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;
+};