configure_ui.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // SPDX-FileCopyrightText: 2016 Citra Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <memory>
  5. #include <QWidget>
  6. #include "common/settings_enums.h"
  7. namespace Core {
  8. class System;
  9. }
  10. namespace Ui {
  11. class ConfigureUi;
  12. }
  13. class ConfigureUi : public QWidget {
  14. Q_OBJECT
  15. public:
  16. explicit ConfigureUi(Core::System& system_, QWidget* parent = nullptr);
  17. ~ConfigureUi() override;
  18. void ApplyConfiguration();
  19. void UpdateScreenshotInfo(Settings::AspectRatio ratio,
  20. Settings::ResolutionSetup resolution_info);
  21. private slots:
  22. void OnLanguageChanged(int index);
  23. signals:
  24. void LanguageChanged(const QString& locale);
  25. private:
  26. void RequestGameListUpdate();
  27. void SetConfiguration();
  28. void changeEvent(QEvent*) override;
  29. void RetranslateUI();
  30. void InitializeLanguageComboBox();
  31. void InitializeIconSizeComboBox();
  32. void InitializeRowComboBoxes();
  33. void UpdateFirstRowComboBox(bool init = false);
  34. void UpdateSecondRowComboBox(bool init = false);
  35. void UpdateWidthText();
  36. std::unique_ptr<Ui::ConfigureUi> ui;
  37. Settings::AspectRatio ratio;
  38. Settings::ResolutionSetup resolution_setting;
  39. Core::System& system;
  40. };