From 10ca4c949073726c2c2170fc5acc8f3e713f2a93 Mon Sep 17 00:00:00 2001
From: Morph <39850852+Morph1984@users.noreply.github.com>
Date: Tue, 13 Apr 2021 10:05:07 -0400
Subject: [PATCH] applets/controller: Hook up the "Motion" button functionality

I forgot to hook this up during the development of the controller applet, this PR amends that.
---
 src/yuzu/applets/controller.cpp | 16 ++++++++++++++++
 src/yuzu/applets/controller.h   |  3 +++
 2 files changed, 19 insertions(+)

diff --git a/src/yuzu/applets/controller.cpp b/src/yuzu/applets/controller.cpp
index b92cd6886..836d90fda 100644
--- a/src/yuzu/applets/controller.cpp
+++ b/src/yuzu/applets/controller.cpp
@@ -16,6 +16,7 @@
 #include "yuzu/applets/controller.h"
 #include "yuzu/configuration/configure_input.h"
 #include "yuzu/configuration/configure_input_profile_dialog.h"
+#include "yuzu/configuration/configure_motion_touch.h"
 #include "yuzu/configuration/configure_vibration.h"
 #include "yuzu/configuration/input_profiles.h"
 #include "yuzu/main.h"
@@ -206,6 +207,9 @@ QtControllerSelectorDialog::QtControllerSelectorDialog(
     connect(ui->vibrationButton, &QPushButton::clicked, this,
             &QtControllerSelectorDialog::CallConfigureVibrationDialog);
 
+    connect(ui->motionButton, &QPushButton::clicked, this,
+            &QtControllerSelectorDialog::CallConfigureMotionTouchDialog);
+
     connect(ui->inputConfigButton, &QPushButton::clicked, this,
             &QtControllerSelectorDialog::CallConfigureInputProfileDialog);
 
@@ -276,6 +280,18 @@ void QtControllerSelectorDialog::CallConfigureVibrationDialog() {
     }
 }
 
+void QtControllerSelectorDialog::CallConfigureMotionTouchDialog() {
+    ConfigureMotionTouch dialog(this, input_subsystem);
+
+    dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint |
+                          Qt::WindowSystemMenuHint);
+    dialog.setWindowModality(Qt::WindowModal);
+
+    if (dialog.exec() == QDialog::Accepted) {
+        dialog.ApplyConfiguration();
+    }
+}
+
 void QtControllerSelectorDialog::CallConfigureInputProfileDialog() {
     ConfigureInputProfileDialog dialog(this, input_subsystem, input_profiles.get());
 
diff --git a/src/yuzu/applets/controller.h b/src/yuzu/applets/controller.h
index 3518eed56..9b57aea1a 100644
--- a/src/yuzu/applets/controller.h
+++ b/src/yuzu/applets/controller.h
@@ -51,6 +51,9 @@ private:
     // Initializes the "Configure Vibration" Dialog.
     void CallConfigureVibrationDialog();
 
+    // Initializes the "Configure Motion / Touch" Dialog.
+    void CallConfigureMotionTouchDialog();
+
     // Initializes the "Create Input Profile" Dialog.
     void CallConfigureInputProfileDialog();