summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp
diff options
context:
space:
mode:
authorspycrab <spycrab@users.noreply.github.com>2017-07-02 13:15:46 +0200
committerspycrab <spycrab@users.noreply.github.com>2017-07-04 15:26:10 +0200
commit36fe1a5415c92a988de7df78c1d82303818ef6b6 (patch)
treeaf8be037450f93237b59aecbe87246a22a9522d9 /Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp
parent0f9ae6d361541a5917ae3b05dc7c667cdef81336 (diff)
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();
}