From a865d6b101678a1fd675ca6af894d870593f7311 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vuka=C5=A1in=20Vojinovi=C4=87?= <150025636+git-f0x@users.noreply.github.com> Date: Wed, 1 Oct 2025 20:31:46 +0200 Subject: [PATCH] chore(date): match selected timezone styling to designs --- cosmic-settings/src/pages/time/date.rs | 35 ++++++++++++++++++++---- cosmic-settings/src/pages/time/region.rs | 5 ++-- 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/cosmic-settings/src/pages/time/date.rs b/cosmic-settings/src/pages/time/date.rs index b37c43b..26ff362 100644 --- a/cosmic-settings/src/pages/time/date.rs +++ b/cosmic-settings/src/pages/time/date.rs @@ -22,6 +22,7 @@ use icu::{ }; use slab::Slab; use slotmap::{Key, SlotMap}; +use std::rc::Rc; pub use timedate_zbus::TimeDateProxy; use tracing::error; @@ -345,12 +346,36 @@ impl Page { } fn timezone_context_item<'a>(&self, id: usize, timezone: &'a str) -> Element<'a, Message> { - widget::button::custom(widget::settings::item_row(vec![ - widget::text::body(timezone).wrapping(Wrapping::Word).into(), - widget::horizontal_space().into(), - ])) + let svg_accent = Rc::new(|theme: &cosmic::Theme| cosmic::widget::svg::Style { + color: Some(theme.cosmic().accent_text_color().into()), + }); + let selected = Some(id) == self.timezone; + + widget::settings::item_row(vec![ + widget::text::body(timezone) + .class(if selected { + cosmic::theme::Text::Accent + } else { + cosmic::theme::Text::Default + }) + .wrapping(Wrapping::Word) + .width(cosmic::iced::Length::Fill) + .into(), + if selected { + widget::icon::from_name("object-select-symbolic") + .size(16) + .icon() + .class(cosmic::theme::Svg::Custom(svg_accent.clone())) + .into() + } else { + widget::horizontal_space().width(16).into() + }, + ]) + .apply(widget::container) + .class(cosmic::theme::Container::List) + .apply(widget::button::custom) + .class(cosmic::theme::Button::Transparent) .on_press(Message::Timezone(id)) - .class(cosmic::theme::Button::Icon) .into() } diff --git a/cosmic-settings/src/pages/time/region.rs b/cosmic-settings/src/pages/time/region.rs index 9156f82..db265dd 100644 --- a/cosmic-settings/src/pages/time/region.rs +++ b/cosmic-settings/src/pages/time/region.rs @@ -346,9 +346,8 @@ impl Page { let search_input = &self.add_language_search.trim().to_lowercase(); - let svg_accent = Rc::new(|theme: &cosmic::Theme| { - let color = theme.cosmic().accent_text_color().into(); - cosmic::widget::svg::Style { color: Some(color) } + let svg_accent = Rc::new(|theme: &cosmic::Theme| cosmic::widget::svg::Style { + color: Some(theme.cosmic().accent_text_color().into()), }); for (id, available_language) in &self.available_languages {