diff --git a/src/citron/configuration/configure_dialog.h b/src/citron/configuration/configure_dialog.h index b074541e4..a7e678acf 100644 --- a/src/citron/configuration/configure_dialog.h +++ b/src/citron/configuration/configure_dialog.h @@ -7,16 +7,25 @@ #include #include #include -#include -#include "configuration/shared_widget.h" -#include "citron/configuration/configuration_shared.h" -#include "citron/configuration/shared_translation.h" -#include "citron/vk_device_info.h" +#include "common/settings_enums.h" +#include "citron/configuration/shared_widget.h" // <-- Correct header for Builder -namespace Core { -class System; +// Forward declarations for other types +class HotkeyRegistry; +class QButtonGroup; +class QTimer; +namespace InputCommon { + class InputSubsystem; +} +namespace Core { + class System; +} +namespace VkDeviceInfo { + struct Record; +} +namespace Ui { + class ConfigureDialog; } - class ConfigureApplets; class ConfigureAudio; class ConfigureCpu; @@ -27,56 +36,45 @@ class ConfigureGraphics; class ConfigureGraphicsAdvanced; class ConfigureHotkeys; class ConfigureInput; +class ConfigureNetwork; class ConfigureProfileManager; class ConfigureSystem; -class ConfigureNetwork; class ConfigureUi; class ConfigureWeb; -class HotkeyRegistry; - -namespace InputCommon { -class InputSubsystem; -} - -namespace Ui { -class ConfigureDialog; -} - -class ConfigureDialog : public QDialog { +class ConfigureDialog final : public QDialog { Q_OBJECT public: - explicit ConfigureDialog(QWidget* parent, HotkeyRegistry& registry_, + explicit ConfigureDialog(QWidget* parent, HotkeyRegistry& registry, InputCommon::InputSubsystem* input_subsystem, std::vector& vk_device_records, - Core::System& system_, bool enable_web_config = true); + Core::System& system, bool enable_web_config); + ~ConfigureDialog() override; void ApplyConfiguration(); -private slots: - void OnLanguageChanged(const QString& locale); +public slots: + void UpdateTheme(); signals: void LanguageChanged(const QString& locale); private: + void SetConfiguration(); + void HandleApplyButtonClicked(); + void changeEvent(QEvent* event) override; void RetranslateUI(); - void HandleApplyButtonClicked(); - - void SetConfiguration(); + void OnLanguageChanged(const QString& locale); + // All members are now in the EXACT correct order to match the constructor std::unique_ptr ui; HotkeyRegistry& registry; - Core::System& system; std::unique_ptr builder; - std::vector tab_group; - std::unique_ptr tab_button_group; - std::unique_ptr applets_tab; std::unique_ptr audio_tab; std::unique_ptr cpu_tab; @@ -92,4 +90,7 @@ private: std::unique_ptr profile_tab; std::unique_ptr system_tab; std::unique_ptr web_tab; + std::unique_ptr tab_button_group; + QTimer* rainbow_timer; + float rainbow_hue = 0.0f; };