diff --git a/Cargo.lock b/Cargo.lock
index e97e3cc..170a05a 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -73,7 +73,7 @@ dependencies = [
"android-properties",
"bitflags 2.11.1",
"cc",
- "jni 0.22.4",
+ "jni",
"libc",
"log",
"ndk",
@@ -602,9 +602,9 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.2.60"
+version = "1.2.61"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20"
+checksum = "d16d90359e986641506914ba71350897565610e87ce0ad9e6f28569db3dd5c6d"
dependencies = [
"find-msvc-tools",
"jobserver",
@@ -612,12 +612,6 @@ dependencies = [
"shlex",
]
-[[package]]
-name = "cesu8"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
-
[[package]]
name = "cfg-if"
version = "1.0.4"
@@ -854,9 +848,9 @@ dependencies = [
[[package]]
name = "ctor"
-version = "0.10.0"
+version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95d0d11eb38e7642efca359c3cf6eb7b2e528182d09110165de70192b0352775"
+checksum = "83cf0d42651b16c6dfe68685716d18480d18a9c39c62d76e8cf3eb6ed5d8bcbf"
dependencies = [
"dtor",
]
@@ -915,9 +909,9 @@ checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76"
[[package]]
name = "dtor"
-version = "0.7.0"
+version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17f72721db8027a4e96dd6fb50d2a1d32259c9d3da1b63dee612ccd981e14293"
+checksum = "edf234dd1594d6dd434a8fb8cada51ddbbc593e40e4a01556a0b31c62da2775b"
[[package]]
name = "either"
@@ -1072,23 +1066,9 @@ checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6"
[[package]]
name = "fax"
-version = "0.2.6"
+version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f05de7d48f37cd6730705cbca900770cab77a89f413d23e100ad7fad7795a0ab"
-dependencies = [
- "fax_derive",
-]
-
-[[package]]
-name = "fax_derive"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
+checksum = "caf1079563223d5d59d83c85886a56e586cfd5c1a26292e971a0fa266531ac5a"
[[package]]
name = "fdeflate"
@@ -1846,9 +1826,9 @@ dependencies = [
[[package]]
name = "imgref"
-version = "1.12.0"
+version = "1.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7c5cedc30da3a610cac6b4ba17597bdf7152cf974e8aab3afb3d54455e371c8"
+checksum = "40fac9d56ed6437b198fddba683305e8e2d651aa42647f00f5ae542e7f5c94a2"
[[package]]
name = "indexmap"
@@ -1906,22 +1886,6 @@ version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
-[[package]]
-name = "jni"
-version = "0.21.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
-dependencies = [
- "cesu8",
- "cfg-if",
- "combine",
- "jni-sys 0.3.1",
- "log",
- "thiserror 1.0.69",
- "walkdir",
- "windows-sys 0.45.0",
-]
-
[[package]]
name = "jni"
version = "0.22.4"
@@ -2001,9 +1965,9 @@ dependencies = [
[[package]]
name = "js-sys"
-version = "0.3.95"
+version = "0.3.97"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2964e92d1d9dc3364cae4d718d93f227e3abb088e747d92e0395bfdedf1c12ca"
+checksum = "a1840c94c045fbcf8ba2812c95db44499f7c64910a912551aaaa541decebcacf"
dependencies = [
"cfg-if",
"futures-util",
@@ -2078,9 +2042,9 @@ checksum = "7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8"
[[package]]
name = "libc"
-version = "0.2.185"
+version = "0.2.186"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52ff2c0fe9bc6cb6b14a0592c2ff4fa9ceb83eea9db979b0487cd054946a2b8f"
+checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
[[package]]
name = "libfuzzer-sys"
@@ -2263,9 +2227,9 @@ dependencies = [
[[package]]
name = "mundy"
-version = "0.2.2"
+version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "523813c9e194ec43693805214eb112551f99382115b67f38600d724a692e7e8b"
+checksum = "f32eb0db40f2df2bcfb05c93b8f73938d4c26ce9ac8881f1df0c8d3296921a73"
dependencies = [
"android-build",
"async-io",
@@ -2273,7 +2237,7 @@ dependencies = [
"dispatch",
"futures-channel",
"futures-lite 2.6.1",
- "jni 0.21.1",
+ "jni",
"ndk-context",
"objc2 0.6.4",
"objc2-app-kit 0.3.2",
@@ -2827,9 +2791,9 @@ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
[[package]]
name = "orbclient"
-version = "0.3.53"
+version = "0.3.54"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12c6933ddbbd16539a7672e697bb8d41ac3a4e99ac43eeb40c07236bd7fcb2dd"
+checksum = "a570f6bca41d29acb2139229a7c873ec99bc9a313bd10804081d89bfac8ff329"
dependencies = [
"libc",
"libredox",
@@ -4274,9 +4238,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen"
-version = "0.2.118"
+version = "0.2.120"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bf938a0bacb0469e83c1e148908bd7d5a6010354cf4fb73279b7447422e3a89"
+checksum = "df52b6d9b87e0c74c9edfa1eb2d9bf85e5d63515474513aa50fa181b3c4f5db1"
dependencies = [
"cfg-if",
"once_cell",
@@ -4287,9 +4251,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.68"
+version = "0.4.70"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f371d383f2fb139252e0bfac3b81b265689bf45b6874af544ffa4c975ac1ebf8"
+checksum = "af934872acec734c2d80e6617bbb5ff4f12b052dd8e6332b0817bce889516084"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -4297,9 +4261,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.118"
+version = "0.2.120"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eeff24f84126c0ec2db7a449f0c2ec963c6a49efe0698c4242929da037ca28ed"
+checksum = "78b1041f495fb322e64aca85f5756b2172e35cd459376e67f2a6c9dffcedb103"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -4307,9 +4271,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.118"
+version = "0.2.120"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d08065faf983b2b80a79fd87d8254c409281cf7de75fc4b773019824196c904"
+checksum = "9dcd0ff20416988a18ac686d4d4d0f6aae9ebf08a389ff5d29012b05af2a1b41"
dependencies = [
"bumpalo",
"proc-macro2",
@@ -4320,9 +4284,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.118"
+version = "0.2.120"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fd04d9e306f1907bd13c6361b5c6bfc7b3b3c095ed3f8a9246390f8dbdee129"
+checksum = "49757b3c82ebf16c57d69365a142940b384176c24df52a087fb748e2085359ea"
dependencies = [
"unicode-ident",
]
@@ -4512,9 +4476,9 @@ dependencies = [
[[package]]
name = "web-sys"
-version = "0.3.95"
+version = "0.3.97"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f2dfbb17949fa2088e5d39408c48368947b86f7834484e87b73de55bc14d97d"
+checksum = "2eadbac71025cd7b0834f20d1fe8472e8495821b4e9801eb0a60bd1f19827602"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -4717,7 +4681,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6"
dependencies = [
"windows-core 0.58.0",
- "windows-targets 0.52.6",
+ "windows-targets",
]
[[package]]
@@ -4751,7 +4715,7 @@ dependencies = [
"windows-interface 0.58.0",
"windows-result 0.2.0",
"windows-strings 0.1.0",
- "windows-targets 0.52.6",
+ "windows-targets",
]
[[package]]
@@ -4844,7 +4808,7 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e"
dependencies = [
- "windows-targets 0.52.6",
+ "windows-targets",
]
[[package]]
@@ -4863,7 +4827,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"
dependencies = [
"windows-result 0.2.0",
- "windows-targets 0.52.6",
+ "windows-targets",
]
[[package]]
@@ -4875,22 +4839,13 @@ dependencies = [
"windows-link",
]
-[[package]]
-name = "windows-sys"
-version = "0.45.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
-dependencies = [
- "windows-targets 0.42.2",
-]
-
[[package]]
name = "windows-sys"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
- "windows-targets 0.52.6",
+ "windows-targets",
]
[[package]]
@@ -4899,7 +4854,7 @@ version = "0.59.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
dependencies = [
- "windows-targets 0.52.6",
+ "windows-targets",
]
[[package]]
@@ -4911,35 +4866,20 @@ dependencies = [
"windows-link",
]
-[[package]]
-name = "windows-targets"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
-]
-
[[package]]
name = "windows-targets"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
dependencies = [
- "windows_aarch64_gnullvm 0.52.6",
- "windows_aarch64_msvc 0.52.6",
- "windows_i686_gnu 0.52.6",
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
"windows_i686_gnullvm",
- "windows_i686_msvc 0.52.6",
- "windows_x86_64_gnu 0.52.6",
- "windows_x86_64_gnullvm 0.52.6",
- "windows_x86_64_msvc 0.52.6",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
]
[[package]]
@@ -4951,36 +4891,18 @@ dependencies = [
"windows-link",
]
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
-
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
-
[[package]]
name = "windows_aarch64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
-[[package]]
-name = "windows_i686_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
-
[[package]]
name = "windows_i686_gnu"
version = "0.52.6"
@@ -4993,48 +4915,24 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
-[[package]]
-name = "windows_i686_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
-
[[package]]
name = "windows_i686_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
-
[[package]]
name = "windows_x86_64_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
-
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
-
[[package]]
name = "windows_x86_64_msvc"
version = "0.52.6"
@@ -5282,9 +5180,9 @@ checksum = "e01738255b5a16e78bbb83e7fbba0a1e7dd506905cfc53f4622d89015a03fbb5"
[[package]]
name = "zbus"
-version = "5.14.0"
+version = "5.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca82f95dbd3943a40a53cfded6c2d0a2ca26192011846a1810c4256ef92c60bc"
+checksum = "c3bcbf15c8708d7fc1be0c993622e0a5cbd5e8b52bfa40afa4c3e0cd8d724ac1"
dependencies = [
"async-broadcast",
"async-executor",
@@ -5309,7 +5207,7 @@ dependencies = [
"uds_windows",
"uuid",
"windows-sys 0.61.2",
- "winnow 0.7.15",
+ "winnow 1.0.2",
"zbus_macros",
"zbus_names",
"zvariant",
@@ -5317,9 +5215,9 @@ dependencies = [
[[package]]
name = "zbus_macros"
-version = "5.14.0"
+version = "5.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "897e79616e84aac4b2c46e9132a4f63b93105d54fe8c0e8f6bffc21fa8d49222"
+checksum = "51fa5406ad9175a8c825a931f8cf347116b531b3634fcb0b627c290f1f2516ff"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -5332,12 +5230,12 @@ dependencies = [
[[package]]
name = "zbus_names"
-version = "4.3.1"
+version = "4.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffd8af6d5b78619bab301ff3c560a5bd22426150253db278f164d6cf3b72c50f"
+checksum = "7074f3e50b894eac91750142016d30d0a89be8e67dbfd9704fb875825760e52d"
dependencies = [
"serde",
- "winnow 0.7.15",
+ "winnow 1.0.2",
"zvariant",
]
@@ -5399,23 +5297,23 @@ dependencies = [
[[package]]
name = "zvariant"
-version = "5.10.0"
+version = "5.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5708299b21903bbe348e94729f22c49c55d04720a004aa350f1f9c122fd2540b"
+checksum = "c4db0ecb8987cf5e92653c57c098f7f0e39a03112edb796f4fe089fb7eaa14ff"
dependencies = [
"endi",
"enumflags2",
"serde",
- "winnow 0.7.15",
+ "winnow 1.0.2",
"zvariant_derive",
"zvariant_utils",
]
[[package]]
name = "zvariant_derive"
-version = "5.10.0"
+version = "5.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b59b012ebe9c46656f9cc08d8da8b4c726510aef12559da3e5f1bf72780752c"
+checksum = "5b949b639ab1b4bed763aa7481ba0e368af68d8b55532f8ed4bec86a59f2ca98"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -5426,13 +5324,13 @@ dependencies = [
[[package]]
name = "zvariant_utils"
-version = "3.3.0"
+version = "3.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f75c23a64ef8f40f13a6989991e643554d9bef1d682a281160cf0c1bc389c5e9"
+checksum = "6d464f5733ffa07a3164d656f18533caace9d0638596721355d73256a410d691"
dependencies = [
"proc-macro2",
"quote",
"serde",
"syn",
- "winnow 0.7.15",
+ "winnow 1.0.2",
]
diff --git a/Cargo.toml b/Cargo.toml
index 44ec775..90724de 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -12,6 +12,6 @@ toml = "1"
[profile.release]
#lto = true
-codegen-units = 8
-opt-level = 3
+codegen-units = 16
+opt-level = 2
strip = true
diff --git a/src/locales/en.json b/src/locales/en.json
index af03a01..7e915fe 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -8,7 +8,7 @@
"wellcome.text": "Welcome to Kira Installer!",
"wellcome.choose_language": "Please select language to use during istalation!",
"license.license": "This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with this program. If not, see .",
- "license.accept_text": "By pressing 'Accept' button you agreening to terms described above:",
+ "license.accept_text": "By pressing 'Accept' button you agreening to terms described below:",
"license.button.accept": "Accept",
"license.button.decline": "Decline",
"network.reuse_checkbox_caption": "Reuse settings?",
@@ -21,7 +21,7 @@
"timezone.selected_timezone": "Selected timezone:",
"timezone.select_timezone": "Please select preffered time zone",
"timezone.init_error": "Error getting time zones data from system!",
- "locale.select_language_locale": "Language locale set to",
- "locale.select_formats_locale": "Formats locale set to"
+ "locale.select_language_locale": "The system language will be set to",
+ "locale.select_formats_locale": "The numbers and dates locale will be set to"
}
\ No newline at end of file
diff --git a/src/main.rs b/src/main.rs
index ce6b419..b12ac0b 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -252,6 +252,7 @@ pub fn main() -> ExitCode {
})
.centered()
.theme(kira_theming::main_theme())
+ .default_font(iced::Font::MONOSPACE)
.run();
match iced_result {
diff --git a/src/stages/license/mod.rs b/src/stages/license/mod.rs
index 83a94da..6cd223e 100644
--- a/src/stages/license/mod.rs
+++ b/src/stages/license/mod.rs
@@ -1,25 +1,22 @@
- //
- // Copyright (C) <2026>
+//
+// Copyright (C) <2026>
- // This program is free software: you can redistribute it and/or modify
- // it under the terms of the GNU General Public License as published by
- // the Free Software Foundation, either version 3 of the License, or
- // (at your option) any later version.
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
- // This program is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- // GNU General Public License for more details.
-
- // You should have received a copy of the GNU General Public License
- // along with this program. If not, see .
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
/*
- This is License stage. Used to inform user about program legal status.
- */
-
-
+ This is License stage. Used to inform user about program legal status.
+*/
use iced::{Alignment, widget};
@@ -74,12 +71,20 @@ impl LicenseStage {
widget::button(widget::text(t!("license.button.decline"))).on_press(Message::Decline);
widget::column![
- widget::container(widget::column![
- widget::text(t!("license.accept_text")),
- widget::container(widget::text(t!("license.license")))
- .padding(10)
- .style(widget::container::bordered_box)
- ].align_x(Alignment::Center).padding(20).spacing(10))
+ widget::container(
+ widget::column![
+ widget::text(t!("license.accept_text")).font(iced::Font {
+ weight: iced::font::Weight::Bold,
+ ..iced::Font::DEFAULT
+ }),
+ widget::container(widget::text(t!("license.license")))
+ .padding(10)
+ .style(widget::container::bordered_box)
+ ]
+ .align_x(Alignment::Center)
+ .padding(20)
+ .spacing(15)
+ )
.height(iced::Length::Fill)
.width(iced::Length::Fill)
.align_x(Alignment::Center)
diff --git a/src/stages/locale/mod.rs b/src/stages/locale/mod.rs
index f2e3f37..c0ecd9c 100644
--- a/src/stages/locale/mod.rs
+++ b/src/stages/locale/mod.rs
@@ -24,14 +24,14 @@ use crate::{
};
use iced::{Alignment, widget};
use rust_i18n::t;
-use std::{collections::HashMap, default};
+use std::collections::HashMap;
const LOCALES_GEN_FILE_NAME: &str = "/etc/locale.gen";
const LOCALES_GEN_START_LINE: usize = 17;
-fn default_locale() -> (String, String) {
- ("C.UTF-8".to_string(), "UTF-8".to_string())
-}
+// fn default_locale() -> (String, String) {
+// ("C.UTF-8".to_string(), "UTF-8".to_string())
+// }
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct LocaleData {
@@ -41,20 +41,21 @@ pub struct LocaleData {
impl std::fmt::Display for LocaleData {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- write!(f, "{} ({})", self.description, self.code)
+ write!(f, "{} ({})", self.code, self.description)
}
}
impl LocaleData {
pub fn default() -> Self {
- let def = default_locale();
Self {
- code: def.0,
- description: def.1,
+ code: "C.UTF-8".into(),
+ description: "C locale".into(),
}
}
}
+/// gets locales list from system "/etc/locale.gen" file
+/// Filters out non UTF-8 locales
fn get_locales_codes_list_blocking() -> std::io::Result> {
use std::fs::File;
use std::io::{BufReader, Read};
@@ -86,6 +87,7 @@ fn get_locales_codes_list_blocking() -> std::io::Result> {
Ok(res)
}
+/// Gets locales description from "/usr/share/i18n/locales/" directory.
fn get_locales_description_blocking() -> Result, String> {
use std::process::Command;
@@ -130,7 +132,7 @@ fn get_locales_description_blocking() -> Result, String>
#[derive(Debug, Clone)]
pub struct LocaleStage {
lang_locale: Option,
- all_locale: Option,
+ formats_locale: Option,
locales: Vec,
lang_locale_text: String,
all_locale_text: String,
@@ -139,7 +141,7 @@ pub struct LocaleStage {
#[derive(Debug, Clone)]
pub enum Message {
SelectLangLocale(LocaleData),
- SelectAllLocale(LocaleData),
+ SelectFormatsLocale(LocaleData),
Next,
Back,
}
@@ -151,13 +153,12 @@ impl LocaleStage {
.get_stage("welcome")
.and_then(|v| v.config.and_then(|v| v.get("loc_code").cloned()));
- let loc_codes = get_locales_codes_list_blocking().unwrap();
-
+ let raw_loc_codes = get_locales_codes_list_blocking().unwrap();
let raw_loc_descr = get_locales_description_blocking().unwrap();
- // println!("{:?}", raw_loc_descr);
+ //println!("{:?}", raw_loc_descr);
- let locales: Vec = loc_codes
+ let locales: Vec = raw_loc_codes
.iter()
.filter_map(|(code, _)| {
code.split_once('.')
@@ -186,8 +187,8 @@ impl LocaleStage {
LocaleData::default()
};
- println!("lang_match {:?}", lang_match);
- println!("loc_codes {:?}", loc_codes);
+ //println!("lang_match {:?}", lang_match);
+ //println!("loc_codes {:?}", raw_loc_codes);
// let locale = locales.iter().find(|l| l.code == lang_match.0).cloned();
@@ -203,7 +204,7 @@ impl LocaleStage {
);
Self {
lang_locale: Some(lang_match.clone()),
- all_locale: Some(lang_match),
+ formats_locale: Some(lang_match),
locales: locales,
lang_locale_text: lang_locale_text,
all_locale_text: all_locale_text,
@@ -212,7 +213,7 @@ impl LocaleStage {
fn gen_result(&self) -> StageResult {
if let Some(lang_locale) = &self.lang_locale
- && let Some(all_locale) = &self.all_locale
+ && let Some(formats_locale) = &self.formats_locale
{
StageResult {
name: "locale".to_string(),
@@ -222,25 +223,23 @@ impl LocaleStage {
ConfigValue::String(lang_locale.code.clone()),
),
(
- "all_locale".to_string(),
- ConfigValue::String(all_locale.code.clone()),
+ "formats_locale".to_string(),
+ ConfigValue::String(formats_locale.code.clone()),
),
])),
resuts: None,
error: None,
}
} else {
+ let loc = LocaleData::default();
StageResult {
name: "locale".to_string(),
config: Some(HashMap::from([
(
"lang_locale".to_string(),
- ConfigValue::String(default_locale().0),
- ),
- (
- "all_locale".to_string(),
- ConfigValue::String(default_locale().0),
+ ConfigValue::String(loc.code.clone()),
),
+ ("formats_locale".to_string(), ConfigValue::String(loc.code)),
])),
resuts: None,
error: None,
@@ -256,10 +255,10 @@ impl LocaleStage {
self.lang_locale = Some(loc);
StageAction::None
}
- Message::SelectAllLocale(loc) => {
+ Message::SelectFormatsLocale(loc) => {
self.all_locale_text =
format!("{}: {}", t!("locale.select_formats_locale"), loc.code);
- self.all_locale = Some(loc);
+ self.formats_locale = Some(loc);
StageAction::None
}
Message::Back => StageAction::Back,
@@ -280,20 +279,32 @@ impl LocaleStage {
widget::image(welcome_logo_handle)
.width(iced::Pixels(128.0))
.height(iced::Pixels(128.0)),
- widget::column![
- widget::text(self.lang_locale_text.as_str()),
- widget::pick_list(
- self.locales.clone(),
- self.lang_locale.clone(),
- Message::SelectLangLocale,
- ),
- widget::text(self.all_locale_text.as_str()),
- widget::pick_list(
- self.locales.clone(),
- self.all_locale.clone(),
- Message::SelectAllLocale,
- )
- ]
+ widget::container(
+ widget::column![
+ widget::text(self.lang_locale_text.as_str()),
+ widget::pick_list(
+ self.locales.clone(),
+ self.lang_locale.clone(),
+ Message::SelectLangLocale,
+ )
+ ]
+ .spacing(5)
+ )
+ .style(widget::container::bordered_box)
+ .padding(5),
+ widget::container(
+ widget::column![
+ widget::text(self.all_locale_text.as_str()),
+ widget::pick_list(
+ self.locales.clone(),
+ self.formats_locale.clone(),
+ Message::SelectFormatsLocale,
+ )
+ ]
+ .spacing(5)
+ )
+ .style(widget::container::bordered_box)
+ .padding(5)
]
.padding(10)
.spacing(10)
diff --git a/src/stages/network/mod.rs b/src/stages/network/mod.rs
index 2c18c75..ad3120d 100644
--- a/src/stages/network/mod.rs
+++ b/src/stages/network/mod.rs
@@ -29,7 +29,6 @@ use crate::stage;
use crate::stage::StageResult;
#[derive(Debug, Clone)]
-
#[derive(PartialEq, Eq)]
pub enum State {
Cheking,
@@ -50,6 +49,7 @@ pub struct NetworkStage {
use_net_settings: bool,
reqire_network: bool,
spinner_frames: apng::Frames,
+ logo_handle: widget::image::Handle,
status_message: String,
}
@@ -113,7 +113,10 @@ impl NetworkStage {
let spinner_frames =
apng::Frames::from_bytes(crate::kira_theming::get_spiner_bytes()).unwrap();
+ let logo_handle = widget::image::Handle::from_bytes(crate::kira_theming::get_logo_bytes());
+
Self {
+ logo_handle: logo_handle,
internet_active: false,
state: State::Cheking,
use_net_settings: false,
@@ -178,12 +181,12 @@ impl NetworkStage {
}
pub fn view(&self) -> iced::Element<'_, Message> {
- let next_button = if (self.state == State::Cheking) || (!self.internet_active && self.reqire_network) {
- widget::button(widget::text(t!("button.next")))
- }
- else {
- widget::button(widget::text(t!("button.next"))).on_press(Message::Next)
- };
+ let next_button =
+ if (self.state == State::Cheking) || (!self.internet_active && self.reqire_network) {
+ widget::button(widget::text(t!("button.next")))
+ } else {
+ widget::button(widget::text(t!("button.next"))).on_press(Message::Next)
+ };
let (back_button, check_button, reuse_checkbox) = match self.state {
State::Cheking => (
@@ -202,8 +205,16 @@ impl NetworkStage {
};
let spinner_container = match self.state {
- State::Cheking => widget::container(apng(&self.spinner_frames)),
- State::Normal => widget::container(widget::space().height(128).width(128)),
+ State::Cheking => widget::container(
+ apng(&self.spinner_frames)
+ .width(iced::Pixels(128.0).into())
+ .height(iced::Pixels(128.0).into()),
+ ),
+ State::Normal => widget::container(
+ widget::image(&self.logo_handle)
+ .width(iced::Pixels(128.0))
+ .height(iced::Pixels(128.0)),
+ ),
};
let info_column = widget::column![