From da1f153b47a3f3f4eb9b976670bfddf68108bae9 Mon Sep 17 00:00:00 2001 From: rlnilsen <47765059+rlnilsen@users.noreply.github.com> Date: Sat, 26 Oct 2019 18:05:16 +0200 Subject: Rename all instances of "CemuhookUDPServer"/"UDPServer" to "DualShockUDPClient"/"DSUClient". --- .../DualShockUDPClientWidget.cpp | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp (limited to 'Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp') diff --git a/Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp b/Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp new file mode 100644 index 0000000000..965f2f6879 --- /dev/null +++ b/Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp @@ -0,0 +1,75 @@ +// Copyright 2019 Dolphin Emulator Project5~5~5~ +// Licensed under GPLv2+ +// Refer to the license.txt file included. + +#include "DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.h" + +#include +#include +#include +#include +#include +#include + +#include "Common/Config/Config.h" +#include "InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.h" + +DualShockUDPClientWidget::DualShockUDPClientWidget() +{ + CreateWidgets(); + ConnectWidgets(); +} + +void DualShockUDPClientWidget::CreateWidgets() +{ + auto* main_layout = new QGridLayout; + + m_server_enabled = new QCheckBox(tr("Enable")); + m_server_enabled->setChecked(Config::Get(ciface::DualShockUDPClient::Settings::SERVER_ENABLED)); + + m_server_address = new QLineEdit( + QString::fromStdString(Config::Get(ciface::DualShockUDPClient::Settings::SERVER_ADDRESS))); + + m_server_port = new QSpinBox(); + m_server_port->setMaximum(65535); + m_server_port->setValue(Config::Get(ciface::DualShockUDPClient::Settings::SERVER_PORT)); + + auto* description = + new QLabel(tr("DSU protocol enables the use of input and motion data from compatible " + "sources, like PlayStation, Nintendo Switch and Steam controllers.

" + "For setup instructions, " + "" + "refer to this page.")); + description->setTextFormat(Qt::RichText); + description->setWordWrap(true); + description->setTextInteractionFlags(Qt::TextBrowserInteraction); + description->setOpenExternalLinks(true); + + main_layout->addWidget(m_server_enabled, 1, 1); + main_layout->addWidget(new QLabel(tr("Server IP Address")), 2, 1); + main_layout->addWidget(m_server_address, 2, 2); + main_layout->addWidget(new QLabel(tr("Server Port")), 3, 1); + main_layout->addWidget(m_server_port, 3, 2); + main_layout->addWidget(description, 4, 1, 1, 2); + + setLayout(main_layout); +} + +void DualShockUDPClientWidget::ConnectWidgets() +{ + connect(m_server_enabled, &QCheckBox::toggled, this, [this] { + Config::SetBaseOrCurrent(ciface::DualShockUDPClient::Settings::SERVER_ENABLED, + m_server_enabled->isChecked()); + }); + + connect(m_server_address, &QLineEdit::editingFinished, this, [this] { + Config::SetBaseOrCurrent(ciface::DualShockUDPClient::Settings::SERVER_ADDRESS, + m_server_address->text().toStdString()); + }); + + connect(m_server_port, static_cast(&QSpinBox::valueChanged), this, + [this] { + Config::SetBaseOrCurrent(ciface::DualShockUDPClient::Settings::SERVER_PORT, + static_cast(m_server_port->value())); + }); +} -- cgit v1.2.3