feat(widget): Use symbolic icons in SpinButton

This commit is contained in:
Michael Aaron Murphy 2022-12-07 03:20:52 +01:00
parent ef71f7f027
commit 3f88fb98e2
No known key found for this signature in database
GPG key ID: B2732D4240C9212C

View file

@ -4,7 +4,9 @@
mod model; mod model;
pub use self::model::SpinButtonModel; pub use self::model::SpinButtonModel;
use crate::widget::icon;
use crate::{theme, Element}; use crate::{theme, Element};
use apply::Apply;
use iced::{ use iced::{
alignment::{Horizontal, Vertical}, alignment::{Horizontal, Vertical},
widget::{button, container, row, text}, widget::{button, container, row, text},
@ -39,33 +41,37 @@ impl<T: 'static + Clone + Hash + ToString> SpinButton<T> {
move || -> Element<'static, SpinMessage> { move || -> Element<'static, SpinMessage> {
container( container(
row![ row![
button( icon("list-remove-symbolic", 24)
container(text("-").size(26).vertical_alignment(Vertical::Center)) .style(theme::Svg::Symbolic)
.width(Length::Fill) .apply(container)
.height(Length::Fill) .width(Length::Fill)
.align_x(Horizontal::Center) .height(Length::Fill)
.align_y(Vertical::Center), .align_x(Horizontal::Center)
) .align_y(Vertical::Center)
.width(Length::Fill) .apply(button)
.height(Length::Fill) .width(Length::Fill)
.style(theme::Button::Text) .height(Length::Fill)
.on_press(SpinMessage::Decrement), .style(theme::Button::Text)
container(text(value.clone()).vertical_alignment(Vertical::Center)) .on_press(SpinMessage::Decrement),
text(value.clone())
.vertical_alignment(Vertical::Center)
.apply(container)
.width(Length::Fill) .width(Length::Fill)
.height(Length::Fill) .height(Length::Fill)
.align_x(Horizontal::Center) .align_x(Horizontal::Center)
.align_y(Vertical::Center), .align_y(Vertical::Center),
button( icon("list-add-symbolic", 24)
container(text("+").size(26).vertical_alignment(Vertical::Center)) .style(theme::Svg::Symbolic)
.width(Length::Fill) .apply(container)
.height(Length::Fill) .width(Length::Fill)
.align_x(Horizontal::Center) .height(Length::Fill)
.align_y(Vertical::Center), .align_x(Horizontal::Center)
) .align_y(Vertical::Center)
.width(Length::Fill) .apply(button)
.height(Length::Fill) .width(Length::Fill)
.style(theme::Button::Text) .height(Length::Fill)
.on_press(SpinMessage::Increment), .style(theme::Button::Text)
.on_press(SpinMessage::Increment),
] ]
.width(Length::Fill) .width(Length::Fill)
.height(Length::Units(32)) .height(Length::Units(32))