WiiPane.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. // Copyright 2017 Dolphin Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <QWidget>
  5. class QCheckBox;
  6. class QComboBox;
  7. class QLabel;
  8. class QLineEdit;
  9. class QListWidget;
  10. class QPushButton;
  11. class QSlider;
  12. class QString;
  13. class QVBoxLayout;
  14. class WiiPane : public QWidget
  15. {
  16. Q_OBJECT
  17. public:
  18. explicit WiiPane(QWidget* parent = nullptr);
  19. private:
  20. void PopulateUSBPassthroughListWidget();
  21. void CreateLayout();
  22. void ConnectLayout();
  23. void CreateMisc();
  24. void CreateSDCard();
  25. void CreateWhitelistedUSBPassthroughDevices();
  26. void CreateWiiRemoteSettings();
  27. void LoadConfig();
  28. void OnSaveConfig();
  29. void OnEmulationStateChanged(bool running);
  30. void ValidateSelectionState();
  31. void OnUSBWhitelistAddButton();
  32. void OnUSBWhitelistRemoveButton();
  33. void BrowseSDRaw();
  34. void SetSDRaw(const QString& path);
  35. void BrowseSDSyncFolder();
  36. void SetSDSyncFolder(const QString& path);
  37. // Widgets
  38. QVBoxLayout* m_main_layout;
  39. // Misc Settings
  40. QCheckBox* m_screensaver_checkbox;
  41. QCheckBox* m_pal60_mode_checkbox;
  42. QCheckBox* m_connect_keyboard_checkbox;
  43. QCheckBox* m_wiilink_checkbox;
  44. QComboBox* m_system_language_choice;
  45. QLabel* m_system_language_choice_label;
  46. QComboBox* m_aspect_ratio_choice;
  47. QLabel* m_aspect_ratio_choice_label;
  48. QComboBox* m_sound_mode_choice;
  49. QLabel* m_sound_mode_choice_label;
  50. // SD Card Settings
  51. QCheckBox* m_sd_card_checkbox;
  52. QCheckBox* m_allow_sd_writes_checkbox;
  53. QCheckBox* m_sync_sd_folder_checkbox;
  54. QComboBox* m_sd_card_size_combo;
  55. QLineEdit* m_sd_raw_edit;
  56. QLineEdit* m_sd_sync_folder_edit;
  57. QPushButton* m_sd_pack_button;
  58. QPushButton* m_sd_unpack_button;
  59. // Whitelisted USB Passthrough Devices
  60. QListWidget* m_whitelist_usb_list;
  61. QPushButton* m_whitelist_usb_add_button;
  62. QPushButton* m_whitelist_usb_remove_button;
  63. // Wii Remote Settings
  64. QLabel* m_wiimote_sensor_position_label;
  65. QComboBox* m_wiimote_ir_sensor_position;
  66. QSlider* m_wiimote_ir_sensitivity;
  67. QLabel* m_wiimote_ir_sensitivity_label;
  68. QSlider* m_wiimote_speaker_volume;
  69. QLabel* m_wiimote_speaker_volume_label;
  70. QCheckBox* m_wiimote_motor;
  71. };