summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp
diff options
context:
space:
mode:
authorLeo Lam <leolino.lam@gmail.com>2017-07-04 15:31:36 +0200
committerGitHub <noreply@github.com>2017-07-04 15:31:36 +0200
commitcf79ff236691b22073545a266ac4d9bc382c6b14 (patch)
treeed166273eb014cafc8e2a1af845d92164cc02165 /Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp
parente0b94b55b87ce3e0698564a87773afa04459957b (diff)
parent36fe1a5415c92a988de7df78c1d82303818ef6b6 (diff)
Merge pull request #5738 from spycrab/qt_fix_ampersand
Qt: Fix ampersands not displaying properly in mapping windows
Diffstat (limited to 'Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp')
-rw-r--r--Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp b/Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp
index 84ba377337..44bc67e3f0 100644
--- a/Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp
+++ b/Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp
@@ -20,8 +20,14 @@
#include "InputCommon/ControllerInterface/ControllerInterface.h"
#include "InputCommon/ControllerInterface/Device.h"
+static QString EscapeAmpersand(QString&& string)
+{
+ return string.replace(QStringLiteral("&"), QStringLiteral("&&"));
+}
+
MappingButton::MappingButton(MappingWidget* widget, ControlReference* ref)
- : ElidedButton(QString::fromStdString(ref->expression)), m_parent(widget), m_reference(ref)
+ : ElidedButton(EscapeAmpersand(QString::fromStdString(ref->expression))), m_parent(widget),
+ m_reference(ref)
{
Connect();
}
@@ -73,7 +79,7 @@ void MappingButton::OnButtonPressed()
void MappingButton::OnButtonTimeout()
{
- setText(QString::fromStdString(m_reference->expression));
+ setText(EscapeAmpersand(QString::fromStdString(m_reference->expression)));
}
void MappingButton::Clear()
@@ -87,7 +93,7 @@ void MappingButton::Update()
{
const auto lock = ControllerEmu::EmulatedController::GetStateLock();
m_reference->UpdateReference(g_controller_interface, m_parent->GetParent()->GetDeviceQualifier());
- setText(QString::fromStdString(m_reference->expression));
+ setText(EscapeAmpersand(QString::fromStdString(m_reference->expression)));
m_parent->SaveSettings();
}