mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	configure_audio/cpu: Sort settings
Was producing out of order settings as a result of the switch to vectors
This commit is contained in:
		@@ -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
	
	Block a user