From 3f88fb98e2190522ecc5183d35cbd7a42e566180 Mon Sep 17 00:00:00 2001 From: Michael Aaron Murphy Date: Wed, 7 Dec 2022 03:20:52 +0100 Subject: [PATCH] feat(widget): Use symbolic icons in SpinButton --- src/widget/spin_button/mod.rs | 52 +++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/src/widget/spin_button/mod.rs b/src/widget/spin_button/mod.rs index 8948370..950f78b 100644 --- a/src/widget/spin_button/mod.rs +++ b/src/widget/spin_button/mod.rs @@ -4,7 +4,9 @@ mod model; pub use self::model::SpinButtonModel; +use crate::widget::icon; use crate::{theme, Element}; +use apply::Apply; use iced::{ alignment::{Horizontal, Vertical}, widget::{button, container, row, text}, @@ -39,33 +41,37 @@ impl SpinButton { move || -> Element<'static, SpinMessage> { container( row![ - button( - container(text("-").size(26).vertical_alignment(Vertical::Center)) - .width(Length::Fill) - .height(Length::Fill) - .align_x(Horizontal::Center) - .align_y(Vertical::Center), - ) - .width(Length::Fill) - .height(Length::Fill) - .style(theme::Button::Text) - .on_press(SpinMessage::Decrement), - container(text(value.clone()).vertical_alignment(Vertical::Center)) + icon("list-remove-symbolic", 24) + .style(theme::Svg::Symbolic) + .apply(container) + .width(Length::Fill) + .height(Length::Fill) + .align_x(Horizontal::Center) + .align_y(Vertical::Center) + .apply(button) + .width(Length::Fill) + .height(Length::Fill) + .style(theme::Button::Text) + .on_press(SpinMessage::Decrement), + text(value.clone()) + .vertical_alignment(Vertical::Center) + .apply(container) .width(Length::Fill) .height(Length::Fill) .align_x(Horizontal::Center) .align_y(Vertical::Center), - button( - container(text("+").size(26).vertical_alignment(Vertical::Center)) - .width(Length::Fill) - .height(Length::Fill) - .align_x(Horizontal::Center) - .align_y(Vertical::Center), - ) - .width(Length::Fill) - .height(Length::Fill) - .style(theme::Button::Text) - .on_press(SpinMessage::Increment), + icon("list-add-symbolic", 24) + .style(theme::Svg::Symbolic) + .apply(container) + .width(Length::Fill) + .height(Length::Fill) + .align_x(Horizontal::Center) + .align_y(Vertical::Center) + .apply(button) + .width(Length::Fill) + .height(Length::Fill) + .style(theme::Button::Text) + .on_press(SpinMessage::Increment), ] .width(Length::Fill) .height(Length::Units(32))