// Copyright 2017 Dolphin Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include #include "Core/NetPlayProto.h" class QCheckBox; class QGridLayout; class QComboBox; class QDialogButtonBox; namespace NetPlay { class Player; } class PadMappingDialog : public QDialog { Q_OBJECT public: explicit PadMappingDialog(QWidget* widget); int exec() override; NetPlay::PadMappingArray GetGCPadArray(); NetPlay::GBAConfigArray GetGBAArray(); NetPlay::PadMappingArray GetWiimoteArray(); private: void CreateWidgets(); void ConnectWidgets(); void OnMappingChanged(); NetPlay::PadMappingArray m_pad_mapping; NetPlay::GBAConfigArray m_gba_config; NetPlay::PadMappingArray m_wii_mapping; QGridLayout* m_main_layout; std::array m_gc_boxes; std::array m_gba_boxes; std::array m_wii_boxes; std::vector m_players; QDialogButtonBox* m_button_box; };