| |
| |
|
|
| #pragma once |
|
|
| #include <QWidget> |
|
|
| class QAction; |
| class QHideEvent; |
| class QShowEvent; |
| class PlayerControlPreview; |
|
|
| namespace InputCommon { |
| class InputSubsystem; |
| } |
|
|
| namespace Core::HID { |
| class HIDCore; |
| class EmulatedController; |
| enum class ControllerTriggerType; |
| } |
|
|
| class ControllerDialog : public QWidget { |
| Q_OBJECT |
|
|
| public: |
| explicit ControllerDialog(Core::HID::HIDCore& hid_core_, |
| std::shared_ptr<InputCommon::InputSubsystem> input_subsystem_, |
| QWidget* parent = nullptr); |
|
|
| |
| QAction* toggleViewAction(); |
|
|
| |
| void refreshConfiguration(); |
|
|
| |
| void UnloadController(); |
|
|
| protected: |
| void showEvent(QShowEvent* ev) override; |
| void hideEvent(QHideEvent* ev) override; |
|
|
| private: |
| |
| void ControllerUpdate(Core::HID::ControllerTriggerType type); |
|
|
| int callback_key; |
| bool is_controller_set{}; |
| Core::HID::EmulatedController* controller; |
|
|
| QAction* toggle_view_action = nullptr; |
| PlayerControlPreview* widget; |
| Core::HID::HIDCore& hid_core; |
| std::shared_ptr<InputCommon::InputSubsystem> input_subsystem; |
| }; |
|
|