diff --git a/Source/Core/DolphinQt/Config/Graphics/SoftwareRendererWidget.cpp b/Source/Core/DolphinQt/Config/Graphics/SoftwareRendererWidget.cpp
index 5bf638ffc5..56aa3a9c7c 100644
--- a/Source/Core/DolphinQt/Config/Graphics/SoftwareRendererWidget.cpp
+++ b/Source/Core/DolphinQt/Config/Graphics/SoftwareRendererWidget.cpp
@@ -18,6 +18,7 @@
#include "DolphinQt/Config/Graphics/GraphicsBool.h"
#include "DolphinQt/Config/Graphics/GraphicsWindow.h"
+#include "DolphinQt/Config/ToolTipControls/ToolTipComboBox.h"
#include "DolphinQt/Settings.h"
#include "UICommon/VideoUtils.h"
@@ -25,7 +26,7 @@
#include "VideoCommon/VideoBackendBase.h"
#include "VideoCommon/VideoConfig.h"
-SoftwareRendererWidget::SoftwareRendererWidget(GraphicsWindow* parent) : GraphicsWidget(parent)
+SoftwareRendererWidget::SoftwareRendererWidget(GraphicsWindow* parent)
{
CreateWidgets();
LoadSettings();
@@ -45,7 +46,7 @@ void SoftwareRendererWidget::CreateWidgets()
auto* rendering_box = new QGroupBox(tr("Rendering"));
auto* rendering_layout = new QGridLayout();
- m_backend_combo = new QComboBox();
+ m_backend_combo = new ToolTipComboBox();
rendering_box->setLayout(rendering_layout);
rendering_layout->addWidget(new QLabel(tr("Backend:")), 1, 1);
@@ -154,38 +155,37 @@ void SoftwareRendererWidget::SaveSettings()
void SoftwareRendererWidget::AddDescriptions()
{
- static const char TR_BACKEND_DESCRIPTION[] =
- QT_TR_NOOP("Selects what graphics API to use internally.\nThe software renderer is extremely "
- "slow and only useful for debugging, so you'll want to use either Direct3D or "
- "OpenGL. Different games and different GPUs will behave differently on each "
- "backend, so for the best emulation experience it's recommended to try both and "
- "choose the one that's less problematic.\n\nIf unsure, select OpenGL.");
-
+ static const char TR_BACKEND_DESCRIPTION[] = QT_TR_NOOP(
+ "Selects what graphics API to use internally.
The software renderer is extremely "
+ "slow and only useful for debugging, so you'll want to use either Direct3D or "
+ "OpenGL. Different games and different GPUs will behave differently on each "
+ "backend, so for the best emulation experience it's recommended to try both and "
+ "choose the one that's less problematic.
If unsure, select "
+ "OpenGL.");
static const char TR_SHOW_STATISTICS_DESCRIPTION[] =
- QT_TR_NOOP("Show various rendering statistics.\n\nIf unsure, leave this unchecked.");
-
+ QT_TR_NOOP("Show various rendering statistics.
If unsure, leave "
+ "this unchecked.");
static const char TR_DUMP_TEXTURES_DESCRIPTION[] =
- QT_TR_NOOP("Dump decoded game textures to User/Dump/Textures//.\n\nIf unsure, leave "
- "this unchecked.");
-
+ QT_TR_NOOP("Dump decoded game textures to User/Dump/Textures//.
If unsure, leave "
+ "this unchecked.");
static const char TR_DUMP_OBJECTS_DESCRIPTION[] =
- QT_TR_NOOP("Dump objects to User/Dump/Objects/.\n\nIf unsure, leave "
- "this unchecked.");
-
+ QT_TR_NOOP("Dump objects to User/Dump/Objects/.
If unsure, leave "
+ "this unchecked.");
static const char TR_DUMP_TEV_STAGES_DESCRIPTION[] =
- QT_TR_NOOP("Dump TEV Stages to User/Dump/Objects/.\n\nIf unsure, leave "
- "this unchecked.");
+ QT_TR_NOOP("Dump TEV Stages to User/Dump/Objects/.
If unsure, leave "
+ "this unchecked.");
+ static const char TR_DUMP_TEV_FETCHES_DESCRIPTION[] = QT_TR_NOOP(
+ "Dump Texture Fetches to User/Dump/Objects/.
If unsure, leave "
+ "this unchecked.");
- static const char TR_DUMP_TEV_FETCHES_DESCRIPTION[] =
- QT_TR_NOOP("Dump Texture Fetches to User/Dump/Objects/.\n\nIf unsure, leave "
- "this unchecked.");
-
- AddDescription(m_backend_combo, TR_BACKEND_DESCRIPTION);
- AddDescription(m_show_statistics, TR_SHOW_STATISTICS_DESCRIPTION);
- AddDescription(m_dump_textures, TR_DUMP_TEXTURES_DESCRIPTION);
- AddDescription(m_dump_objects, TR_DUMP_OBJECTS_DESCRIPTION);
- AddDescription(m_dump_tev_stages, TR_DUMP_TEV_STAGES_DESCRIPTION);
- AddDescription(m_dump_tev_fetches, TR_DUMP_TEV_FETCHES_DESCRIPTION);
+ m_backend_combo->SetTitle(tr("Backend"));
+ m_backend_combo->SetDescription(QString::fromStdString(TR_BACKEND_DESCRIPTION));
+ m_show_statistics->SetDescription(QString::fromStdString(TR_SHOW_STATISTICS_DESCRIPTION));
+ m_dump_textures->SetDescription(QString::fromStdString(TR_DUMP_TEXTURES_DESCRIPTION));
+ m_dump_objects->SetDescription(QString::fromStdString(TR_DUMP_OBJECTS_DESCRIPTION));
+ m_dump_tev_stages->SetDescription(QString::fromStdString(TR_DUMP_TEV_STAGES_DESCRIPTION));
+ m_dump_tev_fetches->SetDescription(QString::fromStdString(TR_DUMP_TEV_FETCHES_DESCRIPTION));
}
void SoftwareRendererWidget::OnEmulationStateChanged(bool running)
diff --git a/Source/Core/DolphinQt/Config/Graphics/SoftwareRendererWidget.h b/Source/Core/DolphinQt/Config/Graphics/SoftwareRendererWidget.h
index 5b3ce64b5b..9b641eef0c 100644
--- a/Source/Core/DolphinQt/Config/Graphics/SoftwareRendererWidget.h
+++ b/Source/Core/DolphinQt/Config/Graphics/SoftwareRendererWidget.h
@@ -6,10 +6,10 @@
#include "DolphinQt/Config/Graphics/GraphicsWidget.h"
+class GraphicsBool;
class GraphicsWindow;
-class QCheckBox;
-class QComboBox;
class QSpinBox;
+class ToolTipComboBox;
class SoftwareRendererWidget final : public GraphicsWidget
{
@@ -30,12 +30,12 @@ private:
void OnEmulationStateChanged(bool running);
- QComboBox* m_backend_combo;
- QCheckBox* m_show_statistics;
- QCheckBox* m_dump_textures;
- QCheckBox* m_dump_objects;
- QCheckBox* m_dump_tev_stages;
- QCheckBox* m_dump_tev_fetches;
+ ToolTipComboBox* m_backend_combo;
+ GraphicsBool* m_show_statistics;
+ GraphicsBool* m_dump_textures;
+ GraphicsBool* m_dump_objects;
+ GraphicsBool* m_dump_tev_stages;
+ GraphicsBool* m_dump_tev_fetches;
QSpinBox* m_object_range_min;
QSpinBox* m_object_range_max;