[feat] enable tab switch in edit mode

This commit is contained in:
Purp1e
2025-03-27 17:36:04 +08:00
parent a10cf8eddf
commit 0e7e6dd3ba
3 changed files with 230 additions and 56 deletions

View File

@@ -355,9 +355,9 @@ pub fn get_cs2_video(file_path: &str) -> Result<VideoConfig> {
let json_data = super::parse::to_json(&data);
let kv: HashMap<String, String> = serde_json::from_str(&json_data)?;
let video_config = VideoConfig {
version: kv.get("version").unwrap_or(&"".to_string()).to_string(),
vendor_id: kv.get("vendor_id").unwrap_or(&"".to_string()).to_string(),
device_id: kv.get("device_id").unwrap_or(&"".to_string()).to_string(),
version: kv.get("Version").unwrap_or(&"".to_string()).to_string(),
vendor_id: kv.get("VendorID").unwrap_or(&"".to_string()).to_string(),
device_id: kv.get("DeviceID").unwrap_or(&"".to_string()).to_string(),
cpu_level: kv
.get("setting.cpu_level")
.unwrap_or(&"".to_string())
@@ -414,7 +414,7 @@ pub fn get_cs2_video(file_path: &str) -> Result<VideoConfig> {
.get("setting.high_dpi")
.unwrap_or(&"".to_string())
.to_string(),
auto_config: kv.get("auto_config").unwrap_or(&"".to_string()).to_string(),
auto_config: kv.get("AutoConfig").unwrap_or(&"".to_string()).to_string(),
shaderquality: kv
.get("setting.shaderquality")
.unwrap_or(&"".to_string())
@@ -486,6 +486,9 @@ pub fn set_cs2_video(file_path: &str, data: VideoConfig) -> Result<()> {
let updated_content = re.replace_all(&file_content, |caps: &regex::Captures| {
let key = &caps[1]; // 捕获的键名
let value = match key {
"Version" => &data.version,
"VendorID" => &data.vendor_id,
"DeviceID" => &data.device_id,
"setting.cpu_level" => &data.cpu_level,
"setting.gpu_mem_level" => &data.gpu_mem_level,
"setting.gpu_level" => &data.gpu_level,
@@ -500,6 +503,7 @@ pub fn set_cs2_video(file_path: &str, data: VideoConfig) -> Result<()> {
"setting.mat_vsync" => &data.mat_vsync,
"setting.fullscreen_min_on_focus_loss" => &data.fullscreen_min_on_focus_loss,
"setting.high_dpi" => &data.high_dpi,
"AutoConfig" => &data.auto_config,
"setting.shaderquality" => &data.shaderquality,
"setting.r_texturefilteringquality" => &data.r_texturefilteringquality,
"setting.msaa_samples" => &data.msaa_samples,