mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 13:20:27 -06:00
Move DolphinQt2 to DolphinQt
This commit is contained in:
113
Source/Core/DolphinQt/Config/Mapping/MappingWindow.h
Normal file
113
Source/Core/DolphinQt/Config/Mapping/MappingWindow.h
Normal file
@ -0,0 +1,113 @@
|
||||
// Copyright 2017 Dolphin Emulator Project
|
||||
// Licensed under GPLv2+
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QDialog>
|
||||
#include <QString>
|
||||
#include <memory>
|
||||
|
||||
#include "InputCommon/ControllerInterface/Device.h"
|
||||
|
||||
namespace ControllerEmu
|
||||
{
|
||||
class EmulatedController;
|
||||
}
|
||||
|
||||
class InputConfig;
|
||||
class QCheckBox;
|
||||
class QComboBox;
|
||||
class QDialogButtonBox;
|
||||
class QEvent;
|
||||
class QHBoxLayout;
|
||||
class QGroupBox;
|
||||
class QVBoxLayout;
|
||||
class QPushButton;
|
||||
class QTabWidget;
|
||||
class QWidget;
|
||||
|
||||
class MappingWindow final : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
enum class Type
|
||||
{
|
||||
// GameCube
|
||||
MAPPING_GC_BONGOS,
|
||||
MAPPING_GC_DANCEMAT,
|
||||
MAPPING_GC_KEYBOARD,
|
||||
MAPPING_GCPAD,
|
||||
MAPPING_GC_STEERINGWHEEL,
|
||||
MAPPING_GC_MICROPHONE,
|
||||
// Wii
|
||||
MAPPING_WIIMOTE_EMU,
|
||||
// Hotkeys
|
||||
MAPPING_HOTKEYS
|
||||
};
|
||||
|
||||
explicit MappingWindow(QWidget* parent, Type type, int port_num);
|
||||
|
||||
int GetPort() const;
|
||||
std::shared_ptr<ciface::Core::Device> GetDevice() const;
|
||||
ControllerEmu::EmulatedController* GetController() const;
|
||||
bool IsIterativeInput() const;
|
||||
bool IsMappingAllDevices() const;
|
||||
|
||||
signals:
|
||||
void Update();
|
||||
void ClearFields();
|
||||
void Save();
|
||||
|
||||
private:
|
||||
void SetMappingType(Type type);
|
||||
void CreateDevicesLayout();
|
||||
void CreateProfilesLayout();
|
||||
void CreateResetLayout();
|
||||
void CreateMainLayout();
|
||||
void ConnectWidgets();
|
||||
|
||||
void AddWidget(const QString& name, QWidget* widget);
|
||||
|
||||
void RefreshDevices();
|
||||
|
||||
void OnDeleteProfilePressed();
|
||||
void OnLoadProfilePressed();
|
||||
void OnSaveProfilePressed();
|
||||
void OnDefaultFieldsPressed();
|
||||
void OnDeviceChanged(int index);
|
||||
|
||||
ControllerEmu::EmulatedController* m_controller = nullptr;
|
||||
|
||||
// Main
|
||||
QCheckBox* m_iterative_input;
|
||||
QVBoxLayout* m_main_layout;
|
||||
QHBoxLayout* m_config_layout;
|
||||
QDialogButtonBox* m_button_box;
|
||||
|
||||
// Devices
|
||||
QGroupBox* m_devices_box;
|
||||
QHBoxLayout* m_devices_layout;
|
||||
QComboBox* m_devices_combo;
|
||||
QPushButton* m_devices_refresh;
|
||||
|
||||
// Profiles
|
||||
QGroupBox* m_profiles_box;
|
||||
QHBoxLayout* m_profiles_layout;
|
||||
QComboBox* m_profiles_combo;
|
||||
QPushButton* m_profiles_load;
|
||||
QPushButton* m_profiles_save;
|
||||
QPushButton* m_profiles_delete;
|
||||
|
||||
// Reset
|
||||
QGroupBox* m_reset_box;
|
||||
QHBoxLayout* m_reset_layout;
|
||||
QPushButton* m_reset_default;
|
||||
QPushButton* m_reset_clear;
|
||||
|
||||
QTabWidget* m_tab_widget;
|
||||
|
||||
Type m_mapping_type;
|
||||
const int m_port;
|
||||
InputConfig* m_config;
|
||||
};
|
Reference in New Issue
Block a user