From 47858bf0aac8404d34ed467e66fdc88da7bdc9ff Mon Sep 17 00:00:00 2001 From: wiiznokes <78230769+wiiznokes@users.noreply.github.com> Date: Thu, 4 Jan 2024 22:08:26 +0100 Subject: [PATCH] bundle close, maximise and minimise icons --- res/icons/window-close-symbolic.svg | 3 +++ res/icons/window-maximize-symbolic.svg | 4 ++++ res/icons/window-minimize-symbolic.svg | 3 +++ src/widget/header_bar.rs | 16 ++++++++++------ 4 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 res/icons/window-close-symbolic.svg create mode 100644 res/icons/window-maximize-symbolic.svg create mode 100644 res/icons/window-minimize-symbolic.svg diff --git a/res/icons/window-close-symbolic.svg b/res/icons/window-close-symbolic.svg new file mode 100644 index 00000000..25336395 --- /dev/null +++ b/res/icons/window-close-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/res/icons/window-maximize-symbolic.svg b/res/icons/window-maximize-symbolic.svg new file mode 100644 index 00000000..ef66334e --- /dev/null +++ b/res/icons/window-maximize-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/res/icons/window-minimize-symbolic.svg b/res/icons/window-minimize-symbolic.svg new file mode 100644 index 00000000..fdcf99b4 --- /dev/null +++ b/res/icons/window-minimize-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/widget/header_bar.rs b/src/widget/header_bar.rs index 45bac890..cb8c5de0 100644 --- a/src/widget/header_bar.rs +++ b/src/widget/header_bar.rs @@ -167,10 +167,14 @@ impl<'a, Message: Clone + 'static> HeaderBar<'a, Message> { /// Creates the widget for window controls. fn window_controls(&mut self) -> Element<'a, Message> { - let icon = |name, size, on_press| { - widget::icon::from_name(name) - .size(size) + let icon = |icon_bytes, size, on_press| { + + widget::icon::from_svg_bytes( + icon_bytes, + ) + .symbolic(true) .apply(widget::button::icon) + .icon_size(size) .on_press(on_press) }; @@ -178,17 +182,17 @@ impl<'a, Message: Clone + 'static> HeaderBar<'a, Message> { .push_maybe( self.on_minimize .take() - .map(|m| icon("window-minimize-symbolic", 16, m)), + .map(|m| icon(&include_bytes!("../../res/icons/window-minimize-symbolic.svg")[..], 16, m)), ) .push_maybe( self.on_maximize .take() - .map(|m| icon("window-maximize-symbolic", 16, m)), + .map(|m| icon(&include_bytes!("../../res/icons/window-maximize-symbolic.svg")[..], 16, m)), ) .push_maybe( self.on_close .take() - .map(|m| icon("window-close-symbolic", 16, m)), + .map(|m| icon(&include_bytes!("../../res/icons/window-close-symbolic.svg")[..], 16, m)), ) .spacing(8) .apply(widget::container)