commit
4964fed5f6
5 changed files with 102 additions and 78 deletions
|
@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed jadeite patch state handling from the metadata file
|
||||||
|
- Fixed game pre-downloading button sensitivity when the update was partially downloaded, but then interrupted
|
||||||
|
- Fixed game pre-downloading button visibility when jadeite patch state is not "verified"
|
||||||
|
|
||||||
## [1.2.3] - 14.07.2023
|
## [1.2.3] - 14.07.2023
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
90
Cargo.lock
generated
90
Cargo.lock
generated
|
@ -39,8 +39,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "anime-game-core"
|
name = "anime-game-core"
|
||||||
version = "1.13.2"
|
version = "1.13.3"
|
||||||
source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.13.2#a15b8162adcefcc9d99eacbd55ae5cfe1e1fddfe"
|
source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.13.3#8eeb77915ff0c3d68e6b168e1c7f31cc5cc41a02"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bzip2",
|
"bzip2",
|
||||||
|
@ -64,8 +64,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "anime-launcher-sdk"
|
name = "anime-launcher-sdk"
|
||||||
version = "1.8.5"
|
version = "1.8.7"
|
||||||
source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.8.5#cedb6f05b5749c3143a235a92ba78c458c4934a8"
|
source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.8.7#8380edbbd9351911c4afb129786309b1274246f0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anime-game-core",
|
"anime-game-core",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
@ -82,9 +82,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "anyhow"
|
name = "anyhow"
|
||||||
version = "1.0.71"
|
version = "1.0.72"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
|
checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"backtrace",
|
"backtrace",
|
||||||
]
|
]
|
||||||
|
@ -230,7 +230,7 @@ checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.25",
|
"syn 2.0.26",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -273,7 +273,7 @@ checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.25",
|
"syn 2.0.26",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -681,7 +681,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.25",
|
"syn 2.0.26",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -718,7 +718,7 @@ dependencies = [
|
||||||
"num-traits",
|
"num-traits",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.25",
|
"syn 2.0.26",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -739,7 +739,7 @@ checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.25",
|
"syn 2.0.26",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -1010,7 +1010,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.25",
|
"syn 2.0.26",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -1540,9 +1540,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "itoa"
|
name = "itoa"
|
||||||
version = "1.0.8"
|
version = "1.0.9"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a"
|
checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jobserver"
|
name = "jobserver"
|
||||||
|
@ -2001,7 +2001,7 @@ checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.25",
|
"syn 2.0.26",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -2092,18 +2092,18 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro2"
|
name = "proc-macro2"
|
||||||
version = "1.0.64"
|
version = "1.0.66"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da"
|
checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"unicode-ident",
|
"unicode-ident",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "quote"
|
name = "quote"
|
||||||
version = "1.0.29"
|
version = "1.0.31"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
|
checksum = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
]
|
]
|
||||||
|
@ -2239,7 +2239,7 @@ checksum = "848a6e1b4954b7aa8155d4a234516d46ed543a614666adc1ea73a922bc841e2a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.25",
|
"syn 2.0.26",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -2352,9 +2352,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ryu"
|
name = "ryu"
|
||||||
version = "1.0.14"
|
version = "1.0.15"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9"
|
checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "same-file"
|
name = "same-file"
|
||||||
|
@ -2376,9 +2376,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "scopeguard"
|
name = "scopeguard"
|
||||||
version = "1.1.0"
|
version = "1.2.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
|
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sct"
|
name = "sct"
|
||||||
|
@ -2421,9 +2421,9 @@ checksum = "1ef965a420fe14fdac7dd018862966a4c14094f900e1650bbc71ddd7d580c8af"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "semver"
|
name = "semver"
|
||||||
version = "1.0.17"
|
version = "1.0.18"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
|
checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde"
|
name = "serde"
|
||||||
|
@ -2442,14 +2442,14 @@ checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.25",
|
"syn 2.0.26",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_json"
|
name = "serde_json"
|
||||||
version = "1.0.102"
|
version = "1.0.103"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b5062a995d481b2308b6064e9af76011f2921c35f97b0468811ed9f6cd91dfed"
|
checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"itoa",
|
"itoa",
|
||||||
"ryu",
|
"ryu",
|
||||||
|
@ -2464,7 +2464,7 @@ checksum = "1d89a8107374290037607734c0b73a85db7ed80cae314b3c5791f192a496e731"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.25",
|
"syn 2.0.26",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -2509,9 +2509,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "signal-hook"
|
name = "signal-hook"
|
||||||
version = "0.3.15"
|
version = "0.3.16"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9"
|
checksum = "b824b6e687aff278cdbf3b36f07aa52d4bd4099699324d5da86a2ebce3aa00b3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"signal-hook-registry",
|
"signal-hook-registry",
|
||||||
|
@ -2629,9 +2629,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "syn"
|
name = "syn"
|
||||||
version = "2.0.25"
|
version = "2.0.26"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2"
|
checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
@ -2640,9 +2640,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sysinfo"
|
name = "sysinfo"
|
||||||
version = "0.29.4"
|
version = "0.29.5"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "751e810399bba86e9326f5762b7f32ac5a085542df78da6a78d94e07d14d7c11"
|
checksum = "6b949f01f9c23823744b71e0060472ecbde578ef68cc2a9e46d114efd77c3034"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"core-foundation-sys",
|
"core-foundation-sys",
|
||||||
|
@ -2714,7 +2714,7 @@ checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.25",
|
"syn 2.0.26",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -2789,7 +2789,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.25",
|
"syn 2.0.26",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -2815,9 +2815,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "toml_edit"
|
name = "toml_edit"
|
||||||
version = "0.19.13"
|
version = "0.19.14"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5f8751d9c1b03c6500c387e96f81f815a4f8e72d142d2d4a9ffa6fedd51ddee7"
|
checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"indexmap",
|
"indexmap",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -2846,7 +2846,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.25",
|
"syn 2.0.26",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -2960,9 +2960,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicode-ident"
|
name = "unicode-ident"
|
||||||
version = "1.0.10"
|
version = "1.0.11"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73"
|
checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicode-normalization"
|
name = "unicode-normalization"
|
||||||
|
@ -3073,7 +3073,7 @@ dependencies = [
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.25",
|
"syn 2.0.26",
|
||||||
"wasm-bindgen-shared",
|
"wasm-bindgen-shared",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -3107,7 +3107,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.25",
|
"syn 2.0.26",
|
||||||
"wasm-bindgen-backend",
|
"wasm-bindgen-backend",
|
||||||
"wasm-bindgen-shared",
|
"wasm-bindgen-shared",
|
||||||
]
|
]
|
||||||
|
|
|
@ -17,7 +17,7 @@ glib-build-tools = "0.17"
|
||||||
|
|
||||||
[dependencies.anime-launcher-sdk]
|
[dependencies.anime-launcher-sdk]
|
||||||
git = "https://github.com/an-anime-team/anime-launcher-sdk"
|
git = "https://github.com/an-anime-team/anime-launcher-sdk"
|
||||||
tag = "1.8.5"
|
tag = "1.8.7"
|
||||||
features = ["all", "star-rail", "star-rail-patch"]
|
features = ["all", "star-rail", "star-rail-patch"]
|
||||||
|
|
||||||
# path = "../anime-launcher-sdk" # ! for dev purposes only
|
# path = "../anime-launcher-sdk" # ! for dev purposes only
|
||||||
|
|
|
@ -93,19 +93,9 @@ impl SimpleComponent for AboutDialog {
|
||||||
"<p>Fixed</p>",
|
"<p>Fixed</p>",
|
||||||
|
|
||||||
"<ul>",
|
"<ul>",
|
||||||
"<li>Fixed telemetry disabling</li>",
|
"<li>Fixed jadeite patch state handling from the metadata file</li>",
|
||||||
"</ul>",
|
"<li>Fixed game pre-downloading button sensitivity when the update was partially downloaded, but then interrupted</li>",
|
||||||
|
"<li>Fixed game pre-downloading button visibility when jadeite patch state is not \"verified\"</li>",
|
||||||
"<p>Changed</p>",
|
|
||||||
|
|
||||||
"<ul>",
|
|
||||||
"<li>Updated Italian</li>",
|
|
||||||
"<li>Updated Hungarian</li>",
|
|
||||||
"<li>Updated Japanese</li>",
|
|
||||||
"<li>Updated Indonesian</li>",
|
|
||||||
"<li>Updated Spanish</li>",
|
|
||||||
"<li>Updated Turkish</li>",
|
|
||||||
"<li>Updated Chinese</li>",
|
|
||||||
"</ul>",
|
"</ul>",
|
||||||
].join("\n"),
|
].join("\n"),
|
||||||
|
|
||||||
|
|
|
@ -301,12 +301,12 @@ impl SimpleComponent for App {
|
||||||
#[watch]
|
#[watch]
|
||||||
set_tooltip_text: Some(&tr_args("predownload-update", [
|
set_tooltip_text: Some(&tr_args("predownload-update", [
|
||||||
("version", match model.state.as_ref() {
|
("version", match model.state.as_ref() {
|
||||||
Some(LauncherState::PredownloadAvailable(game)) => game.latest().to_string(),
|
Some(LauncherState::PredownloadAvailable { diff, .. }) => diff.latest().to_string(),
|
||||||
_ => String::from("?")
|
_ => String::from("?")
|
||||||
}.into()),
|
}.into()),
|
||||||
|
|
||||||
("size", match model.state.as_ref() {
|
("size", match model.state.as_ref() {
|
||||||
Some(LauncherState::PredownloadAvailable(game)) => prettify_bytes(game.downloaded_size().unwrap_or(0)),
|
Some(LauncherState::PredownloadAvailable { diff, .. }) => prettify_bytes(diff.downloaded_size().unwrap_or(0)),
|
||||||
_ => String::from("?")
|
_ => String::from("?")
|
||||||
}.into())
|
}.into())
|
||||||
])),
|
])),
|
||||||
|
@ -316,11 +316,13 @@ impl SimpleComponent for App {
|
||||||
|
|
||||||
#[watch]
|
#[watch]
|
||||||
set_sensitive: match model.state.as_ref() {
|
set_sensitive: match model.state.as_ref() {
|
||||||
Some(LauncherState::PredownloadAvailable(game)) => {
|
Some(LauncherState::PredownloadAvailable { diff, .. }) => {
|
||||||
let config = Config::get().unwrap();
|
let config = Config::get().unwrap();
|
||||||
let temp = config.launcher.temp.unwrap_or_else(std::env::temp_dir);
|
let temp = config.launcher.temp.unwrap_or_else(std::env::temp_dir);
|
||||||
|
|
||||||
!temp.join(game.file_name().unwrap()).exists()
|
!temp.join(diff.file_name().unwrap()).metadata()
|
||||||
|
.map(|metadata| Some(metadata.len()) == diff.downloaded_size())
|
||||||
|
.unwrap_or(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
_ => false
|
_ => false
|
||||||
|
@ -328,11 +330,15 @@ impl SimpleComponent for App {
|
||||||
|
|
||||||
#[watch]
|
#[watch]
|
||||||
set_css_classes: match model.state.as_ref() {
|
set_css_classes: match model.state.as_ref() {
|
||||||
Some(LauncherState::PredownloadAvailable(game)) => {
|
Some(LauncherState::PredownloadAvailable { diff, .. }) => {
|
||||||
let config = Config::get().unwrap();
|
let config = Config::get().unwrap();
|
||||||
let temp = config.launcher.temp.unwrap_or_else(std::env::temp_dir);
|
let temp = config.launcher.temp.unwrap_or_else(std::env::temp_dir);
|
||||||
|
|
||||||
if temp.join(game.file_name().unwrap()).exists() {
|
let downloaded = temp.join(diff.file_name().unwrap()).metadata()
|
||||||
|
.map(|metadata| Some(metadata.len()) == diff.downloaded_size())
|
||||||
|
.unwrap_or(false);
|
||||||
|
|
||||||
|
if downloaded {
|
||||||
&["success", "circular"]
|
&["success", "circular"]
|
||||||
} else {
|
} else {
|
||||||
&["warning", "circular"]
|
&["warning", "circular"]
|
||||||
|
@ -358,7 +364,9 @@ impl SimpleComponent for App {
|
||||||
set_icon_name: match &model.state {
|
set_icon_name: match &model.state {
|
||||||
Some(LauncherState::Launch) |
|
Some(LauncherState::Launch) |
|
||||||
Some(LauncherState::PatchNotVerified) |
|
Some(LauncherState::PatchNotVerified) |
|
||||||
Some(LauncherState::PredownloadAvailable { .. }) => "media-playback-start-symbolic",
|
Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Verified, .. }) |
|
||||||
|
Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unverified, .. })
|
||||||
|
=> "media-playback-start-symbolic",
|
||||||
|
|
||||||
Some(LauncherState::PatchNotInstalled) |
|
Some(LauncherState::PatchNotInstalled) |
|
||||||
Some(LauncherState::PatchUpdateAvailable) => "document-save-symbolic",
|
Some(LauncherState::PatchUpdateAvailable) => "document-save-symbolic",
|
||||||
|
@ -374,6 +382,8 @@ impl SimpleComponent for App {
|
||||||
Some(LauncherState::GameOutdated(_)) |
|
Some(LauncherState::GameOutdated(_)) |
|
||||||
Some(LauncherState::PatchBroken) |
|
Some(LauncherState::PatchBroken) |
|
||||||
Some(LauncherState::PatchUnsafe) |
|
Some(LauncherState::PatchUnsafe) |
|
||||||
|
Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Broken, .. }) |
|
||||||
|
Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unsafe, .. }) |
|
||||||
None => "window-close-symbolic"
|
None => "window-close-symbolic"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -381,13 +391,20 @@ impl SimpleComponent for App {
|
||||||
set_label: &match &model.state {
|
set_label: &match &model.state {
|
||||||
Some(LauncherState::Launch) |
|
Some(LauncherState::Launch) |
|
||||||
Some(LauncherState::PatchNotVerified) |
|
Some(LauncherState::PatchNotVerified) |
|
||||||
Some(LauncherState::PredownloadAvailable { .. }) => tr("launch"),
|
Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Verified, .. }) |
|
||||||
|
Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unverified, .. })
|
||||||
|
=> tr("launch"),
|
||||||
|
|
||||||
Some(LauncherState::PatchNotInstalled) |
|
Some(LauncherState::PatchNotInstalled) |
|
||||||
Some(LauncherState::PatchUpdateAvailable) => tr("download-patch"),
|
Some(LauncherState::PatchUpdateAvailable) => tr("download-patch"),
|
||||||
|
|
||||||
Some(LauncherState::PatchBroken) => tr("patch-broken"),
|
Some(LauncherState::PatchBroken) |
|
||||||
Some(LauncherState::PatchUnsafe) => tr("patch-unsafe"),
|
Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Broken, .. })
|
||||||
|
=> tr("patch-broken"),
|
||||||
|
|
||||||
|
Some(LauncherState::PatchUnsafe) |
|
||||||
|
Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unsafe, .. })
|
||||||
|
=> tr("patch-unsafe"),
|
||||||
|
|
||||||
Some(LauncherState::TelemetryNotDisabled) => tr("disable-telemetry"),
|
Some(LauncherState::TelemetryNotDisabled) => tr("disable-telemetry"),
|
||||||
|
|
||||||
|
@ -423,7 +440,9 @@ impl SimpleComponent for App {
|
||||||
set_sensitive: !model.disabled_buttons && match &model.state {
|
set_sensitive: !model.disabled_buttons && match &model.state {
|
||||||
Some(LauncherState::GameOutdated { .. }) |
|
Some(LauncherState::GameOutdated { .. }) |
|
||||||
Some(LauncherState::PatchBroken) |
|
Some(LauncherState::PatchBroken) |
|
||||||
Some(LauncherState::PatchUnsafe) => false,
|
Some(LauncherState::PatchUnsafe) |
|
||||||
|
Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Broken, .. }) |
|
||||||
|
Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unsafe, .. }) => false,
|
||||||
|
|
||||||
Some(_) => true,
|
Some(_) => true,
|
||||||
|
|
||||||
|
@ -436,7 +455,9 @@ impl SimpleComponent for App {
|
||||||
Some(LauncherState::PatchNotVerified) => &["warning", "pill"],
|
Some(LauncherState::PatchNotVerified) => &["warning", "pill"],
|
||||||
|
|
||||||
Some(LauncherState::PatchBroken) |
|
Some(LauncherState::PatchBroken) |
|
||||||
Some(LauncherState::PatchUnsafe) => &["error", "pill"],
|
Some(LauncherState::PatchUnsafe) |
|
||||||
|
Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Broken, .. }) |
|
||||||
|
Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unsafe, .. }) => &["error", "pill"],
|
||||||
|
|
||||||
Some(_) => &["suggested-action", "pill"],
|
Some(_) => &["suggested-action", "pill"],
|
||||||
|
|
||||||
|
@ -448,8 +469,14 @@ impl SimpleComponent for App {
|
||||||
Some(LauncherState::GameOutdated { .. }) => tr("main-window--version-outdated-tooltip"),
|
Some(LauncherState::GameOutdated { .. }) => tr("main-window--version-outdated-tooltip"),
|
||||||
|
|
||||||
Some(LauncherState::PatchNotVerified) => tr("patch-testing-tooltip"),
|
Some(LauncherState::PatchNotVerified) => tr("patch-testing-tooltip"),
|
||||||
Some(LauncherState::PatchBroken) => tr("patch-broken-tooltip"),
|
|
||||||
Some(LauncherState::PatchUnsafe) => tr("patch-unsafe-tooltip"),
|
Some(LauncherState::PatchBroken) |
|
||||||
|
Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Broken, .. })
|
||||||
|
=> tr("patch-broken-tooltip"),
|
||||||
|
|
||||||
|
Some(LauncherState::PatchUnsafe) |
|
||||||
|
Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unsafe, .. })
|
||||||
|
=> tr("patch-unsafe-tooltip"),
|
||||||
|
|
||||||
_ => String::new()
|
_ => String::new()
|
||||||
}),
|
}),
|
||||||
|
@ -748,8 +775,8 @@ impl SimpleComponent for App {
|
||||||
Ok(latest) => match jadeite::get_metadata() {
|
Ok(latest) => match jadeite::get_metadata() {
|
||||||
Ok(metadata) => {
|
Ok(metadata) => {
|
||||||
let status = GAME.get_version()
|
let status = GAME.get_version()
|
||||||
.map(|version| metadata.hsr.global.get_status(version))
|
.map(|version| metadata.games.hsr.global.get_status(version))
|
||||||
.unwrap_or(metadata.hsr.global.status);
|
.unwrap_or(metadata.games.hsr.global.status);
|
||||||
|
|
||||||
Some((latest.version, status))
|
Some((latest.version, status))
|
||||||
}
|
}
|
||||||
|
@ -914,7 +941,7 @@ impl SimpleComponent for App {
|
||||||
|
|
||||||
#[allow(unused_must_use)]
|
#[allow(unused_must_use)]
|
||||||
AppMsg::PredownloadUpdate => {
|
AppMsg::PredownloadUpdate => {
|
||||||
if let Some(LauncherState::PredownloadAvailable(mut game)) = self.state.clone() {
|
if let Some(LauncherState::PredownloadAvailable { mut diff, .. }) = self.state.clone() {
|
||||||
let tmp = Config::get().unwrap().launcher.temp.unwrap_or_else(std::env::temp_dir);
|
let tmp = Config::get().unwrap().launcher.temp.unwrap_or_else(std::env::temp_dir);
|
||||||
|
|
||||||
self.downloading = true;
|
self.downloading = true;
|
||||||
|
@ -924,7 +951,7 @@ impl SimpleComponent for App {
|
||||||
progress_bar_input.send(ProgressBarMsg::UpdateCaption(Some(tr("downloading"))));
|
progress_bar_input.send(ProgressBarMsg::UpdateCaption(Some(tr("downloading"))));
|
||||||
|
|
||||||
std::thread::spawn(move || {
|
std::thread::spawn(move || {
|
||||||
let result = game.download_to(&tmp, clone!(@strong progress_bar_input => move |curr, total| {
|
let result = diff.download_to(&tmp, clone!(@strong progress_bar_input => move |curr, total| {
|
||||||
progress_bar_input.send(ProgressBarMsg::UpdateProgress(curr, total));
|
progress_bar_input.send(ProgressBarMsg::UpdateProgress(curr, total));
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
@ -949,7 +976,8 @@ impl SimpleComponent for App {
|
||||||
AppMsg::PerformAction => unsafe {
|
AppMsg::PerformAction => unsafe {
|
||||||
match self.state.as_ref().unwrap_unchecked() {
|
match self.state.as_ref().unwrap_unchecked() {
|
||||||
LauncherState::PatchNotVerified |
|
LauncherState::PatchNotVerified |
|
||||||
LauncherState::PredownloadAvailable { .. } |
|
LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Verified, .. } |
|
||||||
|
LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unverified, .. } |
|
||||||
LauncherState::Launch => launch::launch(sender),
|
LauncherState::Launch => launch::launch(sender),
|
||||||
|
|
||||||
LauncherState::PatchNotInstalled |
|
LauncherState::PatchNotInstalled |
|
||||||
|
|
Loading…
Reference in a new issue