Download Source Code/Yuzu/src/yuzu/configuration/configure_general.cpp from GilbertClaus/Emulator: direct link, hf CLI and curl.
- Browser
- Download file 3.9 kB
-
https://huggingface.co/GilbertClaus/Emulator/resolve/main/Source%20Code/Yuzu/src/yuzu/configuration/configure_general.cpp
- Command line
-
hf download 'hf://GilbertClaus/Emulator/Source Code/Yuzu/src/yuzu/configuration/configure_general.cpp'
-
curl -L -o configure_general.cpp https://huggingface.co/GilbertClaus/Emulator/resolve/main/Source%20Code/Yuzu/src/yuzu/configuration/configure_general.cpp
3.9 kB
| // SPDX-FileCopyrightText: 2016 Citra Emulator Project | |
| // SPDX-License-Identifier: GPL-2.0-or-later | |
| ConfigureGeneral::ConfigureGeneral(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::ConfigureGeneral>()}, system{system_} { | |
| ui->setupUi(this); | |
| Setup(builder); | |
| SetConfiguration(); | |
| connect(ui->button_reset_defaults, &QPushButton::clicked, this, | |
| &ConfigureGeneral::ResetDefaults); | |
| if (!Settings::IsConfiguringGlobal()) { | |
| ui->button_reset_defaults->setVisible(false); | |
| } | |
| } | |
| ConfigureGeneral::~ConfigureGeneral() = default; | |
| void ConfigureGeneral::SetConfiguration() {} | |
| void ConfigureGeneral::Setup(const ConfigurationShared::Builder& builder) { | |
| QLayout& general_layout = *ui->general_widget->layout(); | |
| QLayout& linux_layout = *ui->linux_widget->layout(); | |
| std::map<u32, QWidget*> general_hold{}; | |
| std::map<u32, QWidget*> linux_hold{}; | |
| std::vector<Settings::BasicSetting*> settings; | |
| auto push = [&settings](auto& list) { | |
| for (auto setting : list) { | |
| settings.push_back(setting); | |
| } | |
| }; | |
| push(UISettings::values.linkage.by_category[Settings::Category::UiGeneral]); | |
| push(Settings::values.linkage.by_category[Settings::Category::Linux]); | |
| // Only show Linux group on Unix | |
| ui->LinuxGroupBox->setVisible(false); | |
| for (const auto setting : settings) { | |
| auto* widget = builder.BuildWidget(setting, apply_funcs); | |
| if (widget == nullptr) { | |
| continue; | |
| } | |
| if (!widget->Valid()) { | |
| widget->deleteLater(); | |
| continue; | |
| } | |
| switch (setting->GetCategory()) { | |
| case Settings::Category::UiGeneral: | |
| general_hold.emplace(setting->Id(), widget); | |
| break; | |
| case Settings::Category::Linux: | |
| linux_hold.emplace(setting->Id(), widget); | |
| break; | |
| default: | |
| widget->deleteLater(); | |
| } | |
| } | |
| for (const auto& [id, widget] : general_hold) { | |
| general_layout.addWidget(widget); | |
| } | |
| for (const auto& [id, widget] : linux_hold) { | |
| linux_layout.addWidget(widget); | |
| } | |
| } | |
| // Called to set the callback when resetting settings to defaults | |
| void ConfigureGeneral::SetResetCallback(std::function<void()> callback) { | |
| reset_callback = std::move(callback); | |
| } | |
| void ConfigureGeneral::ResetDefaults() { | |
| QMessageBox::StandardButton answer = QMessageBox::question( | |
| this, tr("yuzu"), | |
| tr("This reset all settings and remove all per-game configurations. This will not delete " | |
| "game directories, profiles, or input profiles. Proceed?"), | |
| QMessageBox::Yes | QMessageBox::No, QMessageBox::No); | |
| if (answer == QMessageBox::No) { | |
| return; | |
| } | |
| UISettings::values.reset_to_defaults = true; | |
| UISettings::values.is_game_list_reload_pending.exchange(true); | |
| reset_callback(); | |
| } | |
| void ConfigureGeneral::ApplyConfiguration() { | |
| bool powered_on = system.IsPoweredOn(); | |
| for (const auto& func : apply_funcs) { | |
| func(powered_on); | |
| } | |
| } | |
| void ConfigureGeneral::changeEvent(QEvent* event) { | |
| if (event->type() == QEvent::LanguageChange) { | |
| RetranslateUI(); | |
| } | |
| QWidget::changeEvent(event); | |
| } | |
| void ConfigureGeneral::RetranslateUI() { | |
| ui->retranslateUi(this); | |
| } | |