configure_audio/cpu: Sort settings
Was producing out of order settings as a result of the switch to vectors
This commit is contained in:
parent
33d118509a
commit
85ed10f31f
|
@ -1,13 +1,16 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include <map>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <QComboBox>
|
#include <QComboBox>
|
||||||
|
|
||||||
#include "audio_core/sink/sink.h"
|
#include "audio_core/sink/sink.h"
|
||||||
#include "audio_core/sink/sink_details.h"
|
#include "audio_core/sink/sink_details.h"
|
||||||
|
#include "common/common_types.h"
|
||||||
#include "common/settings.h"
|
#include "common/settings.h"
|
||||||
|
#include "common/settings_common.h"
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
#include "ui_configure_audio.h"
|
#include "ui_configure_audio.h"
|
||||||
#include "yuzu/configuration/configuration_shared.h"
|
#include "yuzu/configuration/configuration_shared.h"
|
||||||
|
@ -33,6 +36,8 @@ void ConfigureAudio::Setup(const ConfigurationShared::Builder& builder) {
|
||||||
|
|
||||||
std::vector<Settings::BasicSetting*> settings;
|
std::vector<Settings::BasicSetting*> settings;
|
||||||
|
|
||||||
|
std::map<u32, QWidget*> hold;
|
||||||
|
|
||||||
auto push = [&](Settings::Category category) {
|
auto push = [&](Settings::Category category) {
|
||||||
for (auto* setting : Settings::values.linkage.by_category[category]) {
|
for (auto* setting : Settings::values.linkage.by_category[category]) {
|
||||||
settings.push_back(setting);
|
settings.push_back(setting);
|
||||||
|
@ -53,7 +58,7 @@ void ConfigureAudio::Setup(const ConfigurationShared::Builder& builder) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
layout.addWidget(widget);
|
hold.emplace(std::pair{setting->Id(), widget});
|
||||||
|
|
||||||
if (setting->Id() == Settings::values.sink_id.Id()) {
|
if (setting->Id() == Settings::values.sink_id.Id()) {
|
||||||
// TODO (lat9nq): Let the system manage sink_id
|
// TODO (lat9nq): Let the system manage sink_id
|
||||||
|
@ -70,6 +75,10 @@ void ConfigureAudio::Setup(const ConfigurationShared::Builder& builder) {
|
||||||
input_device_combo_box = widget->combobox;
|
input_device_combo_box = widget->combobox;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (const auto& [id, widget] : hold) {
|
||||||
|
layout.addWidget(widget);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConfigureAudio::SetConfiguration() {
|
void ConfigureAudio::SetConfiguration() {
|
||||||
|
|
|
@ -35,7 +35,7 @@ void ConfigureCpu::SetConfiguration() {}
|
||||||
void ConfigureCpu::Setup(const ConfigurationShared::Builder& builder) {
|
void ConfigureCpu::Setup(const ConfigurationShared::Builder& builder) {
|
||||||
auto* accuracy_layout = ui->widget_accuracy->layout();
|
auto* accuracy_layout = ui->widget_accuracy->layout();
|
||||||
auto* unsafe_layout = ui->unsafe_widget->layout();
|
auto* unsafe_layout = ui->unsafe_widget->layout();
|
||||||
std::map<std::string, QWidget*> unsafe_hold{};
|
std::map<u32, QWidget*> unsafe_hold{};
|
||||||
|
|
||||||
std::vector<Settings::BasicSetting*> settings;
|
std::vector<Settings::BasicSetting*> settings;
|
||||||
const auto push = [&](Settings::Category category) {
|
const auto push = [&](Settings::Category category) {
|
||||||
|
@ -64,7 +64,7 @@ void ConfigureCpu::Setup(const ConfigurationShared::Builder& builder) {
|
||||||
accuracy_combobox = widget->combobox;
|
accuracy_combobox = widget->combobox;
|
||||||
} else {
|
} else {
|
||||||
// Presently, all other settings here are unsafe checkboxes
|
// Presently, all other settings here are unsafe checkboxes
|
||||||
unsafe_hold.insert({setting->GetLabel(), widget});
|
unsafe_hold.insert({setting->Id(), widget});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in New Issue