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