Make sure settings are listed in-order
This commit is contained in:
parent
b6a4cd59bf
commit
0e40fe7f94
@ -10,7 +10,7 @@ use godot::{
|
|||||||
|
|
||||||
use crate::{game_settings::GameSettingsManager, ui::slider::SliderContainer};
|
use crate::{game_settings::GameSettingsManager, ui::slider::SliderContainer};
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, PartialOrd, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, PartialOrd, Ord, Eq, Hash)]
|
||||||
pub enum Setting {
|
pub enum Setting {
|
||||||
FoV,
|
FoV,
|
||||||
DefaultName,
|
DefaultName,
|
||||||
@ -111,7 +111,12 @@ impl IPanelContainer for SettingsPanel {
|
|||||||
);
|
);
|
||||||
|
|
||||||
if let Some(mut grid) = self.settings_grid.clone() {
|
if let Some(mut grid) = self.settings_grid.clone() {
|
||||||
for (setting, value) in &self.settings {
|
let mut keys = self.settings.keys().collect::<Vec<_>>();
|
||||||
|
keys.sort();
|
||||||
|
|
||||||
|
for setting in keys.into_iter() {
|
||||||
|
let value = self.settings.get(setting).unwrap().clone();
|
||||||
|
|
||||||
let mut label = Label::new_alloc();
|
let mut label = Label::new_alloc();
|
||||||
label.set_text(&setting.to_string());
|
label.set_text(&setting.to_string());
|
||||||
label.set_h_size_flags(SizeFlags::EXPAND | SizeFlags::SHRINK_BEGIN);
|
label.set_h_size_flags(SizeFlags::EXPAND | SizeFlags::SHRINK_BEGIN);
|
||||||
@ -148,7 +153,7 @@ impl IPanelContainer for SettingsPanel {
|
|||||||
SettingValue::String(value) => {
|
SettingValue::String(value) => {
|
||||||
let mut line_edit = LineEdit::new_alloc();
|
let mut line_edit = LineEdit::new_alloc();
|
||||||
line_edit.set_custom_minimum_size(Vector2::new(100., -1.));
|
line_edit.set_custom_minimum_size(Vector2::new(100., -1.));
|
||||||
line_edit.set_text(value);
|
line_edit.set_text(&value);
|
||||||
line_edit.set_max_length(20);
|
line_edit.set_max_length(20);
|
||||||
|
|
||||||
let setting_clone = setting.clone();
|
let setting_clone = setting.clone();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user