Skip to content

Commit

Permalink
🎨 减少体积/下载名称优化
Browse files Browse the repository at this point in the history
  • Loading branch information
tw93 committed Apr 8, 2023
1 parent c477ef1 commit ebb3d2f
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 14 deletions.
1 change: 0 additions & 1 deletion src-tauri/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ tauri = { version = "1.2.4", features = ["api-all", "system-tray"] }
image = "0.24.5"
home = "0.5"
dirs = "5.0"
libc = "0.2"
download_rs = { version = "0.2.0", features = ["sync_download"] }
tauri-plugin-window-state = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "dev" }

Expand Down
43 changes: 31 additions & 12 deletions src-tauri/src/util.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
use crate::app::config::PakeConfig;
use dirs::config_dir;
use libc::getenv;
use std::ffi::CStr;
use std::env;
use std::path::PathBuf;
use tauri::{Config, Window};

Expand Down Expand Up @@ -36,25 +35,45 @@ pub fn show_toast(window: &Window, message: &str) {
}

pub fn get_download_message() -> String {
let lang_env_var = unsafe { CStr::from_ptr(getenv(b"LANG\0".as_ptr() as *const i8)) };
let lang_str = lang_env_var.to_string_lossy().to_lowercase();
if lang_str.starts_with("zh") {
"下载成功,已保存到下载目录~".to_string()
} else {
"Download successful, saved to download directory~".to_string()
}
let default_message = "Download successful, saved to download directory~";
let chinese_message = "下载成功,已保存到下载目录~";

env::var("LANG")
.map(|lang| {
if lang.starts_with("zh") {
chinese_message
} else {
default_message
}
})
.unwrap_or(default_message)
.to_string()
}

// Check if the file exists, if it exists, add a number to file name
pub fn check_file_or_append(file_path: &str) -> String {
let mut new_path = PathBuf::from(file_path);
let mut counter = 1;
let mut counter = 0;

while new_path.exists() {
let file_stem = new_path.file_stem().unwrap().to_string_lossy().to_string();
let extension = new_path.extension().unwrap().to_string_lossy().to_string();
let parent_dir = new_path.parent().unwrap();
new_path = parent_dir.join(format!("{}-{}.{}", file_stem, counter, extension));
counter += 1;

let new_file_stem = match file_stem.rfind('-') {
Some(index) if file_stem[index + 1..].parse::<u32>().is_ok() => {
let base_name = &file_stem[..index];
counter = file_stem[index + 1..].parse::<u32>().unwrap() + 1;
format!("{}-{}", base_name, counter)
}
_ => {
counter += 1;
format!("{}-{}", file_stem, counter)
}
};

new_path = parent_dir.join(format!("{}.{}", new_file_stem, extension));
}

new_path.to_string_lossy().into_owned()
}

0 comments on commit ebb3d2f

Please sign in to comment.