2017-07-21 14:48:21 -06:00
|
|
|
// Copyright 2017 Dolphin Emulator Project
|
2021-07-04 19:22:19 -06:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2017-07-21 14:48:21 -06:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <QDialog>
|
|
|
|
|
|
|
|
#include "Core/NetPlayProto.h"
|
|
|
|
|
2021-07-04 05:33:58 -06:00
|
|
|
class QCheckBox;
|
2017-07-21 14:48:21 -06:00
|
|
|
class QGridLayout;
|
|
|
|
class QComboBox;
|
|
|
|
class QDialogButtonBox;
|
|
|
|
|
2018-07-06 17:39:42 -06:00
|
|
|
namespace NetPlay
|
|
|
|
{
|
|
|
|
class Player;
|
|
|
|
}
|
|
|
|
|
2017-07-21 14:48:21 -06:00
|
|
|
class PadMappingDialog : public QDialog
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
explicit PadMappingDialog(QWidget* widget);
|
|
|
|
|
2018-05-17 14:15:59 -06:00
|
|
|
int exec() override;
|
2017-07-21 14:48:21 -06:00
|
|
|
|
2018-07-06 17:39:42 -06:00
|
|
|
NetPlay::PadMappingArray GetGCPadArray();
|
2021-07-04 05:33:58 -06:00
|
|
|
NetPlay::GBAConfigArray GetGBAArray();
|
2018-07-06 17:39:42 -06:00
|
|
|
NetPlay::PadMappingArray GetWiimoteArray();
|
2017-07-21 14:48:21 -06:00
|
|
|
|
|
|
|
private:
|
|
|
|
void CreateWidgets();
|
|
|
|
void ConnectWidgets();
|
2018-06-27 05:20:50 -06:00
|
|
|
|
2017-07-21 14:48:21 -06:00
|
|
|
void OnMappingChanged();
|
|
|
|
|
2018-07-06 17:39:42 -06:00
|
|
|
NetPlay::PadMappingArray m_pad_mapping;
|
2021-07-04 05:33:58 -06:00
|
|
|
NetPlay::GBAConfigArray m_gba_config;
|
2018-07-06 17:39:42 -06:00
|
|
|
NetPlay::PadMappingArray m_wii_mapping;
|
2017-07-21 14:48:21 -06:00
|
|
|
|
|
|
|
QGridLayout* m_main_layout;
|
|
|
|
std::array<QComboBox*, 4> m_gc_boxes;
|
2021-07-04 05:33:58 -06:00
|
|
|
std::array<QCheckBox*, 4> m_gba_boxes;
|
2017-07-21 14:48:21 -06:00
|
|
|
std::array<QComboBox*, 4> m_wii_boxes;
|
2018-07-06 17:39:42 -06:00
|
|
|
std::vector<const NetPlay::Player*> m_players;
|
2017-07-21 14:48:21 -06:00
|
|
|
QDialogButtonBox* m_button_box;
|
|
|
|
};
|