feat: add icon to window settings

This commit is contained in:
Adhiraj Singh Chauhan 2024-02-06 01:46:11 +05:30 committed by Frigyes
commit a6df57f186
3 changed files with 168 additions and 244 deletions

405
Cargo.lock generated
View file

@ -177,6 +177,12 @@ version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
[[package]]
name = "bit_field"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61"
[[package]]
name = "bitflags"
version = "1.3.2"
@ -240,6 +246,12 @@ dependencies = [
"syn 2.0.42",
]
[[package]]
name = "byteorder"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "calloop"
version = "0.10.6"
@ -369,6 +381,12 @@ dependencies = [
"unicode-width",
]
[[package]]
name = "color_quant"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
[[package]]
name = "colored"
version = "1.9.4"
@ -455,16 +473,6 @@ dependencies = [
"cfg-if",
]
[[package]]
name = "crossbeam-channel"
version = "0.5.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82a9b73a36529d9c47029b9fb3a6f0ea3cc916a261195352ba19e770fc1748b2"
dependencies = [
"cfg-if",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-deque"
version = "0.8.4"
@ -606,6 +614,22 @@ dependencies = [
"num-traits",
]
[[package]]
name = "exr"
version = "1.72.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4"
dependencies = [
"bit_field",
"flume",
"half",
"lebe",
"miniz_oxide",
"rayon-core",
"smallvec",
"zune-inflate",
]
[[package]]
name = "fast-srgb8"
version = "1.0.0"
@ -652,15 +676,6 @@ dependencies = [
"windows-sys 0.52.0",
]
[[package]]
name = "find-crate"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59a98bbaacea1c0eb6a0876280051b892eb73594fd90cf3b20e9c817029c57d2"
dependencies = [
"toml 0.5.11",
]
[[package]]
name = "flate2"
version = "1.0.28"
@ -671,6 +686,15 @@ dependencies = [
"miniz_oxide",
]
[[package]]
name = "flume"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
dependencies = [
"spin",
]
[[package]]
name = "fontdb"
version = "0.14.1"
@ -819,36 +843,28 @@ dependencies = [
"wasi",
]
[[package]]
name = "gif"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045"
dependencies = [
"color_quant",
"weezl",
]
[[package]]
name = "gimli"
version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
[[package]]
name = "glam"
version = "0.21.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "518faa5064866338b013ff9b2350dc318e14cc4fcd6cb8206d7e7c9886c98815"
[[package]]
name = "glam"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945"
[[package]]
name = "glow"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8bd5877156a19b8ac83a29b2306fe20537429d318f3ff0a1a2119f8d9c61919"
dependencies = [
"js-sys",
"slotmap",
"wasm-bindgen",
"web-sys",
]
[[package]]
name = "glow"
version = "0.12.3"
@ -861,56 +877,6 @@ dependencies = [
"web-sys",
]
[[package]]
name = "glow_glyph"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f4e62c64947b9a24fe20e2bba9ad819ecb506ef5c8df7ffc4737464c6df9510"
dependencies = [
"bytemuck",
"glow 0.11.2",
"glyph_brush",
"log",
]
[[package]]
name = "glyph_brush"
version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3676f482c536a985fca36ce320a5e5b8fafd7b260806742af1963b71c5dc38c"
dependencies = [
"glyph_brush_draw_cache",
"glyph_brush_layout",
"ordered-float",
"rustc-hash",
"twox-hash",
]
[[package]]
name = "glyph_brush_draw_cache"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6010675390f6889e09a21e2c8b575b3ee25667ea8237a8d59423f73cb8c28610"
dependencies = [
"ab_glyph",
"crossbeam-channel",
"crossbeam-deque",
"linked-hash-map",
"rayon",
"rustc-hash",
]
[[package]]
name = "glyph_brush_layout"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc32c2334f00ca5ac3695c5009ae35da21da8c62d255b5b96d56e2597a637a38"
dependencies = [
"ab_glyph",
"approx",
"xi-unicode",
]
[[package]]
name = "glyphon"
version = "0.3.0"
@ -1067,25 +1033,15 @@ version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c708807ec86f99dd729dc4d42db5239acf118cec14d3c5f57679dcfdbbc472b1"
dependencies = [
"iced_core 0.10.0",
"iced_futures 0.7.0",
"iced_core",
"iced_futures",
"iced_renderer",
"iced_widget",
"iced_winit",
"image",
"thiserror",
]
[[package]]
name = "iced_core"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "11e1942e28dedee756cc27e67e7a838cdc1e59fb6bf9627ec9f709ab3b135782"
dependencies = [
"bitflags 1.3.2",
"instant",
"palette 0.6.1",
]
[[package]]
name = "iced_core"
version = "0.10.0"
@ -1095,23 +1051,11 @@ dependencies = [
"bitflags 1.3.2",
"instant",
"log",
"palette 0.7.3",
"palette",
"thiserror",
"twox-hash",
]
[[package]]
name = "iced_futures"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "215d51fa4f70dbb63775d7141243c4d98d4d525d8949695601f8fbac7dcbc04e"
dependencies = [
"futures",
"log",
"wasm-bindgen-futures",
"wasm-timer",
]
[[package]]
name = "iced_futures"
version = "0.7.0"
@ -1119,44 +1063,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14dab0054a9c7a1cbce227a8cd9ee4a094497b3d06094551ac6c1488d563802e"
dependencies = [
"futures",
"iced_core 0.10.0",
"iced_core",
"log",
"wasm-bindgen-futures",
"wasm-timer",
]
[[package]]
name = "iced_glow"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adc5b081015f5c75777c96ad75e2288916e7d444c97396d6d136517877ef9129"
dependencies = [
"bytemuck",
"euclid",
"glow 0.11.2",
"glow_glyph",
"glyph_brush",
"iced_graphics 0.8.0",
"iced_native",
"log",
]
[[package]]
name = "iced_graphics"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "338a6aff7db906537074ad0fe8b720cfdb9512cdfea43c628c76bd1cf50fdcc0"
dependencies = [
"bitflags 1.3.2",
"bytemuck",
"glam 0.21.3",
"iced_native",
"iced_style 0.8.0",
"log",
"raw-window-handle",
"thiserror",
]
[[package]]
name = "iced_graphics"
version = "0.9.0"
@ -1165,36 +1077,23 @@ checksum = "67ff14447a221e9e9205a13d84d7bbdf0636a3b1daa02cfca690ed09689c4d2b"
dependencies = [
"bitflags 1.3.2",
"bytemuck",
"glam 0.24.2",
"glam",
"half",
"iced_core 0.10.0",
"iced_core",
"image",
"kamadak-exif",
"log",
"raw-window-handle",
"thiserror",
]
[[package]]
name = "iced_native"
version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d012eb06da490fe46a695b39721c20da9643f35cf2ecb9d30618fdeb96170616"
dependencies = [
"iced_core 0.9.0",
"iced_futures 0.6.0",
"iced_style 0.8.0",
"num-traits",
"thiserror",
"twox-hash",
"unicode-segmentation",
]
[[package]]
name = "iced_renderer"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1033385b0db0099a0d13178c9ff93c1ce11e7d0177522acf578bf79febdb2af8"
dependencies = [
"iced_graphics 0.9.0",
"iced_graphics",
"iced_tiny_skia",
"iced_wgpu",
"log",
@ -1208,31 +1107,20 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7c6c89853e1250c6fac82c5015fa2144517be9b33d4b8e456f10e198b23e28bd"
dependencies = [
"iced_core 0.10.0",
"iced_futures 0.7.0",
"iced_core",
"iced_futures",
"thiserror",
]
[[package]]
name = "iced_style"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e37333dc2991201140302cd0d4cea051bd37ca3671d5008ec85df86d232ff30"
dependencies = [
"iced_core 0.9.0",
"once_cell",
"palette 0.6.1",
]
[[package]]
name = "iced_style"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d85c47d9d13e2281f75ddf98c865daf2101632bd2b855c401dd0b1c8b81a31a0"
dependencies = [
"iced_core 0.10.0",
"iced_core",
"once_cell",
"palette 0.7.3",
"palette",
]
[[package]]
@ -1243,7 +1131,7 @@ checksum = "c7715f6222c9470bbbd75a39f70478fa0d1bdfb81a377a34fd1b090ffccc480b"
dependencies = [
"bytemuck",
"cosmic-text",
"iced_graphics 0.9.0",
"iced_graphics",
"kurbo",
"log",
"raw-window-handle",
@ -1262,10 +1150,10 @@ dependencies = [
"bitflags 1.3.2",
"bytemuck",
"futures",
"glam 0.24.2",
"glam",
"glyphon",
"guillotiere",
"iced_graphics 0.9.0",
"iced_graphics",
"log",
"once_cell",
"raw-window-handle",
@ -1282,7 +1170,7 @@ checksum = "a177219ae51c3ba08f228ab932354b360cc669e94aec50c01e7c9b675f074c7c"
dependencies = [
"iced_renderer",
"iced_runtime",
"iced_style 0.9.0",
"iced_style",
"num-traits",
"thiserror",
"unicode-segmentation",
@ -1294,9 +1182,9 @@ version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad0c884bcb14722a57192b40a5ef6b5e170fa2f01fe2ff28d6cdd9efe37acf70"
dependencies = [
"iced_graphics 0.9.0",
"iced_graphics",
"iced_runtime",
"iced_style 0.9.0",
"iced_style",
"log",
"raw-window-handle",
"thiserror",
@ -1316,6 +1204,24 @@ dependencies = [
"unicode-normalization",
]
[[package]]
name = "image"
version = "0.24.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23"
dependencies = [
"bytemuck",
"byteorder",
"color_quant",
"exr",
"gif",
"jpeg-decoder",
"num-traits",
"png",
"qoi",
"tiff",
]
[[package]]
name = "indexmap"
version = "1.9.3"
@ -1391,6 +1297,15 @@ dependencies = [
"libc",
]
[[package]]
name = "jpeg-decoder"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
dependencies = [
"rayon",
]
[[package]]
name = "js-sys"
version = "0.3.66"
@ -1400,6 +1315,15 @@ dependencies = [
"wasm-bindgen",
]
[[package]]
name = "kamadak-exif"
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef4fc70d0ab7e5b6bafa30216a6b48705ea964cdfc29c050f2412295eba58077"
dependencies = [
"mutate_once",
]
[[package]]
name = "khronos-egl"
version = "4.1.0"
@ -1426,6 +1350,12 @@ version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "lebe"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
[[package]]
name = "libc"
version = "0.2.151"
@ -1480,12 +1410,6 @@ dependencies = [
"redox_syscall 0.4.1",
]
[[package]]
name = "linked-hash-map"
version = "0.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
[[package]]
name = "linux-raw-sys"
version = "0.4.12"
@ -1604,6 +1528,12 @@ dependencies = [
"windows-sys 0.48.0",
]
[[package]]
name = "mutate_once"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b"
[[package]]
name = "naga"
version = "0.12.3"
@ -1860,15 +1790,6 @@ dependencies = [
"libredox 0.0.2",
]
[[package]]
name = "ordered-float"
version = "4.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a76df7075c7d4d01fdcb46c912dd17fba5b60c78ea480b475f2b6ab6f666584e"
dependencies = [
"num-traits",
]
[[package]]
name = "owned_ttf_parser"
version = "0.20.0"
@ -1878,18 +1799,6 @@ dependencies = [
"ttf-parser 0.20.0",
]
[[package]]
name = "palette"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f9cd68f7112581033f157e56c77ac4a5538ec5836a2e39284e65bd7d7275e49"
dependencies = [
"approx",
"num-traits",
"palette_derive 0.6.1",
"phf",
]
[[package]]
name = "palette"
version = "0.7.3"
@ -1898,22 +1807,10 @@ checksum = "b2e2f34147767aa758aa649415b50a69eeb46a67f9dc7db8011eeb3d84b351dc"
dependencies = [
"approx",
"fast-srgb8",
"palette_derive 0.7.3",
"palette_derive",
"phf",
]
[[package]]
name = "palette_derive"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05eedf46a8e7c27f74af0c9cfcdb004ceca158cb1b918c6f68f8d7a549b3e427"
dependencies = [
"find-crate",
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "palette_derive"
version = "0.7.3"
@ -2083,6 +1980,15 @@ version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d135ede8821cf6376eb7a64148901e1690b788c11ae94dc297ae917dbc91dc0e"
[[package]]
name = "qoi"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001"
dependencies = [
"bytemuck",
]
[[package]]
name = "quick-xml"
version = "0.28.2"
@ -2508,6 +2414,9 @@ name = "spin"
version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
dependencies = [
"lock_api",
]
[[package]]
name = "spirv"
@ -2652,6 +2561,17 @@ dependencies = [
"syn 2.0.42",
]
[[package]]
name = "tiff"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
dependencies = [
"flate2",
"jpeg-decoder",
"weezl",
]
[[package]]
name = "tiny-skia"
version = "0.8.4"
@ -2718,15 +2638,6 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "toml"
version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
dependencies = [
"serde",
]
[[package]]
name = "toml"
version = "0.8.8"
@ -2804,7 +2715,6 @@ dependencies = [
"fern",
"flate2",
"iced",
"iced_glow",
"log",
"regex",
"retry",
@ -2812,7 +2722,7 @@ dependencies = [
"serde_json",
"static_init",
"tar",
"toml 0.8.8",
"toml",
"ureq",
]
@ -3158,6 +3068,12 @@ version = "0.25.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10"
[[package]]
name = "weezl"
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
[[package]]
name = "wgpu"
version = "0.16.3"
@ -3220,7 +3136,7 @@ dependencies = [
"core-graphics-types",
"d3d12",
"foreign-types",
"glow 0.12.3",
"glow",
"gpu-alloc",
"gpu-allocator",
"gpu-descriptor",
@ -3643,12 +3559,6 @@ version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911"
[[package]]
name = "xi-unicode"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a"
[[package]]
name = "xml-rs"
version = "0.8.19"
@ -3686,3 +3596,12 @@ dependencies = [
"quote",
"syn 2.0.42",
]
[[package]]
name = "zune-inflate"
version = "0.2.54"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02"
dependencies = [
"simd-adler32",
]

View file

@ -29,7 +29,7 @@ toml = "^0"
dirs = "^5.0.0"
ureq = { version = "*", features = ["json"] }
retry = "^2.0.0"
iced = { version = "^0.10.0", features = ["advanced"] }
iced = { version = "^0.10.0", features = ["advanced", "image"] }
[target.'cfg(not(target_os = "windows"))'.dependencies]
flate2 = { version = "^1", optional = true }

View file

@ -8,7 +8,9 @@ use crate::core::uad_lists::UadListState;
use crate::core::update::{get_latest_release, Release, SelfUpdateState, SelfUpdateStatus};
use crate::core::utils::string_to_theme;
use iced::advanced::graphics::image::image_rs::ImageFormat;
use iced::font;
use iced::window::icon;
use views::about::{About as AboutView, Message as AboutMessage};
use views::list::{List as AppsView, LoadingState as ListLoadingState, Message as AppsMessage};
use views::settings::{Message as SettingsMessage, Settings as SettingsView};
@ -363,11 +365,14 @@ impl Application for UadGui {
impl UadGui {
pub fn start() -> iced::Result {
let logo = include_bytes!("../../resources/assets/logo.png");
Self::run(Settings {
window: Window {
size: (820, 640),
resizable: true,
decorations: true,
icon: icon::from_file_data(logo, Some(ImageFormat::Png)).ok(),
..iced::window::Settings::default()
},
default_text_size: 16.0,