|
|
@@ -13,60 +13,60 @@ use ProjectDirectories; |
|
|
use strip_qualification;
|
|
|
|
|
|
pub fn base_directories() -> BaseDirectories {
|
|
|
let home_dir = unsafe { known_folder(&knownfolders::FOLDERID_Profile) };
|
|
|
let data_dir = unsafe { known_folder(&knownfolders::FOLDERID_LocalAppData) };
|
|
|
let data_roaming_dir = unsafe { known_folder(&knownfolders::FOLDERID_RoamingAppData) };
|
|
|
let desktop_dir = unsafe { known_folder(&knownfolders::FOLDERID_Desktop) };
|
|
|
let document_dir = unsafe { known_folder(&knownfolders::FOLDERID_Documents) };
|
|
|
let download_dir = unsafe { known_folder(&knownfolders::FOLDERID_Downloads) };
|
|
|
let audio_dir = unsafe { known_folder(&knownfolders::FOLDERID_Music) };
|
|
|
let picture_dir = unsafe { known_folder(&knownfolders::FOLDERID_Pictures) };
|
|
|
let public_dir = unsafe { known_folder(&knownfolders::FOLDERID_Public) };
|
|
|
let template_dir = unsafe { known_folder(&knownfolders::FOLDERID_Templates) };
|
|
|
let video_dir = unsafe { known_folder(&knownfolders::FOLDERID_Videos) };
|
|
|
let home_dir = unsafe { known_folder(&knownfolders::FOLDERID_Profile) };
|
|
|
let data_dir = unsafe { known_folder(&knownfolders::FOLDERID_RoamingAppData) };
|
|
|
let data_local_dir = unsafe { known_folder(&knownfolders::FOLDERID_LocalAppData) };
|
|
|
let desktop_dir = unsafe { known_folder(&knownfolders::FOLDERID_Desktop) };
|
|
|
let document_dir = unsafe { known_folder(&knownfolders::FOLDERID_Documents) };
|
|
|
let download_dir = unsafe { known_folder(&knownfolders::FOLDERID_Downloads) };
|
|
|
let audio_dir = unsafe { known_folder(&knownfolders::FOLDERID_Music) };
|
|
|
let picture_dir = unsafe { known_folder(&knownfolders::FOLDERID_Pictures) };
|
|
|
let public_dir = unsafe { known_folder(&knownfolders::FOLDERID_Public) };
|
|
|
let template_dir = unsafe { known_folder(&knownfolders::FOLDERID_Templates) };
|
|
|
let video_dir = unsafe { known_folder(&knownfolders::FOLDERID_Videos) };
|
|
|
|
|
|
let cache_dir = data_dir.join("cache");
|
|
|
let config_dir = data_roaming_dir.clone();
|
|
|
let cache_dir = data_local_dir.join("cache");
|
|
|
let config_dir = data_dir.clone();
|
|
|
|
|
|
BaseDirectories {
|
|
|
home_dir: home_dir,
|
|
|
cache_dir: cache_dir,
|
|
|
config_dir: config_dir,
|
|
|
data_dir: data_dir,
|
|
|
data_roaming_dir: data_roaming_dir,
|
|
|
executable_dir: None,
|
|
|
runtime_dir: None,
|
|
|
home_dir: home_dir,
|
|
|
cache_dir: cache_dir,
|
|
|
config_dir: config_dir,
|
|
|
data_dir: data_dir,
|
|
|
data_local_dir: data_local_dir,
|
|
|
executable_dir: None,
|
|
|
runtime_dir: None,
|
|
|
|
|
|
audio_dir: audio_dir,
|
|
|
desktop_dir: desktop_dir,
|
|
|
document_dir: document_dir,
|
|
|
download_dir: download_dir,
|
|
|
font_dir: None,
|
|
|
picture_dir: picture_dir,
|
|
|
public_dir: public_dir,
|
|
|
template_dir: Some(template_dir),
|
|
|
video_dir: video_dir
|
|
|
audio_dir: audio_dir,
|
|
|
desktop_dir: desktop_dir,
|
|
|
document_dir: document_dir,
|
|
|
download_dir: download_dir,
|
|
|
font_dir: None,
|
|
|
picture_dir: picture_dir,
|
|
|
public_dir: public_dir,
|
|
|
template_dir: Some(template_dir),
|
|
|
video_dir: video_dir
|
|
|
}
|
|
|
}
|
|
|
|
|
|
impl ProjectDirectories {
|
|
|
pub fn from_unprocessed_string(value: &str) -> ProjectDirectories {
|
|
|
let project_name = String::from(value);
|
|
|
let data_dir = unsafe { known_folder(&knownfolders::FOLDERID_LocalAppData) };
|
|
|
let data_local_dir = unsafe { known_folder(&knownfolders::FOLDERID_LocalAppData) };
|
|
|
|
|
|
let project_cache_dir = data_dir.join(&value).join("cache");
|
|
|
let project_data_dir = data_dir.join(&value);
|
|
|
let project_roaming_data_dir = unsafe { known_folder(&knownfolders::FOLDERID_RoamingAppData) }.join(&value);
|
|
|
let project_cache_dir = data_local_dir.join(&value).join("cache");
|
|
|
let project_data_local_dir = data_local_dir.join(&value);
|
|
|
let project_data_dir = unsafe { known_folder(&knownfolders::FOLDERID_RoamingAppData) }.join(&value);
|
|
|
|
|
|
let project_config_dir = project_roaming_data_dir.clone();
|
|
|
let project_config_dir = project_data_dir.clone();
|
|
|
|
|
|
ProjectDirectories {
|
|
|
project_name: project_name,
|
|
|
project_cache_dir: project_cache_dir,
|
|
|
project_config_dir: project_config_dir,
|
|
|
project_data_dir: project_data_dir,
|
|
|
project_data_roaming_dir: project_roaming_data_dir,
|
|
|
project_runtime_dir: None,
|
|
|
project_name: project_name,
|
|
|
project_cache_dir: project_cache_dir,
|
|
|
project_config_dir: project_config_dir,
|
|
|
project_data_dir: project_data_dir,
|
|
|
project_data_local_dir: project_data_local_dir,
|
|
|
project_runtime_dir: None
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|