bundle close, maximise and minimise icons

This commit is contained in:
wiiznokes 2024-01-04 22:08:26 +01:00 committed by Jeremy Soller
parent 481cd5a0cd
commit 47858bf0aa
4 changed files with 20 additions and 6 deletions

View file

@ -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)