Play-/Source/ui_qt/ControllerConfig/controllerconfigdialog.h

62 lines
1.6 KiB
C
Raw Permalink Normal View History

2017-06-13 04:52:19 +01:00
#pragma once
2016-09-06 00:23:31 +01:00
#include <QDialog>
#include <QAbstractButton>
#include "../input/InputBindingManager.h"
2018-04-30 21:01:23 +01:00
namespace Ui
{
class ControllerConfigDialog;
2016-09-06 00:23:31 +01:00
}
2020-09-14 19:43:25 -04:00
class QTableView;
class QSlider;
class QLabel;
class QComboBox;
2023-04-20 19:03:13 -04:00
class CInputProviderQtKey;
class CInputProviderQtMouse;
2020-09-14 19:43:25 -04:00
2016-09-06 00:23:31 +01:00
class ControllerConfigDialog : public QDialog
{
Q_OBJECT
2016-09-06 00:23:31 +01:00
public:
2023-04-20 19:03:13 -04:00
explicit ControllerConfigDialog(CInputBindingManager*, CInputProviderQtKey*, CInputProviderQtMouse*, QWidget* parent = 0);
~ControllerConfigDialog();
2020-09-14 19:43:25 -04:00
static void AutoConfigureKeyboard(uint32 padIndex, CInputBindingManager*);
2018-11-28 22:32:27 -05:00
2016-09-06 00:23:31 +01:00
private slots:
2020-09-14 19:43:25 -04:00
void bindingsViewDoubleClicked(const QModelIndex& index);
2023-10-12 10:13:32 -04:00
void bindingsViewDeleteItem();
void analogSensitivityValueChanged(uint32, int);
2020-09-14 19:43:25 -04:00
2018-04-30 21:01:23 +01:00
void on_buttonBox_clicked(QAbstractButton* button);
void on_ConfigAllButton_clicked();
2016-09-06 00:23:31 +01:00
2020-02-25 18:47:50 +00:00
void on_comboBox_currentIndexChanged(int index);
void on_addProfileButton_clicked();
void on_delProfileButton_clicked();
2016-09-06 00:23:31 +01:00
private:
struct PadUiElements
{
QTableView* bindingsView = nullptr;
QSlider* analogSensitivitySlider = nullptr;
QLabel* analogSensitivityValueLabel = nullptr;
QComboBox* hapticFeedbackComboBox = nullptr;
};
2020-09-14 19:43:25 -04:00
void PrepareBindingsView(uint32 padIndex);
void PrepareProfiles();
int OpenBindConfigDialog(uint32 padIndex, uint32 buttonIndex);
void UpdateAnalogSensitivityValueLabel(uint32 padIndex);
2018-04-30 21:01:23 +01:00
Ui::ControllerConfigDialog* ui;
CInputBindingManager* m_inputManager = nullptr;
CInputProviderQtKey* m_qtKeyInputProvider = nullptr;
2023-04-20 19:03:13 -04:00
CInputProviderQtMouse* m_qtMouseInputProvider = nullptr;
std::vector<PadUiElements> m_padUiElements;
2016-09-06 00:23:31 +01:00
};