1 // Copyright 2017 Dolphin Emulator Project
2 // Licensed under GPLv2+
3 // Refer to the license.txt file included.
4
5 #include "DolphinQt/Config/Mapping/GCPadEmu.h"
6
7 #include <QGridLayout>
8 #include <QGroupBox>
9
10 #include "Core/HW/GCPad.h"
11 #include "Core/HW/GCPadEmu.h"
12
13 #include "InputCommon/ControllerEmu/Setting/NumericSetting.h"
14 #include "InputCommon/InputConfig.h"
15
GCPadEmu(MappingWindow * window)16 GCPadEmu::GCPadEmu(MappingWindow* window) : MappingWidget(window)
17 {
18 CreateMainLayout();
19 }
20
CreateMainLayout()21 void GCPadEmu::CreateMainLayout()
22 {
23 auto* layout = new QGridLayout;
24
25 layout->addWidget(CreateGroupBox(tr("Buttons"), Pad::GetGroup(GetPort(), PadGroup::Buttons)), 0,
26 0);
27 layout->addWidget(CreateGroupBox(tr("D-Pad"), Pad::GetGroup(GetPort(), PadGroup::DPad)), 1, 0, -1,
28 1);
29 layout->addWidget(
30 CreateGroupBox(tr("Control Stick"), Pad::GetGroup(GetPort(), PadGroup::MainStick)), 0, 1, -1,
31 1);
32 layout->addWidget(CreateGroupBox(tr("C Stick"), Pad::GetGroup(GetPort(), PadGroup::CStick)), 0, 2,
33 -1, 1);
34 layout->addWidget(CreateGroupBox(tr("Triggers"), Pad::GetGroup(GetPort(), PadGroup::Triggers)), 0,
35 4);
36 layout->addWidget(CreateGroupBox(tr("Rumble"), Pad::GetGroup(GetPort(), PadGroup::Rumble)), 1, 4);
37
38 layout->addWidget(CreateGroupBox(tr("Options"), Pad::GetGroup(GetPort(), PadGroup::Options)), 2,
39 4);
40
41 setLayout(layout);
42 }
43
LoadSettings()44 void GCPadEmu::LoadSettings()
45 {
46 Pad::LoadConfig();
47 }
48
SaveSettings()49 void GCPadEmu::SaveSettings()
50 {
51 Pad::GetConfig()->SaveConfig();
52 }
53
GetConfig()54 InputConfig* GCPadEmu::GetConfig()
55 {
56 return Pad::GetConfig();
57 }
58