From f8c25096fdeb6cb1a5f8bf67980c111e424090e8 Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Fri, 4 Aug 2023 17:19:30 -0400 Subject: [PATCH] refactor: update existing buttons --- src/theme/mod.rs | 7 ++++--- src/widget/button.rs | 9 +++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/theme/mod.rs b/src/theme/mod.rs index eddcc773..6acb13e0 100644 --- a/src/theme/mod.rs +++ b/src/theme/mod.rs @@ -253,12 +253,13 @@ impl button::StyleSheet for Theme { return active(self); } + let corner_radii = &self.cosmic().corner_radii; let component = style.cosmic(self); button::Appearance { border_radius: match style { - Button::Link => 0.0.into(), - Button::Card => 8.0.into(), - _ => 24.0.into(), + Button::Link => corner_radii.radius_0.into(), + Button::Card => corner_radii.radius_xs.into(), + _ => corner_radii.radius_xl.into(), }, background: match style { Button::Link | Button::Text => None, diff --git a/src/widget/button.rs b/src/widget/button.rs index d94aa10e..786c1099 100644 --- a/src/widget/button.rs +++ b/src/widget/button.rs @@ -1,7 +1,10 @@ // Copyright 2022 System76 // SPDX-License-Identifier: MPL-2.0 -use crate::{theme, Element, Renderer}; +use crate::{ + theme::{self, THEME}, + Element, Renderer, +}; use iced::widget; /// A button widget with COSMIC styling @@ -44,9 +47,11 @@ impl Button { /// A custom button that has the desired default spacing and padding. pub fn custom(self, children: Vec>) -> widget::Button { + let theme = THEME.with(|t| t.borrow().clone()); + let theme = theme.cosmic(); let button = widget::button(widget::row(children).spacing(8)) .style(self.style) - .padding([8, 16]); + .padding([theme.space_xs(), theme.space_s()]); if let Some(message) = self.message { button.on_press(message)