summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Config/ConfigControls/ConfigText.cpp
diff options
context:
space:
mode:
authorJoshua Vandaƫle <joshua@vandaele.software>2025-08-13 00:33:52 +0200
committerJoshua Vandaƫle <joshua@vandaele.software>2025-10-27 16:21:59 +0100
commitb6766e1ca0146de939e6645b743634bda717b719 (patch)
tree8bdcb1e8c3f646f8db674598d484d917c00501e1 /Source/Core/DolphinQt/Config/ConfigControls/ConfigText.cpp
parent1e227bd736b4343f7fac807ac3540d4824e85a8b (diff)
GameCubePane: Use ConfigControls where applicable
Diffstat (limited to 'Source/Core/DolphinQt/Config/ConfigControls/ConfigText.cpp')
-rw-r--r--Source/Core/DolphinQt/Config/ConfigControls/ConfigText.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/Source/Core/DolphinQt/Config/ConfigControls/ConfigText.cpp b/Source/Core/DolphinQt/Config/ConfigControls/ConfigText.cpp
new file mode 100644
index 0000000000..41e4d2166e
--- /dev/null
+++ b/Source/Core/DolphinQt/Config/ConfigControls/ConfigText.cpp
@@ -0,0 +1,39 @@
+// Copyright 2025 Dolphin Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "DolphinQt/Config/ConfigControls/ConfigText.h"
+
+#include <QLineEdit>
+
+ConfigText::ConfigText(const Config::Info<std::string>& setting) : ConfigText(setting, nullptr)
+{
+}
+
+ConfigText::ConfigText(const Config::Info<std::string>& setting, Config::Layer* layer)
+ : ConfigControl(setting.GetLocation(), layer), m_setting(setting)
+{
+ setText(QString::fromStdString(ReadValue(setting)));
+
+ connect(this, &QLineEdit::editingFinished, this, &ConfigText::Update);
+}
+
+void ConfigText::SetTextAndUpdate(const QString& text)
+{
+ if (text == this->text())
+ return;
+
+ setText(text);
+ Update();
+}
+
+void ConfigText::Update()
+{
+ const std::string value = text().toStdString();
+
+ SaveValue(m_setting, value);
+}
+
+void ConfigText::OnConfigChanged()
+{
+ setText(QString::fromStdString(ReadValue(m_setting)));
+}