improv: disable flex layout for toggler and dropdown controls

Closes #372
This commit is contained in:
Michael Aaron Murphy 2024-07-11 10:01:37 +02:00
parent 26ab69c7ab
commit ab392fd7a0
No known key found for this signature in database
GPG key ID: B2732D4240C9212C
7 changed files with 37 additions and 37 deletions

34
Cargo.lock generated
View file

@ -1364,7 +1364,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-config" name = "cosmic-config"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#e04c9eaf6d66b4c3c1094163eb0ee31050f97656" source = "git+https://github.com/pop-os/libcosmic#76667418d8e97bfb7dc89cbca6c6e67dbf47e9ab"
dependencies = [ dependencies = [
"atomicwrites", "atomicwrites",
"calloop 0.14.0", "calloop 0.14.0",
@ -1387,7 +1387,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-config-derive" name = "cosmic-config-derive"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#e04c9eaf6d66b4c3c1094163eb0ee31050f97656" source = "git+https://github.com/pop-os/libcosmic#76667418d8e97bfb7dc89cbca6c6e67dbf47e9ab"
dependencies = [ dependencies = [
"quote", "quote",
"syn 1.0.109", "syn 1.0.109",
@ -1606,7 +1606,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-theme" name = "cosmic-theme"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#e04c9eaf6d66b4c3c1094163eb0ee31050f97656" source = "git+https://github.com/pop-os/libcosmic#76667418d8e97bfb7dc89cbca6c6e67dbf47e9ab"
dependencies = [ dependencies = [
"almost", "almost",
"cosmic-config", "cosmic-config",
@ -2898,7 +2898,7 @@ dependencies = [
[[package]] [[package]]
name = "iced" name = "iced"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#e04c9eaf6d66b4c3c1094163eb0ee31050f97656" source = "git+https://github.com/pop-os/libcosmic#76667418d8e97bfb7dc89cbca6c6e67dbf47e9ab"
dependencies = [ dependencies = [
"dnd", "dnd",
"iced_accessibility", "iced_accessibility",
@ -2917,7 +2917,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_accessibility" name = "iced_accessibility"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#e04c9eaf6d66b4c3c1094163eb0ee31050f97656" source = "git+https://github.com/pop-os/libcosmic#76667418d8e97bfb7dc89cbca6c6e67dbf47e9ab"
dependencies = [ dependencies = [
"accesskit", "accesskit",
"accesskit_unix", "accesskit_unix",
@ -2926,7 +2926,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_core" name = "iced_core"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#e04c9eaf6d66b4c3c1094163eb0ee31050f97656" source = "git+https://github.com/pop-os/libcosmic#76667418d8e97bfb7dc89cbca6c6e67dbf47e9ab"
dependencies = [ dependencies = [
"bitflags 2.6.0", "bitflags 2.6.0",
"dnd", "dnd",
@ -2948,7 +2948,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_futures" name = "iced_futures"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#e04c9eaf6d66b4c3c1094163eb0ee31050f97656" source = "git+https://github.com/pop-os/libcosmic#76667418d8e97bfb7dc89cbca6c6e67dbf47e9ab"
dependencies = [ dependencies = [
"futures", "futures",
"iced_core", "iced_core",
@ -2961,7 +2961,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_graphics" name = "iced_graphics"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#e04c9eaf6d66b4c3c1094163eb0ee31050f97656" source = "git+https://github.com/pop-os/libcosmic#76667418d8e97bfb7dc89cbca6c6e67dbf47e9ab"
dependencies = [ dependencies = [
"bitflags 2.6.0", "bitflags 2.6.0",
"bytemuck", "bytemuck",
@ -2985,7 +2985,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_renderer" name = "iced_renderer"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#e04c9eaf6d66b4c3c1094163eb0ee31050f97656" source = "git+https://github.com/pop-os/libcosmic#76667418d8e97bfb7dc89cbca6c6e67dbf47e9ab"
dependencies = [ dependencies = [
"iced_graphics", "iced_graphics",
"iced_tiny_skia", "iced_tiny_skia",
@ -2997,7 +2997,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_runtime" name = "iced_runtime"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#e04c9eaf6d66b4c3c1094163eb0ee31050f97656" source = "git+https://github.com/pop-os/libcosmic#76667418d8e97bfb7dc89cbca6c6e67dbf47e9ab"
dependencies = [ dependencies = [
"dnd", "dnd",
"iced_accessibility", "iced_accessibility",
@ -3011,7 +3011,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_sctk" name = "iced_sctk"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#e04c9eaf6d66b4c3c1094163eb0ee31050f97656" source = "git+https://github.com/pop-os/libcosmic#76667418d8e97bfb7dc89cbca6c6e67dbf47e9ab"
dependencies = [ dependencies = [
"enum-repr", "enum-repr",
"float-cmp", "float-cmp",
@ -3037,7 +3037,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_style" name = "iced_style"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#e04c9eaf6d66b4c3c1094163eb0ee31050f97656" source = "git+https://github.com/pop-os/libcosmic#76667418d8e97bfb7dc89cbca6c6e67dbf47e9ab"
dependencies = [ dependencies = [
"iced_core", "iced_core",
"once_cell", "once_cell",
@ -3047,7 +3047,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_tiny_skia" name = "iced_tiny_skia"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#e04c9eaf6d66b4c3c1094163eb0ee31050f97656" source = "git+https://github.com/pop-os/libcosmic#76667418d8e97bfb7dc89cbca6c6e67dbf47e9ab"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"cosmic-text", "cosmic-text",
@ -3064,7 +3064,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_wgpu" name = "iced_wgpu"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#e04c9eaf6d66b4c3c1094163eb0ee31050f97656" source = "git+https://github.com/pop-os/libcosmic#76667418d8e97bfb7dc89cbca6c6e67dbf47e9ab"
dependencies = [ dependencies = [
"bitflags 2.6.0", "bitflags 2.6.0",
"bytemuck", "bytemuck",
@ -3090,7 +3090,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_widget" name = "iced_widget"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#e04c9eaf6d66b4c3c1094163eb0ee31050f97656" source = "git+https://github.com/pop-os/libcosmic#76667418d8e97bfb7dc89cbca6c6e67dbf47e9ab"
dependencies = [ dependencies = [
"dnd", "dnd",
"iced_renderer", "iced_renderer",
@ -3107,7 +3107,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_winit" name = "iced_winit"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#e04c9eaf6d66b4c3c1094163eb0ee31050f97656" source = "git+https://github.com/pop-os/libcosmic#76667418d8e97bfb7dc89cbca6c6e67dbf47e9ab"
dependencies = [ dependencies = [
"dnd", "dnd",
"iced_graphics", "iced_graphics",
@ -3625,7 +3625,7 @@ checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
[[package]] [[package]]
name = "libcosmic" name = "libcosmic"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#e04c9eaf6d66b4c3c1094163eb0ee31050f97656" source = "git+https://github.com/pop-os/libcosmic#76667418d8e97bfb7dc89cbca6c6e67dbf47e9ab"
dependencies = [ dependencies = [
"apply", "apply",
"ashpd", "ashpd",

View file

@ -155,7 +155,7 @@ pub(crate) fn enable() -> Section<crate::pages::Message> {
return Element::from(text(fl!("unknown"))); return Element::from(text(fl!("unknown")));
}; };
settings::view_section(&section.title) settings::view_section(&section.title)
.add(settings::flex_item( .add(settings::item(
&descriptions[dock], &descriptions[dock],
toggler( toggler(
None, None,

View file

@ -125,7 +125,7 @@ pub fn window_controls() -> Section<crate::pages::Message> {
let descriptions = &section.descriptions; let descriptions = &section.descriptions;
settings::view_section(&section.title) settings::view_section(&section.title)
.add(settings::flex_item( .add(settings::item(
&descriptions[minimize], &descriptions[minimize],
toggler( toggler(
None, None,
@ -133,7 +133,7 @@ pub fn window_controls() -> Section<crate::pages::Message> {
super::Message::ShowMinimizeButton, super::Message::ShowMinimizeButton,
), ),
)) ))
.add(settings::flex_item( .add(settings::item(
&descriptions[maximize], &descriptions[maximize],
toggler( toggler(
None, None,

View file

@ -110,13 +110,13 @@ pub(crate) fn behavior_and_position<
return Element::from(text(fl!("unknown"))); return Element::from(text(fl!("unknown")));
}; };
settings::view_section(&section.title) settings::view_section(&section.title)
.add(settings::flex_item( .add(settings::item(
&descriptions[autohide_label], &descriptions[autohide_label],
toggler(None, panel_config.autohide.is_some(), |value| { toggler(None, panel_config.autohide.is_some(), |value| {
Message::AutoHidePanel(value) Message::AutoHidePanel(value)
}), }),
)) ))
.add(settings::flex_item( .add(settings::item(
&descriptions[position], &descriptions[position],
dropdown( dropdown(
page.anchors.as_slice(), page.anchors.as_slice(),
@ -124,7 +124,7 @@ pub(crate) fn behavior_and_position<
Message::PanelAnchor, Message::PanelAnchor,
), ),
)) ))
.add(settings::flex_item( .add(settings::item(
&descriptions[display], &descriptions[display],
dropdown( dropdown(
page.outputs.as_slice(), page.outputs.as_slice(),
@ -166,19 +166,19 @@ pub(crate) fn style<
return Element::from(text(fl!("unknown"))); return Element::from(text(fl!("unknown")));
}; };
settings::view_section(&section.title) settings::view_section(&section.title)
.add(settings::flex_item( .add(settings::item(
&descriptions[gap_label], &descriptions[gap_label],
toggler(None, panel_config.anchor_gap, |value| { toggler(None, panel_config.anchor_gap, |value| {
Message::AnchorGap(value) Message::AnchorGap(value)
}), }),
)) ))
.add(settings::flex_item( .add(settings::item(
&descriptions[extend_label], &descriptions[extend_label],
toggler(None, panel_config.expand_to_edges, |value| { toggler(None, panel_config.expand_to_edges, |value| {
Message::ExtendToEdge(value) Message::ExtendToEdge(value)
}), }),
)) ))
.add(settings::flex_item( .add(settings::item(
&descriptions[appearance], &descriptions[appearance],
dropdown( dropdown(
inner.backgrounds.as_slice(), inner.backgrounds.as_slice(),

View file

@ -1223,7 +1223,7 @@ pub fn settings() -> Section<crate::pages::Message> {
children.push({ children.push({
let mut column = list_column() let mut column = list_column()
.add(settings::flex_item( .add(settings::item(
&descriptions[same_label], &descriptions[same_label],
toggler( toggler(
None, None,
@ -1231,10 +1231,10 @@ pub fn settings() -> Section<crate::pages::Message> {
Message::SameWallpaper, Message::SameWallpaper,
), ),
)) ))
.add(settings::flex_item(&descriptions[fit_label], wallpaper_fit)); .add(settings::item(&descriptions[fit_label], wallpaper_fit));
if show_slideshow_toggle { if show_slideshow_toggle {
column = column.add(settings::flex_item( column = column.add(settings::item(
&descriptions[slide_label], &descriptions[slide_label],
toggler(None, slideshow_enabled, Message::Slideshow), toggler(None, slideshow_enabled, Message::Slideshow),
)); ));
@ -1243,7 +1243,7 @@ pub fn settings() -> Section<crate::pages::Message> {
// The rotation frequency dropdown should only be shown when the slideshow is enabled. // The rotation frequency dropdown should only be shown when the slideshow is enabled.
if slideshow_enabled { if slideshow_enabled {
column column
.add(settings::flex_item( .add(settings::item(
&descriptions[change_label], &descriptions[change_label],
dropdown( dropdown(
&page.rotation_options, &page.rotation_options,

View file

@ -1001,7 +1001,7 @@ pub fn display_configuration() -> Section<crate::pages::Message> {
let display_options = (page.show_display_options && active_output.enabled).then(|| { let display_options = (page.show_display_options && active_output.enabled).then(|| {
list_column() list_column()
.add(widget::settings::flex_item( .add(widget::settings::item(
&descriptions[resolution], &descriptions[resolution],
dropdown( dropdown(
&page.cache.resolutions, &page.cache.resolutions,
@ -1009,7 +1009,7 @@ pub fn display_configuration() -> Section<crate::pages::Message> {
Message::Resolution, Message::Resolution,
), ),
)) ))
.add(widget::settings::flex_item( .add(widget::settings::item(
&descriptions[refresh_rate], &descriptions[refresh_rate],
dropdown( dropdown(
&page.cache.refresh_rates, &page.cache.refresh_rates,
@ -1017,7 +1017,7 @@ pub fn display_configuration() -> Section<crate::pages::Message> {
Message::RefreshRate, Message::RefreshRate,
), ),
)) ))
.add(widget::settings::flex_item( .add(widget::settings::item(
&descriptions[scale], &descriptions[scale],
dropdown( dropdown(
&["50%", "75%", "100%", "125%", "150%", "175%", "200%"], &["50%", "75%", "100%", "125%", "150%", "175%", "200%"],
@ -1025,7 +1025,7 @@ pub fn display_configuration() -> Section<crate::pages::Message> {
Message::Scale, Message::Scale,
), ),
)) ))
.add(widget::settings::flex_item( .add(widget::settings::item(
&descriptions[orientation], &descriptions[orientation],
dropdown( dropdown(
&page.cache.orientations, &page.cache.orientations,
@ -1060,11 +1060,11 @@ pub fn display_configuration() -> Section<crate::pages::Message> {
|| !active_output.enabled) || !active_output.enabled)
.then(|| { .then(|| {
list_column() list_column()
.add(widget::settings::flex_item( .add(widget::settings::item(
&descriptions[enable_label], &descriptions[enable_label],
toggler(None, active_output.enabled, Message::DisplayToggle), toggler(None, active_output.enabled, Message::DisplayToggle),
)) ))
.add(widget::settings::flex_item( .add(widget::settings::item(
&descriptions[mirroring_label], &descriptions[mirroring_label],
widget::dropdown::multi::dropdown( widget::dropdown::multi::dropdown(
&page.mirror_menu, &page.mirror_menu,

View file

@ -152,7 +152,7 @@ fn format() -> Section<crate::pages::Message> {
) )
// First day of week // First day of week
.add( .add(
settings::item::builder(&section.descriptions[first]).flex_control(dropdown( settings::item::builder(&section.descriptions[first]).control(dropdown(
&*WEEKDAYS, &*WEEKDAYS,
match page.first_day_of_week { match page.first_day_of_week {
4 => Some(0), // friday 4 => Some(0), // friday