Use config folder (#110)

This commit is contained in:
Philip Kristoffersen
2022-05-01 07:14:24 +02:00
committed by GitHub
parent 44bebfc59e
commit 9fdf56d5ed
9 changed files with 117 additions and 18 deletions
+41
View File
@@ -0,0 +1,41 @@
use std::path::Path;
pub fn migrate_config() {
let version = &crate::settings::Settings::new()
.map(|s| s.config_version)
.unwrap_or_default();
let mut save_version = false;
if version.is_none() {
//Migration from 0 to 1
let old_path = &Path::new("config.toml");
if old_path.exists() {
println!("Migrating from configuration version 0 to version 1");
let new_path = crate::config::get_config_file();
println!("Your configuration file will be moved to {:?}", new_path);
let _ = std::fs::copy(old_path, new_path);
let _ = std::fs::remove_file(old_path);
}
let old_path = &Path::new(".thumbnails");
if old_path.exists() {
//thumbnails are just cache can be removed
let _ = std::fs::remove_dir_all(old_path);
}
let old_path = &Path::new("cache.json");
if old_path.exists() {
let new_path = crate::config::get_cache_file();
let _ = std::fs::copy(old_path, new_path);
let _ = std::fs::remove_file(old_path);
}
save_version = true;
}
if save_version {
if let Ok(mut settings) = crate::settings::Settings::new() {
settings.config_version = Some(1);
crate::ui::MyEguiApp::save_settings_to_file(&settings);
}
}
}