diff --git a/Externals/SDL/SDL2.vcxproj b/Externals/SDL/SDL2.vcxproj index 3c0ebd7e0c..8622894d84 100644 --- a/Externals/SDL/SDL2.vcxproj +++ b/Externals/SDL/SDL2.vcxproj @@ -131,17 +131,11 @@ - - - - - - @@ -192,13 +186,6 @@ - - - - - - - @@ -212,7 +199,6 @@ - @@ -245,19 +231,14 @@ + - - - - - - - + @@ -310,17 +291,14 @@ - - - @@ -423,9 +401,7 @@ - - - + diff --git a/Source/Core/DolphinQt/Main.cpp b/Source/Core/DolphinQt/Main.cpp index 8aa9215d98..a370736fd1 100644 --- a/Source/Core/DolphinQt/Main.cpp +++ b/Source/Core/DolphinQt/Main.cpp @@ -281,7 +281,7 @@ int main(int argc, char* argv[]) "efforts. It also helps us identify rare configurations that are " "causing bugs, performance and stability issues.\n" "This authorization can be revoked at any time through Dolphin's " - "settings.")); + "settings.\n\nNone of this information will be sent to the staff at Mario Party Netplay.")); SetQWidgetWindowDecorations(&analytics_prompt); const int answer = analytics_prompt.exec(); diff --git a/Source/Core/DolphinQt/Settings.cpp b/Source/Core/DolphinQt/Settings.cpp index 1dced089db..690f2fc763 100644 --- a/Source/Core/DolphinQt/Settings.cpp +++ b/Source/Core/DolphinQt/Settings.cpp @@ -203,7 +203,8 @@ void Settings::ApplyStyle() // which would select Qt's default theme, but unlike other OSes we don't automatically get a // default dark theme on Windows when the user has selected dark mode in the Windows settings. // So manually check if the user wants dark mode and, if yes, load our embedded dark theme. - if (style_type == StyleType::Dark && IsSystemDark()) + QString productName = QSysInfo::prettyProductName(); + if (!productName.contains(QStringLiteral("Windows 11"), Qt::CaseInsensitive) && IsSystemDark()) { QFile file(QStringLiteral(":/dolphin_dark_win/dark.qss")); if (file.open(QFile::ReadOnly)) @@ -539,6 +540,15 @@ bool Settings::GetCheatsEnabled() const return Config::Get(Config::MAIN_ENABLE_CHEATS); } +void Settings::SetCheatsEnabled(bool enabled) +{ + if (Config::Get(Config::MAIN_ENABLE_CHEATS) != enabled) + { + Config::SetBaseOrCurrent(Config::MAIN_ENABLE_CHEATS, enabled); + emit EnableCheatsChanged(enabled); + } +} + void Settings::SetDebugModeEnabled(bool enabled) { if (AchievementManager::GetInstance().IsHardcoreModeActive()) diff --git a/Source/Core/DolphinQt/Settings.h b/Source/Core/DolphinQt/Settings.h index f59e7c143b..a1ceb0c8c5 100644 --- a/Source/Core/DolphinQt/Settings.h +++ b/Source/Core/DolphinQt/Settings.h @@ -145,6 +145,7 @@ public: // Cheats bool GetCheatsEnabled() const; + void SetCheatsEnabled(bool enabled); // Debug void SetDebugModeEnabled(bool enabled); diff --git a/Source/Core/DolphinQt/Settings/GeneralPane.cpp b/Source/Core/DolphinQt/Settings/GeneralPane.cpp index 788431047c..cf34a096aa 100644 --- a/Source/Core/DolphinQt/Settings/GeneralPane.cpp +++ b/Source/Core/DolphinQt/Settings/GeneralPane.cpp @@ -24,11 +24,8 @@ #include "Core/PowerPC/PowerPC.h" #include "Core/System.h" -#include "DolphinQt/Config/ConfigControls/ConfigBool.h" -#include "DolphinQt/Config/ToolTipControls/ToolTipCheckBox.h" -#include "DolphinQt/Config/ToolTipControls/ToolTipComboBox.h" -#include "DolphinQt/Config/ToolTipControls/ToolTipPushButton.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/QtUtils/SignalBlocking.h" #include "DolphinQt/Settings.h" @@ -55,7 +52,6 @@ GeneralPane::GeneralPane(QWidget* parent) : QWidget(parent) { CreateLayout(); LoadConfig(); - AddDescriptions(); ConnectLayout(); @@ -79,16 +75,19 @@ void GeneralPane::CreateLayout() CreateCheats(); m_main_layout->addStretch(1); setLayout(m_main_layout); - } void GeneralPane::OnEmulationStateChanged(Core::State state) { const bool running = state != Core::State::Uninitialized; - const bool hardcore = AchievementManager::GetInstance().IsHardcoreModeActive(); m_checkbox_dualcore->setEnabled(!running); +#ifdef USE_RETRO_ACHIEVEMENTS + bool hardcore = AchievementManager::GetInstance().IsHardcoreModeActive(); m_checkbox_cheats->setEnabled(!running && !hardcore); +#else // USE_RETRO_ACHIEVEMENTS + m_checkbox_cheats->setEnabled(!running); +#endif // USE_RETRO_ACHIEVEMENTS m_checkbox_override_region_settings->setEnabled(!running); #ifdef USE_DISCORD_PRESENCE m_checkbox_discord_presence->setEnabled(!running); @@ -100,7 +99,8 @@ void GeneralPane::ConnectLayout() { connect(m_checkbox_dualcore, &QCheckBox::toggled, this, &GeneralPane::OnSaveConfig); connect(m_checkbox_cheats, &QCheckBox::toggled, this, &GeneralPane::OnSaveConfig); - connect(m_combobox_codehandler, QOverload::of(&QComboBox::currentIndexChanged), this, &GeneralPane::OnCodeHandlerChanged); + connect(m_combobox_codehandler, QOverload::of(&QComboBox::currentIndexChanged), this, + &GeneralPane::OnCodeHandlerChanged); connect(m_checkbox_override_region_settings, &QCheckBox::stateChanged, this, &GeneralPane::OnSaveConfig); connect(m_checkbox_auto_disc_change, &QCheckBox::toggled, this, &GeneralPane::OnSaveConfig); @@ -134,18 +134,17 @@ void GeneralPane::CreateBasic() basic_group->setLayout(basic_group_layout); m_main_layout->addWidget(basic_group); - m_checkbox_dualcore = new ConfigBool(tr("Enable Dual Core (speedhack)"), Config::MAIN_CPU_THREAD); + m_checkbox_dualcore = new QCheckBox(tr("Enable Dual Core (speed-hack)")); basic_group_layout->addWidget(m_checkbox_dualcore); m_checkbox_override_region_settings = new QCheckBox(tr("Allow Mismatched Region Settings")); basic_group_layout->addWidget(m_checkbox_override_region_settings); - m_checkbox_auto_disc_change = - new ConfigBool(tr("Change Discs Automatically"), Config::MAIN_AUTO_DISC_CHANGE); + m_checkbox_auto_disc_change = new QCheckBox(tr("Change Discs Automatically")); basic_group_layout->addWidget(m_checkbox_auto_disc_change); #ifdef USE_DISCORD_PRESENCE - m_checkbox_discord_presence = new ToolTipCheckBox(tr("Show Current Game on Discord")); + m_checkbox_discord_presence = new QCheckBox(tr("Show Current Game on Discord")); basic_group_layout->addWidget(m_checkbox_discord_presence); #endif @@ -154,7 +153,7 @@ void GeneralPane::CreateBasic() speed_limit_layout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow); basic_group_layout->addLayout(speed_limit_layout); - m_combobox_speedlimit = new ToolTipComboBox(); + m_combobox_speedlimit = new QComboBox(); m_combobox_speedlimit->addItem(tr("Unlimited")); for (int i = 10; i <= 200; i += 10) // from 10% to 200% @@ -183,11 +182,17 @@ void GeneralPane::CreateFallbackRegion() fallback_region_dropdown_layout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow); fallback_region_group_layout->addLayout(fallback_region_dropdown_layout); - m_combobox_fallback_region = new ToolTipComboBox(); + m_combobox_fallback_region = new QComboBox(this); fallback_region_dropdown_layout->addRow(tr("Fallback Region:"), m_combobox_fallback_region); for (const QString& option : {tr("NTSC-J"), tr("NTSC-U"), tr("PAL"), tr("NTSC-K")}) m_combobox_fallback_region->addItem(option); + + auto* fallback_region_description = + new QLabel(tr("Dolphin will use this for titles whose region cannot be determined " + "automatically.")); + fallback_region_description->setWordWrap(true); + fallback_region_group_layout->addWidget(fallback_region_description); } #if defined(USE_ANALYTICS) && USE_ANALYTICS @@ -198,8 +203,9 @@ void GeneralPane::CreateAnalytics() analytics_group->setLayout(analytics_group_layout); m_main_layout->addWidget(analytics_group); - m_checkbox_enable_analytics = new ToolTipCheckBox(tr("Enable Usage Statistics Reporting")); - m_button_generate_new_identity = new ToolTipPushButton(tr("Generate a New Statistics Identity")); + m_checkbox_enable_analytics = new QCheckBox(tr("Enable Usage Statistics Reporting")); + m_button_generate_new_identity = + new NonDefaultQPushButton(tr("Generate a New Statistics Identity")); analytics_group_layout->addWidget(m_checkbox_enable_analytics); analytics_group_layout->addWidget(m_button_generate_new_identity); } @@ -222,7 +228,6 @@ void GeneralPane::CreateCheats() m_combobox_codehandler->addItem(tr("Dolphin (Stock)"), QVariant(0)); m_combobox_codehandler->addItem(tr("MPN (Extended)"), QVariant(1)); m_combobox_codehandler->addItem(tr("MPN (Super Extended)"), QVariant(2)); - code_handler_layout->addRow(code_handler_label, m_combobox_codehandler); cheats_group_layout->addLayout(code_handler_layout); @@ -238,8 +243,8 @@ void GeneralPane::LoadConfig() if (AutoUpdateChecker::SystemSupportsAutoUpdates()) #if defined(USE_ANALYTICS) && USE_ANALYTICS - SignalBlocking(m_checkbox_enable_analytics) - ->setChecked(Settings::Instance().IsAnalyticsEnabled()); + SignalBlocking(m_checkbox_enable_analytics) + ->setChecked(Settings::Instance().IsAnalyticsEnabled()); #endif SignalBlocking(m_checkbox_dualcore)->setChecked(Config::Get(Config::MAIN_CPU_THREAD)); SignalBlocking(m_checkbox_cheats)->setChecked(Settings::Instance().GetCheatsEnabled()); @@ -334,6 +339,12 @@ void GeneralPane::OnSaveConfig() Settings::Instance().SetAnalyticsEnabled(m_checkbox_enable_analytics->isChecked()); DolphinAnalytics::Instance().ReloadConfig(); #endif + Config::SetBaseOrCurrent(Config::MAIN_CPU_THREAD, m_checkbox_dualcore->isChecked()); + Settings::Instance().SetCheatsEnabled(m_checkbox_cheats->isChecked()); + Config::SetBaseOrCurrent(Config::MAIN_OVERRIDE_REGION_SETTINGS, + m_checkbox_override_region_settings->isChecked()); + Config::SetBase(Config::MAIN_AUTO_DISC_CHANGE, m_checkbox_auto_disc_change->isChecked()); + Config::SetBaseOrCurrent(Config::MAIN_ENABLE_CHEATS, m_checkbox_cheats->isChecked()); Settings::Instance().SetFallbackRegion( UpdateFallbackRegionFromIndex(m_combobox_fallback_region->currentIndex())); @@ -359,107 +370,4 @@ void GeneralPane::OnCodeHandlerChanged(int index) int code_handler_value = m_combobox_codehandler->itemData(index).toInt(); Config::SetBaseOrCurrent(Config::MAIN_CODE_HANDLER, code_handler_value); Config::Save(); -void GeneralPane::AddDescriptions() -{ - static constexpr char TR_DUALCORE_DESCRIPTION[] = - QT_TR_NOOP("Separates CPU and GPU emulation work to separate threads. Reduces single-thread " - "burden by spreading Dolphin's heaviest load across two cores, which usually " - "improves performance. However, it can result in glitches and crashes." - "

This setting cannot be changed while emulation is active." - "

If unsure, leave this checked."); - static constexpr char TR_CHEATS_DESCRIPTION[] = QT_TR_NOOP( - "Enables the use of AR and Gecko cheat codes which can be used to modify games' behavior. " - "These codes can be configured with the Cheats Manager in the Tools menu." - "

This setting cannot be changed while emulation is active." - "

If unsure, leave this unchecked."); - static constexpr char TR_OVERRIDE_REGION_SETTINGS_DESCRIPTION[] = - QT_TR_NOOP("Lets you use languages and other region-related settings that the game may not " - "be designed for. May cause various crashes and bugs." - "

This setting cannot be changed while emulation is active." - "

If unsure, leave this unchecked."); - static constexpr char TR_AUTO_DISC_CHANGE_DESCRIPTION[] = QT_TR_NOOP( - "Automatically changes the game disc when requested by games with two discs. This feature " - "requires the game to be launched in one of the following ways:" - "
- From the game list, with both discs being present in the game list." - "
- With File > Open or the command line interface, with the paths to both discs being " - "provided." - "
- By launching an M3U file with File > Open or the command line interface." - "

If unsure, leave this unchecked."); -#ifdef USE_DISCORD_PRESENCE - static constexpr char TR_DISCORD_PRESENCE_DESCRIPTION[] = - QT_TR_NOOP("Shows which game is active and the duration of your current play session in your " - "Discord status." - "

This setting cannot be changed while emulation is active." - "

If unsure, leave this checked."); -#endif - static constexpr char TR_SPEEDLIMIT_DESCRIPTION[] = - QT_TR_NOOP("Controls how fast emulation runs relative to the original hardware." - "

Values higher than 100% will emulate faster than the original hardware " - "can run, if your hardware is able to keep up. Values lower than 100% will slow " - "emulation instead. Unlimited will emulate as fast as your hardware is able to." - "

If unsure, select 100%."); - static constexpr char TR_UPDATE_TRACK_DESCRIPTION[] = QT_TR_NOOP( - "Selects which update track Dolphin uses when checking for updates at startup. If a new " - "update is available, Dolphin will show a list of changes made since your current version " - "and ask you if you want to update." - "

The Dev track has the latest version of Dolphin which often updates multiple times " - "per day. Select this track if you want the newest features and fixes." - "

The Releases track has an update every few months. Some reasons you might prefer to " - "use this track:" - "
- You prefer using versions that have had additional testing." - "
- NetPlay requires players to have the same Dolphin version, and the latest Release " - "version will have the most players to match with." - "
- You frequently use Dolphin's savestate system, which doesn't guarantee backward " - "compatibility of savestates between Dolphin versions. If this applies to you, make sure you " - "make an in-game save before updating (i.e. save your game in the same way you would on a " - "physical GameCube or Wii), then load the in-game save after updating Dolphin and before " - "making any new savestates." - "

Selecting \"Don't Update\" will prevent Dolphin from automatically checking for " - "updates." - "

If unsure, select Releases."); - static constexpr char TR_FALLBACK_REGION_DESCRIPTION[] = - QT_TR_NOOP("Sets the region used for titles whose region cannot be determined automatically." - "

This setting cannot be changed while emulation is active."); -#if defined(USE_ANALYTICS) && USE_ANALYTICS - static constexpr char TR_ENABLE_ANALYTICS_DESCRIPTION[] = QT_TR_NOOP( - "If selected, Dolphin can collect data on its performance, feature usage, emulated games, " - "and configuration, as well as data on your system's hardware and operating system." - "

No private data is ever collected. This data helps us understand how people and " - "emulated games use Dolphin and prioritize our efforts. It also helps us identify rare " - "configurations that are causing bugs, performance and stability issues."); - static constexpr char TR_GENERATE_NEW_IDENTITY_DESCRIPTION[] = - QT_TR_NOOP("Generate a new anonymous ID for your usage statistics. This will cause any " - "future statistics to be unassociated with your previous statistics."); -#endif - - m_checkbox_dualcore->SetDescription(tr(TR_DUALCORE_DESCRIPTION)); - - m_checkbox_cheats->SetDescription(tr(TR_CHEATS_DESCRIPTION)); - - m_checkbox_override_region_settings->SetDescription(tr(TR_OVERRIDE_REGION_SETTINGS_DESCRIPTION)); - - m_checkbox_auto_disc_change->SetDescription(tr(TR_AUTO_DISC_CHANGE_DESCRIPTION)); - -#ifdef USE_DISCORD_PRESENCE - m_checkbox_discord_presence->SetDescription(tr(TR_DISCORD_PRESENCE_DESCRIPTION)); -#endif - - m_combobox_speedlimit->SetTitle(tr("Speed Limit")); - m_combobox_speedlimit->SetDescription(tr(TR_SPEEDLIMIT_DESCRIPTION)); - - if (AutoUpdateChecker::SystemSupportsAutoUpdates()) - { - m_combobox_update_track->SetTitle(tr("Auto Update")); - m_combobox_update_track->SetDescription(tr(TR_UPDATE_TRACK_DESCRIPTION)); - } - - m_combobox_fallback_region->SetTitle(tr("Fallback Region")); - m_combobox_fallback_region->SetDescription(tr(TR_FALLBACK_REGION_DESCRIPTION)); - -#if defined(USE_ANALYTICS) && USE_ANALYTICS - m_checkbox_enable_analytics->SetDescription(tr(TR_ENABLE_ANALYTICS_DESCRIPTION)); - - m_button_generate_new_identity->SetTitle(tr("Generate a New Statistics Identity")); - m_button_generate_new_identity->SetDescription(tr(TR_GENERATE_NEW_IDENTITY_DESCRIPTION)); -#endif } diff --git a/Source/Core/DolphinQt/Settings/GeneralPane.h b/Source/Core/DolphinQt/Settings/GeneralPane.h index 9d40a19099..b56099825d 100644 --- a/Source/Core/DolphinQt/Settings/GeneralPane.h +++ b/Source/Core/DolphinQt/Settings/GeneralPane.h @@ -5,7 +5,6 @@ #include -class ConfigBool; class QCheckBox; class QComboBox; class QLabel; @@ -13,9 +12,6 @@ class QPushButton; class QRadioButton; class QSlider; class QVBoxLayout; -class ToolTipCheckBox; -class ToolTipComboBox; -class ToolTipPushButton; namespace Core { @@ -32,10 +28,8 @@ private: void CreateLayout(); void ConnectLayout(); void CreateBasic(); - //void CreateAutoUpdate(); + // void CreateAutoUpdate(); void CreateFallbackRegion(); - void AddDescriptions(); - void LoadConfig(); void OnSaveConfig(); void OnEmulationStateChanged(Core::State state); @@ -44,23 +38,25 @@ private: // Widgets QVBoxLayout* m_main_layout; - ToolTipComboBox* m_combobox_speedlimit; - ToolTipComboBox* m_combobox_update_track; - ToolTipComboBox* m_combobox_fallback_region; - ConfigBool* m_checkbox_dualcore; - ConfigBool* m_checkbox_cheats; - ConfigBool* m_checkbox_override_region_settings; - ConfigBool* m_checkbox_auto_disc_change; + QComboBox* m_combobox_speedlimit; + QComboBox* m_combobox_update_track; + QComboBox* m_combobox_fallback_region; + QCheckBox* m_checkbox_dualcore; + QCheckBox* m_checkbox_cheats; + QCheckBox* m_checkbox_override_region_settings; + QCheckBox* m_checkbox_auto_disc_change; + QComboBox* m_combobox_codehandler; #ifdef USE_DISCORD_PRESENCE - ToolTipCheckBox* m_checkbox_discord_presence; + QCheckBox* m_checkbox_discord_presence; #endif + QLabel* m_label_speedlimit; // Analytics related #if defined(USE_ANALYTICS) && USE_ANALYTICS void CreateAnalytics(); void GenerateNewIdentity(); - ToolTipPushButton* m_button_generate_new_identity; - ToolTipCheckBox* m_checkbox_enable_analytics; + QPushButton* m_button_generate_new_identity; + QCheckBox* m_checkbox_enable_analytics; #endif }; diff --git a/Source/Core/DolphinQt/Settings/InterfacePane.cpp b/Source/Core/DolphinQt/Settings/InterfacePane.cpp index e98472d5d9..b7eab6e9c1 100644 --- a/Source/Core/DolphinQt/Settings/InterfacePane.cpp +++ b/Source/Core/DolphinQt/Settings/InterfacePane.cpp @@ -91,7 +91,6 @@ InterfacePane::InterfacePane(QWidget* parent) : QWidget(parent) { CreateLayout(); UpdateShowDebuggingCheckbox(); - LoadUserStyle(); ConnectLayout(); connect(&Settings::Instance(), &Settings::EmulationStateChanged, this, @@ -138,28 +137,6 @@ void InterfacePane::CreateUI() m_combobox_theme = new ConfigStringChoice(theme_names, Config::MAIN_THEME_NAME); combobox_layout->addRow(tr("&Theme:"), m_combobox_theme); - // User Style Combobox - m_combobox_userstyle = new ToolTipComboBox; - m_label_userstyle = new QLabel(tr("Style:")); - combobox_layout->addRow(m_label_userstyle, m_combobox_userstyle); - auto userstyle_search_results = Common::DoFileSearch({File::GetUserPath(D_STYLES_IDX)}); - - auto current = QOperatingSystemVersionBase::current(); - -#ifdef _WIN32 - if (current <= QOperatingSystemVersion(QOperatingSystemVersion::Windows, 10)) - { - m_combobox_userstyle->addItem(tr("Windows 11"), static_cast(Settings::StyleType::Light)); - m_combobox_userstyle->addItem(tr("Windows 10"), static_cast(Settings::StyleType::Dark)); - } -#endif - - for (const std::string& path : userstyle_search_results) - { - const QFileInfo file_info(QString::fromStdString(path)); - m_combobox_userstyle->addItem(file_info.completeBaseName(), file_info.fileName()); - } - // Checkboxes m_checkbox_use_builtin_title_database = new ConfigBool(tr("Use Built-In Database of Game Names"), Config::MAIN_USE_BUILT_IN_TITLE_DATABASE); @@ -242,8 +219,6 @@ void InterfacePane::ConnectLayout() &Settings::SetDebugModeEnabled); connect(m_combobox_theme, &QComboBox::currentIndexChanged, &Settings::Instance(), &Settings::ThemeChanged); - connect(m_combobox_userstyle, &QComboBox::currentIndexChanged, this, - &InterfacePane::OnUserStyleChanged); connect(m_combobox_language, &QComboBox::currentIndexChanged, this, &InterfacePane::OnLanguageChanged); connect(m_checkbox_top_window, &QCheckBox::toggled, &Settings::Instance(), @@ -284,31 +259,6 @@ void InterfacePane::UpdateShowDebuggingCheckbox() } } -void InterfacePane::LoadUserStyle() -{ - const Settings::StyleType style_type = Settings::Instance().GetStyleType(); - const QString userstyle = Settings::Instance().GetUserStyleName(); - const int index = style_type == Settings::StyleType::User ? - m_combobox_userstyle->findData(userstyle) : - m_combobox_userstyle->findData(static_cast(style_type)); - - if (index > 0) - SignalBlocking(m_combobox_userstyle)->setCurrentIndex(index); -} - -void InterfacePane::OnUserStyleChanged() -{ - const auto selected_style = m_combobox_userstyle->currentData(); - bool is_builtin_type = false; - const int style_type_int = selected_style.toInt(&is_builtin_type); - Settings::Instance().SetStyleType(is_builtin_type ? - static_cast(style_type_int) : - Settings::StyleType::User); - if (!is_builtin_type) - Settings::Instance().SetUserStyleName(selected_style.toString()); - Settings::Instance().ApplyStyle(); -} - void InterfacePane::OnLanguageChanged() { ModalMessageBox::information( @@ -414,7 +364,4 @@ void InterfacePane::AddDescriptions() m_radio_cursor_visible_never->SetDescription(tr(TR_CURSOR_VISIBLE_NEVER_DESCRIPTION)); m_radio_cursor_visible_always->SetDescription(tr(TR_CURSOR_VISIBLE_ALWAYS_DESCRIPTION)); - - m_combobox_userstyle->SetTitle(tr("Style")); - m_combobox_userstyle->SetDescription(tr(TR_USER_STYLE_DESCRIPTION)); } diff --git a/Source/Core/DolphinQt/Settings/InterfacePane.h b/Source/Core/DolphinQt/Settings/InterfacePane.h index 90a81d2114..9123afd1bc 100644 --- a/Source/Core/DolphinQt/Settings/InterfacePane.h +++ b/Source/Core/DolphinQt/Settings/InterfacePane.h @@ -18,6 +18,8 @@ class InterfacePane final : public QWidget Q_OBJECT public: explicit InterfacePane(QWidget* parent = nullptr); + ToolTipComboBox* m_combobox_userstyle; + ConfigStringChoice* m_combobox_theme; private: void CreateLayout(); @@ -33,8 +35,6 @@ private: QVBoxLayout* m_main_layout; ConfigStringChoice* m_combobox_language; - ConfigStringChoice* m_combobox_theme; - ToolTipComboBox* m_combobox_userstyle; QLabel* m_label_userstyle; ConfigBool* m_checkbox_top_window; ConfigBool* m_checkbox_use_builtin_title_database;