From c0322acc241390e44b7aaa160b9dcd290adfaa6b Mon Sep 17 00:00:00 2001 From: Tricked <72335827+SkyBlockDev@users.noreply.github.com> Date: Mon, 3 Jan 2022 14:23:55 +0100 Subject: [PATCH] new: use home lib --- apps/desktop/Cargo.lock | 10 ++++++++ apps/desktop/Cargo.toml | 1 + apps/desktop/src/home.rs | 49 ---------------------------------------- apps/desktop/src/lib.rs | 1 - apps/desktop/src/main.rs | 3 ++- 5 files changed, 13 insertions(+), 51 deletions(-) delete mode 100644 apps/desktop/src/home.rs diff --git a/apps/desktop/Cargo.lock b/apps/desktop/Cargo.lock index 04960e7..c2ecaa8 100644 --- a/apps/desktop/Cargo.lock +++ b/apps/desktop/Cargo.lock @@ -73,6 +73,7 @@ dependencies = [ "clap", "clipboard", "embed-resource", + "home", "iced", "itertools", "native-dialog", @@ -1260,6 +1261,15 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" +[[package]] +name = "home" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2456aef2e6b6a9784192ae780c0f15bc57df0e918585282325e8c8ac27737654" +dependencies = [ + "winapi 0.3.9", +] + [[package]] name = "http" version = "0.1.21" diff --git a/apps/desktop/Cargo.toml b/apps/desktop/Cargo.toml index 55273b7..652b15e 100644 --- a/apps/desktop/Cargo.toml +++ b/apps/desktop/Cargo.toml @@ -18,6 +18,7 @@ toml = "0.5.8" reqwest = {version = "0.9.10", features=[]} clipboard = "0.5.0" clap = {version = "3.0.0", features = ["cargo", "color"]} +home = "0.5.3" [dependencies.native-dialog] version= "0.6.1" diff --git a/apps/desktop/src/home.rs b/apps/desktop/src/home.rs deleted file mode 100644 index 764775a..0000000 --- a/apps/desktop/src/home.rs +++ /dev/null @@ -1,49 +0,0 @@ -use std::env; -use std::path::PathBuf; - -pub fn home_dir() -> Option { - home_dir_inner() -} - -#[cfg(any(unix, target_os = "redox"))] -fn home_dir_inner() -> Option { - #[allow(deprecated)] - env::home_dir() -} - -#[cfg(windows)] -pub fn home_dir_inner() -> Option { - env::var_os("USERPROFILE") - .filter(|s| !s.is_empty()) - .map(PathBuf::from) - .or_else(home_dir_crt) -} - -#[cfg(windows)] -#[cfg(not(target_vendor = "uwp"))] -fn home_dir_crt() -> Option { - unsafe { - let mut path: Vec = Vec::with_capacity(MAX_PATH); - match SHGetFolderPathW( - ptr::null_mut(), - CSIDL_PROFILE, - ptr::null_mut(), - 0, - path.as_mut_ptr(), - ) { - S_OK => { - let len = wcslen(path.as_ptr()); - path.set_len(len); - let s = OsString::from_wide(&path); - Some(PathBuf::from(s)) - } - _ => None, - } - } -} - -#[cfg(windows)] -#[cfg(target_vendor = "uwp")] -fn home_dir_crt() -> Option { - None -} diff --git a/apps/desktop/src/lib.rs b/apps/desktop/src/lib.rs index a89c708..2adda25 100644 --- a/apps/desktop/src/lib.rs +++ b/apps/desktop/src/lib.rs @@ -1,4 +1,3 @@ -pub mod home; use std::env; use std::fs; use std::process::Command; diff --git a/apps/desktop/src/main.rs b/apps/desktop/src/main.rs index 8db07e3..8dfa84f 100644 --- a/apps/desktop/src/main.rs +++ b/apps/desktop/src/main.rs @@ -1,8 +1,9 @@ -use ascella::{home::home_dir, screenshot_area}; +use ascella::screenshot_area; use ascella::{take_ss, ScreenshotKind}; use clap::{crate_authors, crate_description, crate_name, crate_version, App, Arg}; use clipboard::ClipboardContext; use clipboard::ClipboardProvider; +use home::home_dir; use iced::{ button, futures::executor::block_on, scrollable, slider, text_input, Alignment, Button, Checkbox, Column, Container, Element, Length, ProgressBar, Radio, Row, Rule, Sandbox,