improv: radio button style improvements

This commit is contained in:
Vukašin Vojinović 2024-08-30 16:57:13 +02:00 committed by GitHub
parent db44cc1e01
commit fbd9e231d3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 220 additions and 226 deletions

286
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -431,7 +431,7 @@ impl Page {
model: impl Fn(&Self) -> &ColorPickerModel, model: impl Fn(&Self) -> &ColorPickerModel,
) -> Element<'_, crate::pages::Message> { ) -> Element<'_, crate::pages::Message> {
cosmic::widget::column() cosmic::widget::column()
.push_maybe(description.map(|description| text(description).width(Length::Fill))) .push_maybe(description.map(|description| text::body(description).width(Length::Fill)))
.push( .push(
model(self) model(self)
.builder(on_update) .builder(on_update)
@ -1175,7 +1175,7 @@ pub fn mode_and_colors() -> Section<crate::pages::Message> {
.padding([8, 0]) .padding([8, 0])
.selected(page.theme_mode.is_dark) .selected(page.theme_mode.is_dark)
.on_press(Message::DarkMode(true)), .on_press(Message::DarkMode(true)),
text(&descriptions[dark]) text::body(&descriptions[dark])
] ]
.spacing(8) .spacing(8)
.width(Length::FillPortion(1)) .width(Length::FillPortion(1))
@ -1190,7 +1190,7 @@ pub fn mode_and_colors() -> Section<crate::pages::Message> {
.selected(!page.theme_mode.is_dark) .selected(!page.theme_mode.is_dark)
.padding([8, 0]) .padding([8, 0])
.on_press(Message::DarkMode(false)), .on_press(Message::DarkMode(false)),
text(&descriptions[light]) text::body(&descriptions[light])
] ]
.spacing(8) .spacing(8)
.width(Length::FillPortion(1)) .width(Length::FillPortion(1))
@ -1221,7 +1221,7 @@ pub fn mode_and_colors() -> Section<crate::pages::Message> {
) )
.add( .add(
cosmic::iced::widget::column![ cosmic::iced::widget::column![
text(&descriptions[accent_color]), text::body(&descriptions[accent_color]),
scrollable( scrollable(
cosmic::iced::widget::row![ cosmic::iced::widget::row![
color_button( color_button(
@ -1420,7 +1420,7 @@ pub fn style() -> Section<crate::pages::Message> {
.style(button::Style::Image) .style(button::Style::Image)
.padding(8) .padding(8)
.on_press(Message::Roundness(Roundness::Round)), .on_press(Message::Roundness(Roundness::Round)),
text(&descriptions[round]) text::body(&descriptions[round])
] ]
.spacing(8) .spacing(8)
.width(Length::FillPortion(1)) .width(Length::FillPortion(1))
@ -1442,7 +1442,7 @@ pub fn style() -> Section<crate::pages::Message> {
.style(button::Style::Image) .style(button::Style::Image)
.padding(8) .padding(8)
.on_press(Message::Roundness(Roundness::SlightlyRound)), .on_press(Message::Roundness(Roundness::SlightlyRound)),
text(&descriptions[slightly_round]) text::body(&descriptions[slightly_round])
] ]
.spacing(8) .spacing(8)
.width(Length::FillPortion(1)) .width(Length::FillPortion(1))
@ -1465,7 +1465,7 @@ pub fn style() -> Section<crate::pages::Message> {
.style(button::Style::Image) .style(button::Style::Image)
.padding(8) .padding(8)
.on_press(Message::Roundness(Roundness::Square)), .on_press(Message::Roundness(Roundness::Square)),
text(&descriptions[square]) text::body(&descriptions[square])
] ]
.spacing(8) .spacing(8)
.align_items(cosmic::iced_core::Alignment::Center) .align_items(cosmic::iced_core::Alignment::Center)
@ -1877,7 +1877,7 @@ fn icon_theme_button(
}), }),
) )
.push( .push(
text(if name.len() > ICON_NAME_TRUNC { text::body(if name.len() > ICON_NAME_TRUNC {
format!("{name:.ICON_NAME_TRUNC$}...") format!("{name:.ICON_NAME_TRUNC$}...")
} else { } else {
name.into() name.into()

View file

@ -152,7 +152,7 @@ pub(crate) fn enable() -> Section<crate::pages::Message> {
.view::<Page>(move |_binder, page, section| { .view::<Page>(move |_binder, page, section| {
let descriptions = &section.descriptions; let descriptions = &section.descriptions;
let Some(container_config) = page.inner.container_config.as_ref() else { let Some(container_config) = page.inner.container_config.as_ref() else {
return Element::from(text(fl!("unknown"))); return Element::from(text::body(fl!("unknown")));
}; };
settings::view_section(&section.title) settings::view_section(&section.title)
.add(settings::item( .add(settings::item(

View file

@ -264,12 +264,12 @@ impl Page {
row::with_children(vec![ row::with_children(vec![
icon::from_name(&*info.icon).size(32).icon().into(), icon::from_name(&*info.icon).size(32).icon().into(),
column::with_capacity(2) column::with_capacity(2)
.push(text(info.name.clone())) .push(text::body(info.name.clone()))
.push(text(info.description.clone()).size(10)) .push(text::caption(info.description.clone()))
.spacing(spacing.space_xxxs) .spacing(spacing.space_xxxs)
.width(Length::Fill) .width(Length::Fill)
.into(), .into(),
button(text(fl!("add"))) button(text::body(fl!("add")))
.style(button::Style::Custom { .style(button::Style::Custom {
active: Box::new(|focused, theme| { active: Box::new(|focused, theme| {
let mut style = theme.active(focused, false, &button::Style::Text); let mut style = theme.active(focused, false, &button::Style::Text);
@ -305,7 +305,7 @@ impl Page {
} }
if !has_some { if !has_some {
list_column = list_column.add( list_column = list_column.add(
text(fl!("no-applets-found")) text::body(fl!("no-applets-found"))
.width(Length::Fill) .width(Length::Fill)
.horizontal_alignment(Horizontal::Center), .horizontal_alignment(Horizontal::Center),
); );
@ -472,12 +472,12 @@ pub fn lists<
let spacing = cosmic::theme::active().cosmic().spacing; let spacing = cosmic::theme::active().cosmic().spacing;
let page = page.inner(); let page = page.inner();
let Some(config) = page.current_config.as_ref() else { let Some(config) = page.current_config.as_ref() else {
return Element::from(text(fl!("unknown"))); return Element::from(text::body(fl!("unknown")));
}; };
column::with_children(vec![ column::with_children(vec![
column::with_children(vec![ column::with_children(vec![
text(fl!("start-segment")).into(), text::body(fl!("start-segment")).into(),
AppletReorderList::new( AppletReorderList::new(
config config
.plugins_wings .plugins_wings
@ -509,7 +509,7 @@ pub fn lists<
.spacing(spacing.space_xxs) .spacing(spacing.space_xxs)
.into(), .into(),
column::with_children(vec![ column::with_children(vec![
text(fl!("center-segment")).into(), text::body(fl!("center-segment")).into(),
AppletReorderList::new( AppletReorderList::new(
config config
.plugins_center .plugins_center
@ -540,7 +540,7 @@ pub fn lists<
.spacing(spacing.space_xxs) .spacing(spacing.space_xxs)
.into(), .into(),
column::with_children(vec![ column::with_children(vec![
text(fl!("end-segment")).into(), text::body(fl!("end-segment")).into(),
AppletReorderList::new( AppletReorderList::new(
config config
.plugins_wings .plugins_wings
@ -689,7 +689,7 @@ impl<'a, Message: 'static + Clone> AppletReorderList<'a, Message> {
column::with_capacity(2) column::with_capacity(2)
.spacing(spacing.space_xxxs) .spacing(spacing.space_xxxs)
.width(Length::Fill) .width(Length::Fill)
.push(text(info.name)) .push(text::body(info.name))
.push_maybe(if info.description.is_empty() { .push_maybe(if info.description.is_empty() {
None None
} else { } else {
@ -730,7 +730,7 @@ impl<'a, Message: 'static + Clone> AppletReorderList<'a, Message> {
surface_ids, surface_ids,
inner: if active_dnd.is_some() && applet_buttons.is_empty() { inner: if active_dnd.is_some() && applet_buttons.is_empty() {
container( container(
text(fl!("drop-here")) text::body(fl!("drop-here"))
.width(Length::Fill) .width(Length::Fill)
.height(Length::Fill) .height(Length::Fill)
.vertical_alignment(Vertical::Center) .vertical_alignment(Vertical::Center)
@ -778,7 +778,7 @@ impl<'a, Message: 'static + Clone> AppletReorderList<'a, Message> {
column::with_capacity(2) column::with_capacity(2)
.spacing(4.0) .spacing(4.0)
.width(Length::Fill) .width(Length::Fill)
.push(text(info.name)) .push(text::body(info.name))
.push(text::caption(info.description)) .push(text::caption(info.description))
.into(), .into(),
button::icon(icon::from_name("edit-delete-symbolic")) button::icon(icon::from_name("edit-delete-symbolic"))

View file

@ -107,7 +107,7 @@ pub(crate) fn behavior_and_position<
let descriptions = &section.descriptions; let descriptions = &section.descriptions;
let page = page.inner(); let page = page.inner();
let Some(panel_config) = page.panel_config.as_ref() else { let Some(panel_config) = page.panel_config.as_ref() else {
return Element::from(text(fl!("unknown"))); return Element::from(text::body(fl!("unknown")));
}; };
settings::view_section(&section.title) settings::view_section(&section.title)
.add(settings::item( .add(settings::item(
@ -163,7 +163,7 @@ pub(crate) fn style<
let descriptions = &section.descriptions; let descriptions = &section.descriptions;
let inner = page.inner(); let inner = page.inner();
let Some(panel_config) = inner.panel_config.as_ref() else { let Some(panel_config) = inner.panel_config.as_ref() else {
return Element::from(text(fl!("unknown"))); return Element::from(text::body(fl!("unknown")));
}; };
settings::view_section(&section.title) settings::view_section(&section.title)
.add(settings::item( .add(settings::item(
@ -195,7 +195,7 @@ pub(crate) fn style<
&descriptions[size], &descriptions[size],
// TODO custom discrete slider variant // TODO custom discrete slider variant
row::with_children(vec![ row::with_children(vec![
text(fl!("small")).into(), text::body(fl!("small")).into(),
slider( slider(
0..=4, 0..=4,
match panel_config.size { match panel_config.size {
@ -220,20 +220,20 @@ pub(crate) fn style<
}, },
) )
.into(), .into(),
text(fl!("large")).into(), text::body(fl!("large")).into(),
]) ])
.spacing(12), .spacing(12),
)) ))
.add(settings::flex_item( .add(settings::flex_item(
&descriptions[background_opacity], &descriptions[background_opacity],
row::with_children(vec![ row::with_children(vec![
text(fl!("number", HashMap::from_iter(vec![("number", 0)]))).into(), text::body(fl!("number", HashMap::from_iter(vec![("number", 0)]))).into(),
slider(0..=100, (panel_config.opacity * 100.0) as i32, |v| { slider(0..=100, (panel_config.opacity * 100.0) as i32, |v| {
Message::Opacity(v as f32 / 100.0) Message::Opacity(v as f32 / 100.0)
}) })
.breakpoints(&[50]) .breakpoints(&[50])
.into(), .into(),
text(fl!("number", HashMap::from_iter(vec![("number", 100)]))).into(), text::body(fl!("number", HashMap::from_iter(vec![("number", 100)]))).into(),
]) ])
.spacing(12), .spacing(12),
)) ))

View file

@ -3,10 +3,9 @@
// TODO make settings work // TODO make settings work
use cosmic::widget::settings;
use cosmic::{ use cosmic::{
cosmic_config::{self, ConfigGet, ConfigSet}, cosmic_config::{self, ConfigGet, ConfigSet},
widget::radio, widget::{radio, settings, text},
Apply, Element, Apply, Element,
}; };
use cosmic_comp_config::workspace::{WorkspaceConfig, WorkspaceLayout, WorkspaceMode}; use cosmic_comp_config::workspace::{WorkspaceConfig, WorkspaceLayout, WorkspaceMode};
@ -136,14 +135,14 @@ fn multi_behavior() -> Section<crate::pages::Message> {
let descriptions = &section.descriptions; let descriptions = &section.descriptions;
settings::view_section(&section.title) settings::view_section(&section.title)
.add(settings::item_row(vec![radio( .add(settings::item_row(vec![radio(
&descriptions[span], text::body(&descriptions[span]),
WorkspaceMode::Global, WorkspaceMode::Global,
Some(page.comp_workspace_config.workspace_mode), Some(page.comp_workspace_config.workspace_mode),
Message::SetWorkspaceMode, Message::SetWorkspaceMode,
) )
.into()])) .into()]))
.add(settings::item_row(vec![radio( .add(settings::item_row(vec![radio(
&descriptions[separate], text::body(&descriptions[separate]),
WorkspaceMode::OutputBound, WorkspaceMode::OutputBound,
Some(page.comp_workspace_config.workspace_mode), Some(page.comp_workspace_config.workspace_mode),
Message::SetWorkspaceMode, Message::SetWorkspaceMode,
@ -167,14 +166,14 @@ fn workspace_orientation() -> Section<crate::pages::Message> {
let descriptions = &section.descriptions; let descriptions = &section.descriptions;
settings::view_section(&section.title) settings::view_section(&section.title)
.add(settings::item_row(vec![radio( .add(settings::item_row(vec![radio(
&*descriptions[vertical], text::body(&descriptions[vertical]),
WorkspaceLayout::Vertical, WorkspaceLayout::Vertical,
Some(page.comp_workspace_config.workspace_layout), Some(page.comp_workspace_config.workspace_layout),
Message::SetWorkspaceLayout, Message::SetWorkspaceLayout,
) )
.into()])) .into()]))
.add(settings::item_row(vec![radio( .add(settings::item_row(vec![radio(
&*descriptions[horizontal], text::body(&descriptions[horizontal]),
WorkspaceLayout::Horizontal, WorkspaceLayout::Horizontal,
Some(page.comp_workspace_config.workspace_layout), Some(page.comp_workspace_config.workspace_layout),
Message::SetWorkspaceLayout, Message::SetWorkspaceLayout,

View file

@ -133,7 +133,7 @@ fn popover_menu_row(
label: String, label: String,
message: impl Fn(DefaultKey) -> SourceContext + 'static, message: impl Fn(DefaultKey) -> SourceContext + 'static,
) -> cosmic::Element<'static, Message> { ) -> cosmic::Element<'static, Message> {
widget::text(label) widget::text::body(label)
.apply(widget::container) .apply(widget::container)
.style(cosmic::theme::Container::custom(|theme| { .style(cosmic::theme::Container::custom(|theme| {
iced_style::container::Appearance { iced_style::container::Appearance {

View file

@ -544,11 +544,11 @@ fn shortcut_item(custom: bool, id: usize, data: &ShortcutModel) -> Element<Short
.iter() .iter()
.take(3) .take(3)
.filter(|(_, shortcut)| shortcut.binding.is_set()) .filter(|(_, shortcut)| shortcut.binding.is_set())
.map(|(_, shortcut)| widget::text::body(shortcut.binding.to_string()).into()) .map(|(_, shortcut)| text::body(shortcut.binding.to_string()).into())
.collect::<Vec<_>>(); .collect::<Vec<_>>();
let shortcuts: Element<LocalMessage> = if bindings.is_empty() { let shortcuts: Element<LocalMessage> = if bindings.is_empty() {
widget::text::body(fl!("disabled")).into() text::body(fl!("disabled")).into()
} else { } else {
widget::column::with_children(bindings) widget::column::with_children(bindings)
.align_items(Alignment::End) .align_items(Alignment::End)
@ -558,7 +558,7 @@ fn shortcut_item(custom: bool, id: usize, data: &ShortcutModel) -> Element<Short
let modified = if data.modified == 0 { let modified = if data.modified == 0 {
None None
} else { } else {
Some(widget::text::body(fl!("modified", count = data.modified))) Some(text::body(fl!("modified", count = data.modified)))
}; };
let control = widget::row::with_capacity(4) let control = widget::row::with_capacity(4)

View file

@ -81,7 +81,7 @@ fn mouse() -> Section<crate::pages::Message> {
row::with_capacity(2) row::with_capacity(2)
.align_items(Alignment::Center) .align_items(Alignment::Center)
.spacing(theme.cosmic().space_s()) .spacing(theme.cosmic().space_s())
.push(text(format!("{:.0}", value.round()))) .push(text::body(format!("{:.0}", value.round())))
.push(slider) .push(slider)
}), }),
) )
@ -140,7 +140,7 @@ fn scrolling() -> Section<crate::pages::Message> {
row::with_capacity(2) row::with_capacity(2)
.align_items(Alignment::Center) .align_items(Alignment::Center)
.spacing(theme.cosmic().space_s()) .spacing(theme.cosmic().space_s())
.push(text(format!("{:.0}", value.round()))) .push(text::body(format!("{:.0}", value.round())))
.push(slider) .push(slider)
})) }))
.add( .add(

View file

@ -104,7 +104,7 @@ fn touchpad() -> Section<crate::pages::Message> {
row::with_capacity(2) row::with_capacity(2)
.align_items(Alignment::Center) .align_items(Alignment::Center)
.spacing(theme.cosmic().space_s()) .spacing(theme.cosmic().space_s())
.push(text(format!("{:.0}", value.round()))) .push(text::body(format!("{:.0}", value.round())))
.push(slider) .push(slider)
}), }),
) )
@ -151,7 +151,7 @@ fn click_behavior() -> Section<crate::pages::Message> {
settings::view_section(&*section.title) settings::view_section(&*section.title)
// Secondary click via two fingers, and middle-click via three fingers // Secondary click via two fingers, and middle-click via three fingers
.add(settings::item_row(vec![widget::radio( .add(settings::item_row(vec![widget::radio(
&descriptions[click_finger], text::body(&descriptions[click_finger]),
ClickMethod::Clickfinger, ClickMethod::Clickfinger,
page.input_touchpad.click_method, page.input_touchpad.click_method,
|option| Message::SetSecondaryClickBehavior(Some(option), true), |option| Message::SetSecondaryClickBehavior(Some(option), true),
@ -159,7 +159,7 @@ fn click_behavior() -> Section<crate::pages::Message> {
.into()])) .into()]))
// Secondary and middle-click via button areas. // Secondary and middle-click via button areas.
.add(settings::item_row(vec![widget::radio( .add(settings::item_row(vec![widget::radio(
&descriptions[button_areas], text::body(&descriptions[button_areas]),
ClickMethod::ButtonAreas, ClickMethod::ButtonAreas,
page.input_touchpad.click_method, page.input_touchpad.click_method,
|option| Message::SetSecondaryClickBehavior(Some(option), true), |option| Message::SetSecondaryClickBehavior(Some(option), true),
@ -201,7 +201,7 @@ fn scrolling() -> Section<crate::pages::Message> {
settings::view_section(&section.title) settings::view_section(&section.title)
// Two-finger scrolling toggle // Two-finger scrolling toggle
.add(settings::item_row(vec![widget::radio( .add(settings::item_row(vec![widget::radio(
&descriptions[two_finger], text::body(&descriptions[two_finger]),
ScrollMethod::TwoFinger, ScrollMethod::TwoFinger,
page.input_touchpad page.input_touchpad
.scroll_config .scroll_config
@ -212,7 +212,7 @@ fn scrolling() -> Section<crate::pages::Message> {
.into()])) .into()]))
// Edge scrolling toggle // Edge scrolling toggle
.add(settings::item_row(vec![widget::radio( .add(settings::item_row(vec![widget::radio(
&descriptions[edge], text::body(&descriptions[edge]),
ScrollMethod::Edge, ScrollMethod::Edge,
page.input_touchpad page.input_touchpad
.scroll_config .scroll_config
@ -244,7 +244,7 @@ fn scrolling() -> Section<crate::pages::Message> {
row::with_capacity(2) row::with_capacity(2)
.align_items(Alignment::Center) .align_items(Alignment::Center)
.spacing(theme.cosmic().space_s()) .spacing(theme.cosmic().space_s())
.push(text(format!("{:.0}", value.round()))) .push(text::body(format!("{:.0}", value.round())))
.push(slider) .push(slider)
})) }))
// Natural scrolling toggle // Natural scrolling toggle
@ -273,24 +273,24 @@ fn gestures() -> Section<crate::pages::Message> {
// let four_finger_up = descriptions.insert(fl!("gestures", "four-finger-up")); // let four_finger_up = descriptions.insert(fl!("gestures", "four-finger-up"));
// let three_finger_any = descriptions.insert(fl!("gestures", "three-finger-any")); // let three_finger_any = descriptions.insert(fl!("gestures", "three-finger-any"));
let switch_workspaces = descriptions.insert(fl!("switch-workspaces"));
let switch_workspaces_horizontal = descriptions.insert(fl!("switch-workspaces", "horizontal"));
let switch_workspaces_vertical = descriptions.insert(fl!("switch-workspaces", "vertical"));
// let open_application_library = descriptions.insert(fl!("open-application-library")); // let open_application_library = descriptions.insert(fl!("open-application-library"));
// let open_workspaces_view = descriptions.insert(fl!("open-workspaces-view")); // let open_workspaces_view = descriptions.insert(fl!("open-workspaces-view"));
// let switch_between_windows = descriptions.insert(fl!("switch-between-windows")); // let switch_between_windows = descriptions.insert(fl!("switch-between-windows"));
let switch_workspaces = descriptions.insert(fl!("switch-workspaces"));
let switch_workspaces_horizontal = descriptions.insert(fl!("switch-workspaces", "horizontal"));
let switch_workspaces_vertical = descriptions.insert(fl!("switch-workspaces", "vertical"));
Section::default() Section::default()
.title(fl!("gestures")) .title(fl!("gestures"))
.descriptions(descriptions) .descriptions(descriptions)
.view::<Page>(move |_binder, page, section| { .view::<Page>(move |_binder, page, section| {
let descriptions = &section.descriptions; let descriptions = &section.descriptions;
settings::view_section(&*section.title) settings::view_section(&section.title)
// .add( // .add(
// settings::item::builder(&descriptions[three_finger_any]) // settings::item::builder(&descriptions[three_finger_any])
// .flex_control(text(&descriptions[switch_between_windows])), // .flex_control(text::body(&descriptions[switch_between_windows])),
// ) // )
.add( .add(
settings::item::builder( settings::item::builder(
@ -299,7 +299,7 @@ fn gestures() -> Section<crate::pages::Message> {
WorkspaceLayout::Vertical => switch_workspaces_vertical, WorkspaceLayout::Vertical => switch_workspaces_vertical,
}], }],
) )
.flex_control(text(&descriptions[switch_workspaces])), .flex_control(text::body(&descriptions[switch_workspaces])),
) )
// .add( // .add(
// settings::item::builder( // settings::item::builder(
@ -308,7 +308,7 @@ fn gestures() -> Section<crate::pages::Message> {
// WorkspaceLayout::Vertical => four_finger_right, // WorkspaceLayout::Vertical => four_finger_right,
// }], // }],
// ) // )
// .flex_control(text(&descriptions[open_workspaces_view])), // .flex_control(text::body(&descriptions[open_workspaces_view])),
// ) // )
// .add( // .add(
// settings::item::builder( // settings::item::builder(
@ -317,7 +317,7 @@ fn gestures() -> Section<crate::pages::Message> {
// WorkspaceLayout::Vertical => four_finger_left, // WorkspaceLayout::Vertical => four_finger_left,
// }], // }],
// ) // )
// .flex_control(text(&descriptions[open_application_library])), // .flex_control(text::body(&descriptions[open_application_library])),
// ) // )
.apply(Element::from) .apply(Element::from)
.map(crate::pages::Message::Input) .map(crate::pages::Message::Input)

View file

@ -78,10 +78,10 @@ fn battery_info() -> Section<crate::pages::Message> {
.show_while::<Page>(|page| page.battery.is_present) .show_while::<Page>(|page| page.battery.is_present)
.view::<Page>(move |_binder, page, section| { .view::<Page>(move |_binder, page, section| {
let battery_icon = widget::icon::from_name(page.battery.icon_name.clone()); let battery_icon = widget::icon::from_name(page.battery.icon_name.clone());
let battery_percent = widget::text(format!("{}%", page.battery.percent)); let battery_percent = widget::text::body(format!("{}%", page.battery.percent));
let battery_time = let battery_time =
widget::text(if page.battery.remaining_duration > TimeDelta::zero() { widget::text::body(if page.battery.remaining_duration > TimeDelta::zero() {
&page.battery.remaining_time &page.battery.remaining_time
} else { } else {
"" ""
@ -134,7 +134,7 @@ fn profiles() -> Section<crate::pages::Message> {
}) })
.fold(section, settings::Section::add); .fold(section, settings::Section::add);
} else { } else {
let item = widget::text::body(fl!("power-mode", "nobackend")); let item = text::body(fl!("power-mode", "nobackend"));
section = section.add(item); section = section.add(item);
} }

View file

@ -719,8 +719,8 @@ fn output() -> Section<crate::pages::Message> {
// .descriptions(descriptions) // .descriptions(descriptions)
// .view::<Page>(move |_binder, _page, section| { // .view::<Page>(move |_binder, _page, section| {
// settings::view_section(&section.title) // settings::view_section(&section.title)
// .add(settings::item(&section.descriptions[volume], text("TODO"))) // .add(settings::item(&section.descriptions[volume], text::body("TODO")))
// .add(settings::item(&section.descriptions[sound], text("TODO"))) // .add(settings::item(&section.descriptions[sound], text::body("TODO")))
// .into() // .into()
// }) // })
// } // }
@ -737,7 +737,7 @@ fn output() -> Section<crate::pages::Message> {
// settings::view_section(&section.title) // settings::view_section(&section.title)
// .add(settings::item( // .add(settings::item(
// &*section.descriptions[applications], // &*section.descriptions[applications],
// text("TODO"), // text::body("TODO"),
// )) // ))
// .into() // .into()
// }) // })

View file

@ -153,23 +153,29 @@ fn hardware() -> Section<crate::pages::Message> {
let sections = settings::view_section(&section.title) let sections = settings::view_section(&section.title)
.add(settings::flex_item( .add(settings::flex_item(
&*desc[model], &*desc[model],
text(&page.info.hardware_model), text::body(&page.info.hardware_model),
))
.add(settings::flex_item(
&*desc[memory],
text::body(&page.info.memory),
)) ))
.add(settings::flex_item(&*desc[memory], text(&page.info.memory)))
.add(settings::flex_item( .add(settings::flex_item(
&*desc[processor], &*desc[processor],
text(&page.info.processor), text::body(&page.info.processor),
)); ));
page.info page.info
.graphics .graphics
.iter() .iter()
.fold(sections, |sections, card| { .fold(sections, |sections, card| {
sections.add(settings::flex_item(&*desc[graphics], text(card.as_str()))) sections.add(settings::flex_item(
&*desc[graphics],
text::body(card.as_str()),
))
}) })
.add(settings::flex_item( .add(settings::flex_item(
&*desc[disk_capacity], &*desc[disk_capacity],
text(&page.info.disk_capacity), text::body(&page.info.disk_capacity),
)) ))
.into() .into()
}) })
@ -191,19 +197,19 @@ fn os() -> Section<crate::pages::Message> {
settings::view_section(&section.title) settings::view_section(&section.title)
.add(settings::flex_item( .add(settings::flex_item(
&*desc[os], &*desc[os],
text(&page.info.operating_system), text::body(&page.info.operating_system),
)) ))
.add(settings::flex_item( .add(settings::flex_item(
&*desc[os_arch], &*desc[os_arch],
text(&page.info.os_architecture), text::body(&page.info.os_architecture),
)) ))
.add(settings::flex_item( .add(settings::flex_item(
&*desc[desktop], &*desc[desktop],
text(&page.info.desktop_environment), text::body(&page.info.desktop_environment),
)) ))
.add(settings::flex_item( .add(settings::flex_item(
&*desc[windowing_system], &*desc[windowing_system],
text(&page.info.windowing_system), text::body(&page.info.windowing_system),
)) ))
.into() .into()
}) })
@ -216,7 +222,7 @@ fn os() -> Section<crate::pages::Message> {
// .descriptions(vec![fl!("about-related", "support").into()]) // .descriptions(vec![fl!("about-related", "support").into()])
// .view::<Page>(move |_binder, _page, section| { // .view::<Page>(move |_binder, _page, section| {
// settings::view_section(&section.title) // settings::view_section(&section.title)
// .add(settings::item(&*section.descriptions[0], text("TODO"))) // .add(settings::item(&*section.descriptions[0], text::body("TODO")))
// .into() // .into()
// }) // })
// } // }

View file

@ -380,7 +380,7 @@ fn date() -> Section<crate::pages::Message> {
.add( .add(
settings::item::builder(&*section.descriptions[title]) settings::item::builder(&*section.descriptions[title])
.description(fl!("time-date", "auto-ntp")) .description(fl!("time-date", "auto-ntp"))
.control(widget::text(&page.formatted_date)), .control(widget::text::body(&page.formatted_date)),
) )
.apply(cosmic::Element::from) .apply(cosmic::Element::from)
.map(crate::pages::Message::DateAndTime) .map(crate::pages::Message::DateAndTime)
@ -452,7 +452,7 @@ fn timezone() -> Section<crate::pages::Message> {
let timezone_context_button = widget::row::with_capacity(2) let timezone_context_button = widget::row::with_capacity(2)
.spacing(12) .spacing(12)
.push( .push(
widget::text( widget::text::body(
page.timezone page.timezone
.map(|id| &*page.timezone_list[id]) .map(|id| &*page.timezone_list[id])
.unwrap_or_default(), .unwrap_or_default(),

View file

@ -23,8 +23,7 @@ pub fn search_header<Message>(
let parent_meta = &pages.info[parent]; let parent_meta = &pages.info[parent];
column_children.push( column_children.push(
text(parent_meta.title.as_str()) text::body(parent_meta.title.as_str())
.size(14)
.apply(container) .apply(container)
.padding([0, 0, 0, 6]) .padding([0, 0, 0, 6])
.into(), .into(),
@ -58,7 +57,7 @@ pub fn page_title<Message: 'static>(page: &page::Info) -> Element<Message> {
#[must_use] #[must_use]
pub fn unimplemented_page<Message: 'static>() -> Element<'static, Message> { pub fn unimplemented_page<Message: 'static>() -> Element<'static, Message> {
settings::view_section("") settings::view_section("")
.add(text("We haven't created that panel yet, and/or it is using a similar idea as current Pop! designs.")) .add(text::body("We haven't created that panel yet, and/or it is using a similar idea as current Pop! designs."))
.into() .into()
} }
@ -126,7 +125,7 @@ pub fn sub_page_header<'a, Message: 'static + Clone>(
pub fn go_next_item<Msg: Clone + 'static>(description: &str, msg: Msg) -> cosmic::Element<'_, Msg> { pub fn go_next_item<Msg: Clone + 'static>(description: &str, msg: Msg) -> cosmic::Element<'_, Msg> {
settings::item_row(vec![ settings::item_row(vec![
text(description).wrap(Wrap::Word).into(), text::body(description).wrap(Wrap::Word).into(),
horizontal_space(Length::Fill).into(), horizontal_space(Length::Fill).into(),
icon::from_name("go-next-symbolic").size(16).icon().into(), icon::from_name("go-next-symbolic").size(16).icon().into(),
]) ])

View file

@ -179,8 +179,8 @@ super-key = Super key
.applications = Open Applications .applications = Open Applications
window-controls = Window Controls window-controls = Window Controls
.minimize = Show minimize button
.maximize = Show maximize button .maximize = Show maximize button
.minimize = Show minimize button
## Desktop: Workspaces ## Desktop: Workspaces

View file

@ -179,8 +179,8 @@ super-key = Super тастер
.applications = Отвори Апликације .applications = Отвори Апликације
window-controls = Контрола прозора window-controls = Контрола прозора
.minimize = Прикажи дугме за минимизовање
.maximize = Прикажи дугме за максимизовање .maximize = Прикажи дугме за максимизовање
.minimize = Прикажи дугме за минимизовање
## Desktop: Workspaces ## Desktop: Workspaces

View file

@ -179,8 +179,8 @@ super-key = Super taster
.applications = Otvori Aplikacije .applications = Otvori Aplikacije
window-controls = Kontrole prozora window-controls = Kontrole prozora
.minimize = Prikaži dugme za minimizovanje
.maximize = Prikaži dugme za maksimizovanje .maximize = Prikaži dugme za maksimizovanje
.minimize = Prikaži dugme za minimizovanje
## Desktop: Workspaces ## Desktop: Workspaces