configure_dialog.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. // Copyright 2016 Citra Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include <memory>
  6. #include <QDialog>
  7. namespace Core {
  8. class System;
  9. }
  10. class ConfigureAudio;
  11. class ConfigureCpu;
  12. class ConfigureDebugTab;
  13. class ConfigureFilesystem;
  14. class ConfigureGeneral;
  15. class ConfigureGraphics;
  16. class ConfigureGraphicsAdvanced;
  17. class ConfigureHotkeys;
  18. class ConfigureInput;
  19. class ConfigureProfileManager;
  20. class ConfigureSystem;
  21. class ConfigureNetwork;
  22. class ConfigureUi;
  23. class ConfigureWeb;
  24. class HotkeyRegistry;
  25. namespace InputCommon {
  26. class InputSubsystem;
  27. }
  28. namespace Ui {
  29. class ConfigureDialog;
  30. }
  31. class ConfigureDialog : public QDialog {
  32. Q_OBJECT
  33. public:
  34. explicit ConfigureDialog(QWidget* parent, HotkeyRegistry& registry,
  35. InputCommon::InputSubsystem* input_subsystem, Core::System& system_);
  36. ~ConfigureDialog() override;
  37. void ApplyConfiguration();
  38. private slots:
  39. void OnLanguageChanged(const QString& locale);
  40. signals:
  41. void LanguageChanged(const QString& locale);
  42. private:
  43. void changeEvent(QEvent* event) override;
  44. void RetranslateUI();
  45. void HandleApplyButtonClicked();
  46. void SetConfiguration();
  47. void UpdateVisibleTabs();
  48. void PopulateSelectionList();
  49. std::unique_ptr<Ui::ConfigureDialog> ui;
  50. HotkeyRegistry& registry;
  51. Core::System& system;
  52. std::unique_ptr<ConfigureAudio> audio_tab;
  53. std::unique_ptr<ConfigureCpu> cpu_tab;
  54. std::unique_ptr<ConfigureDebugTab> debug_tab_tab;
  55. std::unique_ptr<ConfigureFilesystem> filesystem_tab;
  56. std::unique_ptr<ConfigureGeneral> general_tab;
  57. std::unique_ptr<ConfigureGraphics> graphics_tab;
  58. std::unique_ptr<ConfigureGraphicsAdvanced> graphics_advanced_tab;
  59. std::unique_ptr<ConfigureHotkeys> hotkeys_tab;
  60. std::unique_ptr<ConfigureInput> input_tab;
  61. std::unique_ptr<ConfigureNetwork> network_tab;
  62. std::unique_ptr<ConfigureProfileManager> profile_tab;
  63. std::unique_ptr<ConfigureSystem> system_tab;
  64. std::unique_ptr<ConfigureUi> ui_tab;
  65. std::unique_ptr<ConfigureWeb> web_tab;
  66. };