| |
| |
|
|
| #include <vector> |
| #include <QLabel> |
| #include <qnamespace.h> |
| #include "common/settings.h" |
| #include "core/core.h" |
| #include "ui_configure_graphics_advanced.h" |
| #include "yuzu/configuration/configuration_shared.h" |
| #include "yuzu/configuration/configure_graphics_advanced.h" |
| #include "yuzu/configuration/shared_translation.h" |
| #include "yuzu/configuration/shared_widget.h" |
|
|
| ConfigureGraphicsAdvanced::ConfigureGraphicsAdvanced( |
| const Core::System& system_, std::shared_ptr<std::vector<ConfigurationShared::Tab*>> group_, |
| const ConfigurationShared::Builder& builder, QWidget* parent) |
| : Tab(group_, parent), ui{std::make_unique<Ui::ConfigureGraphicsAdvanced>()}, system{system_} { |
|
|
| ui->setupUi(this); |
|
|
| Setup(builder); |
|
|
| SetConfiguration(); |
|
|
| checkbox_enable_compute_pipelines->setVisible(false); |
| } |
|
|
| ConfigureGraphicsAdvanced::~ConfigureGraphicsAdvanced() = default; |
|
|
| void ConfigureGraphicsAdvanced::SetConfiguration() {} |
|
|
| void ConfigureGraphicsAdvanced::Setup(const ConfigurationShared::Builder& builder) { |
| auto& layout = *ui->populate_target->layout(); |
| std::map<u32, QWidget*> hold{}; |
|
|
| for (auto setting : |
| Settings::values.linkage.by_category[Settings::Category::RendererAdvanced]) { |
| ConfigurationShared::Widget* widget = builder.BuildWidget(setting, apply_funcs); |
|
|
| if (widget == nullptr) { |
| continue; |
| } |
| if (!widget->Valid()) { |
| widget->deleteLater(); |
| continue; |
| } |
|
|
| hold.emplace(setting->Id(), widget); |
|
|
| |
| if (setting->Id() == Settings::values.enable_compute_pipelines.Id()) { |
| checkbox_enable_compute_pipelines = widget; |
| } |
| } |
| for (const auto& [id, widget] : hold) { |
| layout.addWidget(widget); |
| } |
| } |
|
|
| void ConfigureGraphicsAdvanced::ApplyConfiguration() { |
| const bool is_powered_on = system.IsPoweredOn(); |
| for (const auto& func : apply_funcs) { |
| func(is_powered_on); |
| } |
| } |
|
|
| void ConfigureGraphicsAdvanced::changeEvent(QEvent* event) { |
| if (event->type() == QEvent::LanguageChange) { |
| RetranslateUI(); |
| } |
|
|
| QWidget::changeEvent(event); |
| } |
|
|
| void ConfigureGraphicsAdvanced::RetranslateUI() { |
| ui->retranslateUi(this); |
| } |
|
|
| void ConfigureGraphicsAdvanced::ExposeComputeOption() { |
| checkbox_enable_compute_pipelines->setVisible(true); |
| } |
|
|