GeneralPane.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // Copyright 2017 Dolphin Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <QWidget>
  5. class ConfigBool;
  6. class QCheckBox;
  7. class QComboBox;
  8. class QLabel;
  9. class QPushButton;
  10. class QRadioButton;
  11. class QSlider;
  12. class QVBoxLayout;
  13. class ToolTipCheckBox;
  14. class ToolTipComboBox;
  15. class ToolTipPushButton;
  16. namespace Core
  17. {
  18. enum class State;
  19. }
  20. class GeneralPane final : public QWidget
  21. {
  22. Q_OBJECT
  23. public:
  24. explicit GeneralPane(QWidget* parent = nullptr);
  25. private:
  26. void CreateLayout();
  27. void ConnectLayout();
  28. void CreateBasic();
  29. void CreateAutoUpdate();
  30. void CreateFallbackRegion();
  31. void AddDescriptions();
  32. void LoadConfig();
  33. void OnSaveConfig();
  34. void OnEmulationStateChanged(Core::State state);
  35. // Widgets
  36. QVBoxLayout* m_main_layout;
  37. ToolTipComboBox* m_combobox_speedlimit;
  38. ToolTipComboBox* m_combobox_update_track;
  39. ToolTipComboBox* m_combobox_fallback_region;
  40. ConfigBool* m_checkbox_dualcore;
  41. ConfigBool* m_checkbox_cheats;
  42. ConfigBool* m_checkbox_override_region_settings;
  43. ConfigBool* m_checkbox_auto_disc_change;
  44. #ifdef USE_DISCORD_PRESENCE
  45. ToolTipCheckBox* m_checkbox_discord_presence;
  46. #endif
  47. // Analytics related
  48. #if defined(USE_ANALYTICS) && USE_ANALYTICS
  49. void CreateAnalytics();
  50. void GenerateNewIdentity();
  51. ToolTipPushButton* m_button_generate_new_identity;
  52. ToolTipCheckBox* m_checkbox_enable_analytics;
  53. #endif
  54. };