From f056c9423307a1f5ddf233e585aa3b08b9bf8315 Mon Sep 17 00:00:00 2001 From: al Date: Sat, 24 Jun 2023 22:59:41 +0800 Subject: [PATCH] change: window icon --- Cargo.lock | 1 + Cargo.toml | 1 + assets/icon@2x_r.png | Bin 0 -> 36367 bytes src/main.rs | 12 ++++++++---- src/util.rs | 12 ++++++++++++ 5 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 assets/icon@2x_r.png create mode 100644 src/util.rs diff --git a/Cargo.lock b/Cargo.lock index 1c446aaa..50956efd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -238,6 +238,7 @@ dependencies = [ "futures", "iced", "iced_native", + "image", "lazy_static", "regex", "reqwest", diff --git a/Cargo.toml b/Cargo.toml index 3b17bc5d..2a6bda6f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,6 +25,7 @@ serde_json = "1.0" serde_with = { version = "3.0", features = ["json"] } tokio = { version = "1", features = ["full"] } iced_native = "0.10.3" +image = "0.24.6" [build-dependencies] embed-resource = "2.1" diff --git a/assets/icon@2x_r.png b/assets/icon@2x_r.png new file mode 100644 index 0000000000000000000000000000000000000000..646fe7283a4af59a6d5c114098a9594ad7139e74 GIT binary patch literal 36367 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 LNkvXXu0mjffa*$Z literal 0 HcmV?d00001 diff --git a/src/main.rs b/src/main.rs index 93acd739..3a90f182 100644 --- a/src/main.rs +++ b/src/main.rs @@ -10,6 +10,7 @@ pub mod lcu; pub mod source; pub mod styles; pub mod ui; +pub mod util; pub mod web; use std::collections::HashMap; @@ -90,6 +91,7 @@ pub fn main() -> iced::Result { }); }); + let window_icon = util::load_icon(); ChampR::run(Settings { id: None, window: window::Settings { @@ -102,7 +104,7 @@ pub fn main() -> iced::Result { decorations: true, transparent: false, always_on_top: false, - icon: None, + icon: Some(window_icon), platform_specific: PlatformSpecific::default(), }, default_font: Some(fonts::SARSA_MONO_REGULAR_BYTES), @@ -158,7 +160,7 @@ impl Application for ChampR { } fn title(&self) -> String { - String::from("ChampR - Builds, Runes, All in One. v2.0.2-b3") + String::from("ChampR - Builds, Runes, All in One. v2.0.2-b4") } fn update(&mut self, message: Message) -> Command { @@ -182,7 +184,9 @@ impl Application for ChampR { } } Message::ApplyBuilds => { - if (*self.auth_url.lock().unwrap()).is_empty() || !(*self.fetched_remote_data.lock().unwrap()) { + if (*self.auth_url.lock().unwrap()).is_empty() + || !(*self.fetched_remote_data.lock().unwrap()) + { return Command::none(); } @@ -419,7 +423,7 @@ impl Application for ChampR { fn subscription(&self) -> Subscription { let time_subscription = iced::time::every(Duration::from_millis(100)).map(|_| Message::TickRun); - + let ev_subscription = iced_native::subscription::events().map(Message::EventOccurred); Subscription::batch([time_subscription, ev_subscription]) diff --git a/src/util.rs b/src/util.rs new file mode 100644 index 00000000..c48fd7d5 --- /dev/null +++ b/src/util.rs @@ -0,0 +1,12 @@ +use iced_native::window::{Icon, icon}; + +const ICON_IMAGE: &[u8] = include_bytes!("../assets/icon@2x_r.png"); + +pub fn load_icon() -> Icon { + let image = image::load_from_memory(ICON_IMAGE) + .expect("Failed to open icon path") + .into_rgba8(); + let (width, height) = image.dimensions(); + let rgba = image.into_raw(); + icon::from_rgba(rgba, width, height).expect("Failed to load icon") +}