summaryrefslogtreecommitdiff
path: root/src/citron/configuration/configure_input_advanced.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/citron/configuration/configure_input_advanced.h')
-rw-r--r--src/citron/configuration/configure_input_advanced.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/citron/configuration/configure_input_advanced.h b/src/citron/configuration/configure_input_advanced.h
new file mode 100644
index 000000000..41f822c4a
--- /dev/null
+++ b/src/citron/configuration/configure_input_advanced.h
@@ -0,0 +1,53 @@
+// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include <array>
+#include <memory>
+#include <QWidget>
+
+class QColor;
+class QPushButton;
+
+namespace Ui {
+class ConfigureInputAdvanced;
+}
+
+namespace Core::HID {
+class HIDCore;
+} // namespace Core::HID
+
+class ConfigureInputAdvanced : public QWidget {
+ Q_OBJECT
+
+public:
+ explicit ConfigureInputAdvanced(Core::HID::HIDCore& hid_core_, QWidget* parent = nullptr);
+ ~ConfigureInputAdvanced() override;
+
+ void ApplyConfiguration();
+
+signals:
+ void CallDebugControllerDialog();
+ void CallMouseConfigDialog();
+ void CallTouchscreenConfigDialog();
+ void CallMotionTouchConfigDialog();
+ void CallRingControllerDialog();
+ void CallCameraDialog();
+
+private:
+ void changeEvent(QEvent* event) override;
+ void RetranslateUI();
+ void UpdateUIEnabled();
+
+ void OnControllerButtonClick(std::size_t player_idx, std::size_t button_idx);
+
+ void LoadConfiguration();
+
+ std::unique_ptr<Ui::ConfigureInputAdvanced> ui;
+
+ std::array<std::array<QColor, 4>, 8> controllers_colors;
+ std::array<std::array<QPushButton*, 4>, 8> controllers_color_buttons;
+
+ Core::HID::HIDCore& hid_core;
+};