summaryrefslogtreecommitdiff
path: root/src/yuzu/configuration/configure_touchscreen_advanced.cpp
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2018-11-01 22:10:51 -0400
committerZach Hilman <zachhilman@gmail.com>2018-11-18 23:22:36 -0500
commitafe8df5020d575ee361078aa3bd52706f818dee4 (patch)
treeb34a17a9f9bd4022446c6547485476e4623ae5ce /src/yuzu/configuration/configure_touchscreen_advanced.cpp
parent2e1dd9c64939a1af43d0a77c63340e88d19f7e61 (diff)
qt: Add UI to configure touchscreen parameters
This allows adjusting the finger, diameter, and angle of the emulated touchscreen. It also provides a warning to the user about what changing these parameters can do.
Diffstat (limited to 'src/yuzu/configuration/configure_touchscreen_advanced.cpp')
-rw-r--r--src/yuzu/configuration/configure_touchscreen_advanced.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/yuzu/configuration/configure_touchscreen_advanced.cpp b/src/yuzu/configuration/configure_touchscreen_advanced.cpp
new file mode 100644
index 000000000..6cf3dab97
--- /dev/null
+++ b/src/yuzu/configuration/configure_touchscreen_advanced.cpp
@@ -0,0 +1,48 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include <algorithm>
+#include <memory>
+#include <utility>
+#include <QMenu>
+#include <QMessageBox>
+#include <QTimer>
+#include "common/assert.h"
+#include "common/param_package.h"
+#include "input_common/main.h"
+#include "ui_configure_touchscreen_advanced.h"
+#include "yuzu/configuration/config.h"
+#include "yuzu/configuration/configure_touchscreen_advanced.h"
+
+ConfigureTouchscreenAdvanced::ConfigureTouchscreenAdvanced(QWidget* parent)
+ : QDialog(parent), ui(std::make_unique<Ui::ConfigureTouchscreenAdvanced>()) {
+ ui->setupUi(this);
+
+ connect(ui->restore_defaults_button, &QPushButton::pressed, this,
+ &ConfigureTouchscreenAdvanced::restoreDefaults);
+
+ this->loadConfiguration();
+ this->resize(0, 0);
+}
+
+void ConfigureTouchscreenAdvanced::applyConfiguration() {
+ Settings::values.touchscreen.finger = ui->finger_box->value();
+ Settings::values.touchscreen.diameter_x = ui->diameter_x_box->value();
+ Settings::values.touchscreen.diameter_y = ui->diameter_y_box->value();
+ Settings::values.touchscreen.rotation_angle = ui->angle_box->value();
+}
+
+void ConfigureTouchscreenAdvanced::loadConfiguration() {
+ ui->finger_box->setValue(Settings::values.touchscreen.finger);
+ ui->diameter_x_box->setValue(Settings::values.touchscreen.diameter_x);
+ ui->diameter_y_box->setValue(Settings::values.touchscreen.diameter_y);
+ ui->angle_box->setValue(Settings::values.touchscreen.rotation_angle);
+}
+
+void ConfigureTouchscreenAdvanced::restoreDefaults() {
+ ui->finger_box->setValue(0);
+ ui->diameter_x_box->setValue(15);
+ ui->diameter_y_box->setValue(15);
+ ui->angle_box->setValue(0);
+}