configure_linux_tab.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <QWidget>
  5. namespace Core {
  6. class System;
  7. }
  8. namespace Ui {
  9. class ConfigureLinuxTab;
  10. }
  11. namespace ConfigurationShared {
  12. class Builder;
  13. }
  14. class ConfigureLinuxTab : public ConfigurationShared::Tab {
  15. Q_OBJECT
  16. public:
  17. explicit ConfigureLinuxTab(const Core::System& system_,
  18. std::shared_ptr<std::vector<ConfigurationShared::Tab*>> group,
  19. const ConfigurationShared::Builder& builder,
  20. QWidget* parent = nullptr);
  21. ~ConfigureLinuxTab() override;
  22. void ApplyConfiguration() override;
  23. void SetConfiguration() override;
  24. private:
  25. void changeEvent(QEvent* event) override;
  26. void RetranslateUI();
  27. void Setup(const ConfigurationShared::Builder& builder);
  28. std::unique_ptr<Ui::ConfigureLinuxTab> ui;
  29. const Core::System& system;
  30. std::vector<std::function<void(bool)>> apply_funcs{};
  31. };