diff --git a/cosmic-settings/src/pages/accessibility/mod.rs b/cosmic-settings/src/pages/accessibility/mod.rs index a7bc8f6..f8b75f2 100644 --- a/cosmic-settings/src/pages/accessibility/mod.rs +++ b/cosmic-settings/src/pages/accessibility/mod.rs @@ -5,7 +5,7 @@ use cosmic::{ iced::stream, surface, theme::CosmicTheme, - widget::{dropdown, list, settings, text}, + widget::{dropdown, settings, text}, }; pub use cosmic_comp_config::ZoomMovement; use cosmic_config::CosmicConfigEntry; diff --git a/cosmic-settings/src/pages/applications/legacy_applications.rs b/cosmic-settings/src/pages/applications/legacy_applications.rs index 81bbcfe..a21d605 100644 --- a/cosmic-settings/src/pages/applications/legacy_applications.rs +++ b/cosmic-settings/src/pages/applications/legacy_applications.rs @@ -12,7 +12,7 @@ use std::{ use cosmic::{ Apply, Element, Task, cosmic_config::{self, ConfigGet, ConfigSet}, - iced::{Length, stream}, + iced::stream, surface, widget::{self, dropdown, settings, text}, }; diff --git a/cosmic-settings/src/pages/desktop/appearance/drawer.rs b/cosmic-settings/src/pages/desktop/appearance/drawer.rs index ad1cecb..7b7caa0 100644 --- a/cosmic-settings/src/pages/desktop/appearance/drawer.rs +++ b/cosmic-settings/src/pages/desktop/appearance/drawer.rs @@ -4,7 +4,7 @@ use cosmic::cosmic_config::{Config, ConfigSet}; use cosmic::cosmic_theme::Spacing; use cosmic::iced::core::{Color, Length}; use cosmic::widget::{ - ColorPickerModel, color_picker::ColorPickerUpdate, container, flex_row, list, settings, text, + ColorPickerModel, color_picker::ColorPickerUpdate, container, flex_row, settings, text, }; use cosmic::{Apply, Task}; use cosmic::{Element, widget}; diff --git a/cosmic-settings/src/pages/desktop/appearance/font_config.rs b/cosmic-settings/src/pages/desktop/appearance/font_config.rs index 417a671..d2b2558 100644 --- a/cosmic-settings/src/pages/desktop/appearance/font_config.rs +++ b/cosmic-settings/src/pages/desktop/appearance/font_config.rs @@ -6,8 +6,7 @@ use std::sync::Arc; use cosmic::{ Apply, Element, Task, config::{CosmicTk, FontConfig}, - iced::core::text::Wrapping, - widget::{self, settings, svg}, + widget, }; use cosmic_config::ConfigSet; @@ -193,10 +192,11 @@ impl Model { widget::list_column::with_capacity(families.len()), |list, family| { let selected = &**family == current_font; - list.add( - widget::list::button(selection_context_item(&**family, selected)) - .on_press(callback(family.clone())), - ) + list.add(selection_context_item( + family, + selected, + callback(family.clone()), + )) }, ); list.into() diff --git a/cosmic-settings/src/pages/desktop/appearance/mod.rs b/cosmic-settings/src/pages/desktop/appearance/mod.rs index 609a084..aa28ea8 100644 --- a/cosmic-settings/src/pages/desktop/appearance/mod.rs +++ b/cosmic-settings/src/pages/desktop/appearance/mod.rs @@ -22,8 +22,7 @@ use cosmic::dialog::file_chooser::{self, FileFilter}; use cosmic::iced::Subscription; use cosmic::iced::core::{Alignment, Length}; use cosmic::widget::{ - button, color_picker::ColorPickerUpdate, container, list, row, settings, space::horizontal, - text, + button, color_picker::ColorPickerUpdate, container, row, settings, space::horizontal, text, }; use cosmic::{Apply, Element, Task, widget}; #[cfg(feature = "wayland")] diff --git a/cosmic-settings/src/pages/desktop/panel/inner.rs b/cosmic-settings/src/pages/desktop/panel/inner.rs index 74f0c10..77d2d9b 100644 --- a/cosmic-settings/src/pages/desktop/panel/inner.rs +++ b/cosmic-settings/src/pages/desktop/panel/inner.rs @@ -5,7 +5,7 @@ use cosmic::{ cosmic_theme::Density, iced::{Alignment, Length}, surface, - widget::{button, container, dropdown, list, row, settings, slider, space, text}, + widget::{button, container, dropdown, row, settings, slider, space, text}, }; use cosmic::Apply; @@ -290,7 +290,7 @@ pub(crate) fn configuration + PanelPage>( .find(|(_, v)| v.id == page.applets_page_id()) { settings.add(crate::widget::go_next_item( - &*descriptions[applets_label], + &descriptions[applets_label], crate::pages::Message::Page(panel_applets_entity), )) } else { diff --git a/cosmic-settings/src/pages/desktop/wallpaper/widgets.rs b/cosmic-settings/src/pages/desktop/wallpaper/widgets.rs index 8544dac..f9d2bcb 100644 --- a/cosmic-settings/src/pages/desktop/wallpaper/widgets.rs +++ b/cosmic-settings/src/pages/desktop/wallpaper/widgets.rs @@ -4,7 +4,7 @@ use super::Message; use cosmic::iced::Radius; use cosmic::iced::core::Border; -use cosmic::iced::core::{self, Background, Color, Degrees, Length, gradient::Linear}; +use cosmic::iced::core::{Background, Color, Degrees, Length, gradient::Linear}; use cosmic::iced::runtime::core::image::Handle as ImageHandle; use cosmic::prelude::*; use cosmic::widget::{Space, button, container}; diff --git a/cosmic-settings/src/pages/desktop/window_management.rs b/cosmic-settings/src/pages/desktop/window_management.rs index e5d5092..b93e0f8 100644 --- a/cosmic-settings/src/pages/desktop/window_management.rs +++ b/cosmic-settings/src/pages/desktop/window_management.rs @@ -3,7 +3,7 @@ use cosmic::{ Apply, Element, - iced::{Alignment, Length}, + iced::Length, surface, widget::{self, settings}, }; diff --git a/cosmic-settings/src/pages/desktop/workspaces.rs b/cosmic-settings/src/pages/desktop/workspaces.rs index 230ac7f..b179693 100644 --- a/cosmic-settings/src/pages/desktop/workspaces.rs +++ b/cosmic-settings/src/pages/desktop/workspaces.rs @@ -6,9 +6,8 @@ use cosmic::{ Apply, Element, cosmic_config::{self, ConfigGet, ConfigSet}, - iced::Length, surface, - widget::{self, settings, text}, + widget::{self, settings}, }; use cosmic_comp_config::workspace::{Action, WorkspaceConfig, WorkspaceLayout, WorkspaceMode}; use cosmic_settings_page::Section; diff --git a/cosmic-settings/src/pages/time/date.rs b/cosmic-settings/src/pages/time/date.rs index d2f83ff..16cc382 100644 --- a/cosmic-settings/src/pages/time/date.rs +++ b/cosmic-settings/src/pages/time/date.rs @@ -335,10 +335,11 @@ impl Page { for (id, timezone) in self.timezone_list.iter().enumerate() { if search_input.is_empty() || timezone.to_lowercase().contains(search_input) { - list = list.add( - list::button(selection_context_item(timezone, Some(id) == self.timezone)) - .on_press(Message::Timezone(id)), - ); + list = list.add(selection_context_item( + timezone, + Some(id) == self.timezone, + Message::Timezone(id), + )); } } @@ -471,7 +472,7 @@ fn timezone() -> Section { .title(§ion.title) // Time zone select .add(crate::widget::go_next_with_item( - &*section.descriptions[time_zone], + §ion.descriptions[time_zone], widget::text::body( page.timezone .map(|id| &*page.timezone_list[id]) diff --git a/cosmic-settings/src/pages/time/region.rs b/cosmic-settings/src/pages/time/region.rs index 86d4e8f..36128f7 100644 --- a/cosmic-settings/src/pages/time/region.rs +++ b/cosmic-settings/src/pages/time/region.rs @@ -375,17 +375,15 @@ impl Page { .as_ref() .is_some_and(|(_, locales)| locales.contains(&available_language.lang_code)); - list = list.add( - list::button(selection_context_item( - &available_language.display_name, - is_installed, - )) - .on_press(if is_installed { + list = list.add(selection_context_item( + &available_language.display_name, + is_installed, + if is_installed { Message::RemoveLanguage(id) } else { Message::AddLanguage(id) - }), - ) + }, + )) } } @@ -478,14 +476,15 @@ impl Page { .as_ref() .is_some_and(|l| l.lang_code == locale.lang_code); - list = list.add( - list::button(selection_context_item(&locale.region_name, is_selected)) - .on_press_maybe(if is_selected { - None - } else { - Some(Message::SelectRegion(id)) - }), - ) + list = list.add(selection_context_item( + &locale.region_name, + is_selected, + if is_selected { + None + } else { + Some(Message::SelectRegion(id)) + }, + )) } } diff --git a/cosmic-settings/src/widget/mod.rs b/cosmic-settings/src/widget/mod.rs index 80a5ca2..a5b8322 100644 --- a/cosmic-settings/src/widget/mod.rs +++ b/cosmic-settings/src/widget/mod.rs @@ -204,7 +204,7 @@ pub fn go_next_with_item<'a, Msg: 'static>( description: &'a str, item: impl Into>, msg_opt: impl Into>, -) -> list::ListButton<'_, Msg> { +) -> list::ListButton<'a, Msg> { settings::item_row(vec![ text::body(description).wrapping(Wrapping::Word).into(), horizontal().into(), @@ -217,13 +217,13 @@ pub fn go_next_with_item<'a, Msg: 'static>( ]) .apply(list::button) .on_press_maybe(msg_opt.into()) - .into() } pub fn selection_context_item<'a, Msg: 'static>( name: &'a str, selected: bool, -) -> cosmic::Element<'a, Msg> { + msg_opt: impl Into>, +) -> list::ListButton<'a, Msg> { let svg_accent = Rc::new(|theme: &cosmic::Theme| widget::svg::Style { color: Some(theme.cosmic().accent_text_color().into()), }); @@ -248,5 +248,6 @@ pub fn selection_context_item<'a, Msg: 'static>( horizontal().width(16.).into() }, ]) - .into() + .apply(list::button) + .on_press_maybe(msg_opt.into()) }