ui: create default configuration

This commit is contained in:
PancakeTAS 2025-07-25 16:21:03 +02:00 committed by Pancake
parent abcbdbe950
commit 3c6e79823b
2 changed files with 7 additions and 2 deletions

View file

@ -31,6 +31,11 @@ static CONFIG_WRITER: OnceLock<std::sync::mpsc::Sender<()>> = OnceLock::new();
pub fn load_config() -> Result<(), anyhow::Error> {
// load the configuration file
let path = find_config_file();
if !std::path::Path::new(&path).exists() {
let default_config = TomlConfig::default();
save_config(&default_config)
.context("Failed to create default configuration")?;
}
let data = std::fs::read(path)
.context("Failed to read conf.toml")?;
let mut config: TomlConfig = toml::from_slice(&data)

View file

@ -60,7 +60,7 @@ impl Into<u32> for PresentMode {
}
/// Global configuration for the application
#[derive(Debug, Clone, Default, Deserialize, Serialize)]
#[derive(Debug, Default, Clone, Deserialize, Serialize)]
pub struct TomlGlobal {
pub dll: Option<String>
}
@ -83,7 +83,7 @@ pub struct TomlGame {
}
/// Main configuration structure
#[derive(Debug, Clone, Deserialize, Serialize)]
#[derive(Debug, Default, Clone, Deserialize, Serialize)]
pub struct TomlConfig {
pub version: i64,
#[serde(default)]