From 427b85f2a15522dba811e3d151d38da4c3d22bf8 Mon Sep 17 00:00:00 2001 From: Dentomologist Date: Mon, 22 Apr 2024 20:38:04 -0700 Subject: [PATCH] GeneralPane: Add BalloonTip to speed limit combobox --- Source/Core/DolphinQt/Settings/GeneralPane.cpp | 13 ++++++++++++- Source/Core/DolphinQt/Settings/GeneralPane.h | 4 ++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Source/Core/DolphinQt/Settings/GeneralPane.cpp b/Source/Core/DolphinQt/Settings/GeneralPane.cpp index 7f9c9e0572..6740bfbd9d 100644 --- a/Source/Core/DolphinQt/Settings/GeneralPane.cpp +++ b/Source/Core/DolphinQt/Settings/GeneralPane.cpp @@ -26,6 +26,7 @@ #include "DolphinQt/Config/ConfigControls/ConfigBool.h" #include "DolphinQt/Config/ToolTipControls/ToolTipCheckBox.h" +#include "DolphinQt/Config/ToolTipControls/ToolTipComboBox.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" #include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "DolphinQt/QtUtils/SetWindowDecorations.h" @@ -164,7 +165,7 @@ void GeneralPane::CreateBasic() speed_limit_layout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow); basic_group_layout->addLayout(speed_limit_layout); - m_combobox_speedlimit = new QComboBox(); + m_combobox_speedlimit = new ToolTipComboBox(); m_combobox_speedlimit->addItem(tr("Unlimited")); for (int i = 10; i <= 200; i += 10) // from 10% to 200% @@ -402,6 +403,13 @@ void GeneralPane::AddDescriptions() "

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

If unsure, leave this checked."); #endif + static constexpr char TR_SPEEDLIMIT_DESCRIPTION[] = QT_TR_NOOP( + "Sets the maximum time scale of emulation. Values higher than 100% will accelerate emulated " + "time by processing faster than the original hardware, while values lower than 100% will " + "slow emulated time. Unlimited will emulate as fast as your host hardware can run." + "

Higher speeds are proportionally more costly to emulate. Depending on the title, " + "your settings, and your host hardware, some of these values may not be sustainable." + "

If unsure, select 100%."); m_checkbox_dualcore->SetDescription(tr(TR_DUALCORE_DESCRIPTION)); @@ -414,4 +422,7 @@ void GeneralPane::AddDescriptions() #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)); } diff --git a/Source/Core/DolphinQt/Settings/GeneralPane.h b/Source/Core/DolphinQt/Settings/GeneralPane.h index 1c4febcd6e..77f4303e55 100644 --- a/Source/Core/DolphinQt/Settings/GeneralPane.h +++ b/Source/Core/DolphinQt/Settings/GeneralPane.h @@ -14,6 +14,7 @@ class QRadioButton; class QSlider; class QVBoxLayout; class ToolTipCheckBox; +class ToolTipComboBox; namespace Core { @@ -40,7 +41,7 @@ private: // Widgets QVBoxLayout* m_main_layout; - QComboBox* m_combobox_speedlimit; + ToolTipComboBox* m_combobox_speedlimit; QComboBox* m_combobox_update_track; QComboBox* m_combobox_fallback_region; ConfigBool* m_checkbox_dualcore; @@ -50,7 +51,6 @@ private: #ifdef USE_DISCORD_PRESENCE ToolTipCheckBox* m_checkbox_discord_presence; #endif - QLabel* m_label_speedlimit; // Analytics related #if defined(USE_ANALYTICS) && USE_ANALYTICS