move gui::persistent_state to util::persistent_state
This commit is contained in:
+3
-3
@@ -1,16 +1,16 @@
|
||||
mod persistent_state;
|
||||
mod settings;
|
||||
pub mod settings;
|
||||
|
||||
use crate::{
|
||||
features::{
|
||||
self, anti_afk::AntiAfk, empty_session::EmptySession, force_close::ForceClose,
|
||||
launch::Launch,
|
||||
},
|
||||
gui::{persistent_state::PersistentState, settings::Settings},
|
||||
gui::settings::Settings,
|
||||
util::{
|
||||
self,
|
||||
consts::{APP_STORAGE_PATH, ENHANCED, GTA_WINDOW_TITLE, LEGACY},
|
||||
meta::Meta,
|
||||
persistent_state::PersistentState,
|
||||
},
|
||||
};
|
||||
use eframe::egui;
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
use crate::{features::launch::Platform, gui::settings::Settings, util::consts::APP_STORAGE_PATH};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::{
|
||||
fs::{self, File},
|
||||
io::Write,
|
||||
path::PathBuf,
|
||||
sync::LazyLock,
|
||||
};
|
||||
|
||||
static CONFIG_PATH: LazyLock<PathBuf> = LazyLock::new(|| APP_STORAGE_PATH.join("config.json"));
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
pub struct PersistentState {
|
||||
pub launcher: Platform,
|
||||
pub settings: Settings,
|
||||
}
|
||||
|
||||
impl PersistentState {
|
||||
pub fn get() -> Option<Self> {
|
||||
fs::read_to_string(CONFIG_PATH.as_path())
|
||||
.ok()
|
||||
.and_then(|config| serde_json::from_str::<Self>(&config).ok())
|
||||
}
|
||||
|
||||
pub fn set(&self) {
|
||||
let config_path = CONFIG_PATH.as_path();
|
||||
let config_path_parent = config_path.parent().unwrap();
|
||||
if !config_path_parent.exists() {
|
||||
fs::create_dir(config_path_parent).unwrap();
|
||||
}
|
||||
let mut config_file = File::create(config_path).unwrap();
|
||||
let json = serde_json::to_string_pretty(&self).unwrap();
|
||||
config_file.write_all(json.as_bytes()).unwrap();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user