summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Config/ControllerInterface/ControllerInterfaceWindow.cpp
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2019-10-28 16:39:10 +0100
committerGitHub <noreply@github.com>2019-10-28 16:39:10 +0100
commit1f3d1a9b7fa2d4729ddadfc0fc923c7730a00a49 (patch)
tree59c9aac33c104d3dc5b4039773b876cd6c389b4f /Source/Core/DolphinQt/Config/ControllerInterface/ControllerInterfaceWindow.cpp
parenta825e7e09f8a39772b10c83db5322dc88e0f591f (diff)
parentda1f153b47a3f3f4eb9b976670bfddf68108bae9 (diff)
Merge pull request #8352 from rlnilsen/motion-controller-support-via-cemuhook-protocol
Support for motion controllers like the DualShock 4
Diffstat (limited to 'Source/Core/DolphinQt/Config/ControllerInterface/ControllerInterfaceWindow.cpp')
-rw-r--r--Source/Core/DolphinQt/Config/ControllerInterface/ControllerInterfaceWindow.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/Source/Core/DolphinQt/Config/ControllerInterface/ControllerInterfaceWindow.cpp b/Source/Core/DolphinQt/Config/ControllerInterface/ControllerInterfaceWindow.cpp
new file mode 100644
index 0000000000..991e84c8f9
--- /dev/null
+++ b/Source/Core/DolphinQt/Config/ControllerInterface/ControllerInterfaceWindow.cpp
@@ -0,0 +1,47 @@
+// Copyright 2019 Dolphin Emulator Project
+// Licensed under GPLv2+
+// Refer to the license.txt file included.
+
+#include "DolphinQt/Config/ControllerInterface/ControllerInterfaceWindow.h"
+
+#include <QDialogButtonBox>
+#include <QLabel>
+#include <QTabWidget>
+#include <QVBoxLayout>
+
+#if defined(CIFACE_USE_DUALSHOCKUDPCLIENT)
+#include "DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.h"
+#endif
+
+ControllerInterfaceWindow::ControllerInterfaceWindow(QWidget* parent) : QDialog(parent)
+{
+ CreateMainLayout();
+
+ setWindowTitle(tr("Alternate Input Sources"));
+ setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
+}
+
+void ControllerInterfaceWindow::CreateMainLayout()
+{
+ m_button_box = new QDialogButtonBox(QDialogButtonBox::Close);
+ connect(m_button_box, &QDialogButtonBox::rejected, this, &QDialog::reject);
+
+ m_tab_widget = new QTabWidget();
+#if defined(CIFACE_USE_DUALSHOCKUDPCLIENT)
+ m_dsuclient_widget = new DualShockUDPClientWidget();
+ m_tab_widget->addTab(m_dsuclient_widget, tr("DSU Client")); // TODO: use GetWrappedWidget()?
+#endif
+
+ auto* main_layout = new QVBoxLayout();
+ if (m_tab_widget->count() > 0)
+ {
+ main_layout->addWidget(m_tab_widget);
+ }
+ else
+ {
+ main_layout->addWidget(new QLabel(tr("Nothing to configure")), 0,
+ Qt::AlignVCenter | Qt::AlignHCenter);
+ }
+ main_layout->addWidget(m_button_box);
+ setLayout(main_layout);
+}