feat: responsive controls and standard button fixes

This commit is contained in:
Michael Aaron Murphy 2024-05-30 17:15:48 +02:00
parent c101089aea
commit cd5a8a701a
No known key found for this signature in database
GPG key ID: B2732D4240C9212C
15 changed files with 146 additions and 149 deletions

145
Cargo.lock generated
View file

@ -277,7 +277,7 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "258b52a1aa741b9f09783b2d86cf0aeeb617bbf847f6933340a39644227acbdb"
dependencies = [
"event-listener 5.3.0",
"event-listener 5.3.1",
"event-listener-strategy 0.5.2",
"futures-core",
"pin-project-lite",
@ -440,7 +440,7 @@ dependencies = [
"async-task",
"blocking",
"cfg-if",
"event-listener 5.3.0",
"event-listener 5.3.1",
"futures-lite 2.3.0",
"rustix 0.38.34",
"tracing",
@ -775,9 +775,9 @@ dependencies = [
[[package]]
name = "bytemuck_derive"
version = "1.6.1"
version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "369cfaf2a5bed5d8f8202073b2e093c9f508251de1551a0deb4253e4c7d80909"
checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b"
dependencies = [
"proc-macro2",
"quote",
@ -804,9 +804,9 @@ checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
[[package]]
name = "calendrical_calculations"
version = "0.1.0"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8dfe3bc6a50b4667fafdb6d9cf26731c5418c457e317d8166c972014facf9a5d"
checksum = "cec493b209a1b81fa32312d7ceca1b547d341c7b5f16a3edbf32b1d8b455bbdf"
dependencies = [
"core_maths",
"displaydoc",
@ -1231,7 +1231,7 @@ dependencies = [
[[package]]
name = "cosmic-comp-config"
version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-comp#4b9cc43924725384cdaeba0c9c88d8ef3904095b"
source = "git+https://github.com/pop-os/cosmic-comp#743b5ad4a7c99fe29112e8d8a1e72a77985f86d4"
dependencies = [
"cosmic-config",
"input",
@ -1241,7 +1241,7 @@ dependencies = [
[[package]]
name = "cosmic-config"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#d559403f7fb01b8d7da1803a27fa18b43df37a92"
source = "git+https://github.com/pop-os/libcosmic#bd48ad0fb54c632915aeaf83e80d4f7a5b327fd4"
dependencies = [
"atomicwrites",
"calloop",
@ -1264,7 +1264,7 @@ dependencies = [
[[package]]
name = "cosmic-config-derive"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#d559403f7fb01b8d7da1803a27fa18b43df37a92"
source = "git+https://github.com/pop-os/libcosmic#bd48ad0fb54c632915aeaf83e80d4f7a5b327fd4"
dependencies = [
"quote",
"syn 1.0.109",
@ -1466,7 +1466,7 @@ dependencies = [
[[package]]
name = "cosmic-theme"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#d559403f7fb01b8d7da1803a27fa18b43df37a92"
source = "git+https://github.com/pop-os/libcosmic#bd48ad0fb54c632915aeaf83e80d4f7a5b327fd4"
dependencies = [
"almost",
"cosmic-config",
@ -1931,9 +1931,9 @@ dependencies = [
[[package]]
name = "event-listener"
version = "5.3.0"
version = "5.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24"
checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba"
dependencies = [
"concurrent-queue",
"parking",
@ -1956,7 +1956,7 @@ version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1"
dependencies = [
"event-listener 5.3.0",
"event-listener 5.3.1",
"pin-project-lite",
]
@ -2123,9 +2123,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "font-types"
version = "0.5.3"
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bdf6aa1de86490d8e39e04589bd04eb5953cc2a5ef0c25e389e807f44fd24e41"
checksum = "34fd7136aca682873d859ef34494ab1a7d3f57ecd485ed40eb6437ee8c85aa29"
dependencies = [
"bytemuck",
]
@ -2763,7 +2763,7 @@ dependencies = [
[[package]]
name = "iced"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#d559403f7fb01b8d7da1803a27fa18b43df37a92"
source = "git+https://github.com/pop-os/libcosmic#bd48ad0fb54c632915aeaf83e80d4f7a5b327fd4"
dependencies = [
"dnd",
"iced_accessibility",
@ -2781,7 +2781,7 @@ dependencies = [
[[package]]
name = "iced_accessibility"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#d559403f7fb01b8d7da1803a27fa18b43df37a92"
source = "git+https://github.com/pop-os/libcosmic#bd48ad0fb54c632915aeaf83e80d4f7a5b327fd4"
dependencies = [
"accesskit",
"accesskit_unix",
@ -2790,7 +2790,7 @@ dependencies = [
[[package]]
name = "iced_core"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#d559403f7fb01b8d7da1803a27fa18b43df37a92"
source = "git+https://github.com/pop-os/libcosmic#bd48ad0fb54c632915aeaf83e80d4f7a5b327fd4"
dependencies = [
"bitflags 2.5.0",
"dnd",
@ -2812,7 +2812,7 @@ dependencies = [
[[package]]
name = "iced_futures"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#d559403f7fb01b8d7da1803a27fa18b43df37a92"
source = "git+https://github.com/pop-os/libcosmic#bd48ad0fb54c632915aeaf83e80d4f7a5b327fd4"
dependencies = [
"futures",
"iced_core",
@ -2825,7 +2825,7 @@ dependencies = [
[[package]]
name = "iced_graphics"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#d559403f7fb01b8d7da1803a27fa18b43df37a92"
source = "git+https://github.com/pop-os/libcosmic#bd48ad0fb54c632915aeaf83e80d4f7a5b327fd4"
dependencies = [
"bitflags 2.5.0",
"bytemuck",
@ -2849,7 +2849,7 @@ dependencies = [
[[package]]
name = "iced_renderer"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#d559403f7fb01b8d7da1803a27fa18b43df37a92"
source = "git+https://github.com/pop-os/libcosmic#bd48ad0fb54c632915aeaf83e80d4f7a5b327fd4"
dependencies = [
"iced_graphics",
"iced_tiny_skia",
@ -2861,7 +2861,7 @@ dependencies = [
[[package]]
name = "iced_runtime"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#d559403f7fb01b8d7da1803a27fa18b43df37a92"
source = "git+https://github.com/pop-os/libcosmic#bd48ad0fb54c632915aeaf83e80d4f7a5b327fd4"
dependencies = [
"dnd",
"iced_accessibility",
@ -2875,7 +2875,7 @@ dependencies = [
[[package]]
name = "iced_sctk"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#d559403f7fb01b8d7da1803a27fa18b43df37a92"
source = "git+https://github.com/pop-os/libcosmic#bd48ad0fb54c632915aeaf83e80d4f7a5b327fd4"
dependencies = [
"enum-repr",
"float-cmp",
@ -2901,7 +2901,7 @@ dependencies = [
[[package]]
name = "iced_style"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#d559403f7fb01b8d7da1803a27fa18b43df37a92"
source = "git+https://github.com/pop-os/libcosmic#bd48ad0fb54c632915aeaf83e80d4f7a5b327fd4"
dependencies = [
"iced_core",
"once_cell",
@ -2911,7 +2911,7 @@ dependencies = [
[[package]]
name = "iced_tiny_skia"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#d559403f7fb01b8d7da1803a27fa18b43df37a92"
source = "git+https://github.com/pop-os/libcosmic#bd48ad0fb54c632915aeaf83e80d4f7a5b327fd4"
dependencies = [
"bytemuck",
"cosmic-text",
@ -2928,7 +2928,7 @@ dependencies = [
[[package]]
name = "iced_wgpu"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#d559403f7fb01b8d7da1803a27fa18b43df37a92"
source = "git+https://github.com/pop-os/libcosmic#bd48ad0fb54c632915aeaf83e80d4f7a5b327fd4"
dependencies = [
"bitflags 2.5.0",
"bytemuck",
@ -2954,7 +2954,7 @@ dependencies = [
[[package]]
name = "iced_widget"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#d559403f7fb01b8d7da1803a27fa18b43df37a92"
source = "git+https://github.com/pop-os/libcosmic#bd48ad0fb54c632915aeaf83e80d4f7a5b327fd4"
dependencies = [
"dnd",
"iced_renderer",
@ -2970,9 +2970,9 @@ dependencies = [
[[package]]
name = "icu_calendar"
version = "1.4.0"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7eb932a690c92f87955e923106181ee0d5682e688ff37fb5c7b296e1fe806edb"
checksum = "4231cddf3dcbfc21e04bb52768f18e11a077d2935774eabdf7b239bb83bf3882"
dependencies = [
"calendrical_calculations",
"displaydoc",
@ -2987,15 +2987,15 @@ dependencies = [
[[package]]
name = "icu_calendar_data"
version = "1.4.0"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22aec7d032735d9acb256eeef72adcac43c3b7572f19b51576a63d664b524ca2"
checksum = "8e009b7f0151ee6fb28c40b1283594397e0b7183820793e9ace3dcd13db126d0"
[[package]]
name = "icu_locid"
version = "1.4.0"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c0aa2536adc14c07e2a521e95512b75ed8ef832f0fdf9299d4a0a45d2be2a9d"
checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
dependencies = [
"displaydoc",
"litemap",
@ -3006,9 +3006,9 @@ dependencies = [
[[package]]
name = "icu_locid_transform"
version = "1.4.0"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57c17d8f6524fdca4471101dd71f0a132eb6382b5d6d7f2970441cb25f6f435a"
checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
dependencies = [
"displaydoc",
"icu_locid",
@ -3020,15 +3020,15 @@ dependencies = [
[[package]]
name = "icu_locid_transform_data"
version = "1.4.0"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "545c6c3e8bf9580e2dafee8de6f9ec14826aaf359787789c7724f1f85f47d3dc"
checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e"
[[package]]
name = "icu_provider"
version = "1.4.0"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba58e782287eb6950247abbf11719f83f5d4e4a5c1f2cd490d30a334bc47c2f4"
checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
dependencies = [
"displaydoc",
"icu_locid",
@ -3043,9 +3043,9 @@ dependencies = [
[[package]]
name = "icu_provider_macros"
version = "1.4.0"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2abdd3a62551e8337af119c5899e600ca0c88ec8f23a46c60ba216c803dcf1a"
checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
dependencies = [
"proc-macro2",
"quote",
@ -3054,13 +3054,12 @@ dependencies = [
[[package]]
name = "icu_timezone"
version = "1.4.0"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b35aabe571a7c653c0f543ff1512b8a1b2ad481cfa24b3d25115298d2ff3b50f"
checksum = "aa91ba6a585939a020c787235daa8aee856d9bceebd6355e283c0c310bc6de96"
dependencies = [
"displaydoc",
"icu_calendar",
"icu_locid",
"icu_provider",
"icu_timezone_data",
"tinystr",
@ -3070,9 +3069,9 @@ dependencies = [
[[package]]
name = "icu_timezone_data"
version = "1.4.0"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ceee21e181cce2ab44e95923da6b3418df75369f570df82264c29c51ca398d4"
checksum = "c588878c508a3e2ace333b3c50296053e6483c6a7541251b546cc59dcd6ced8e"
[[package]]
name = "ident_case"
@ -3427,7 +3426,7 @@ checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
[[package]]
name = "libcosmic"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#d559403f7fb01b8d7da1803a27fa18b43df37a92"
source = "git+https://github.com/pop-os/libcosmic#bd48ad0fb54c632915aeaf83e80d4f7a5b327fd4"
dependencies = [
"apply",
"ashpd",
@ -3542,9 +3541,9 @@ checksum = "f0b5399f6804fbab912acbd8878ed3532d506b7c951b8f9f164ef90fef39e3f4"
[[package]]
name = "litemap"
version = "0.7.2"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9d642685b028806386b2b6e75685faadd3eb65a85fff7df711ce18446a422da"
checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704"
[[package]]
name = "locale_config"
@ -4610,9 +4609,9 @@ checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f"
[[package]]
name = "read-fonts"
version = "0.19.1"
version = "0.19.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af4749db2bd1c853db31a7ae5ee2fc6c30bbddce353ea8fedf673fed187c68c7"
checksum = "e8b8af39d1f23869711ad4cea5e7835a20daa987f80232f7f2a2374d648ca64d"
dependencies = [
"bytemuck",
"font-types",
@ -5602,9 +5601,9 @@ dependencies = [
[[package]]
name = "tinystr"
version = "0.7.5"
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83c02bf3c538ab32ba913408224323915f4ef9a6d61c0e85d493f355921c0ece"
checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"
dependencies = [
"displaydoc",
"zerovec",
@ -5717,7 +5716,7 @@ dependencies = [
"serde",
"serde_spanned",
"toml_datetime",
"winnow 0.6.8",
"winnow 0.6.9",
]
[[package]]
@ -6657,18 +6656,18 @@ dependencies = [
[[package]]
name = "winnow"
version = "0.6.8"
version = "0.6.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d"
checksum = "86c949fede1d13936a99f14fafd3e76fd642b556dd2ce96287fbe2e0151bfac6"
dependencies = [
"memchr",
]
[[package]]
name = "writeable"
version = "0.5.4"
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dad7bb64b8ef9c0aa27b6da38b452b0ee9fd82beaf276a87dd796fb55cbae14e"
checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
[[package]]
name = "wyz"
@ -6800,9 +6799,9 @@ checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1"
[[package]]
name = "yoke"
version = "0.7.3"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "65e71b2e4f287f467794c671e2b8f8a5f3716b3c829079a1c44740148eff07e4"
checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5"
dependencies = [
"serde",
"stable_deref_trait",
@ -6812,9 +6811,9 @@ dependencies = [
[[package]]
name = "yoke-derive"
version = "0.7.3"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e6936f0cce458098a201c245a11bef556c6a0181129c7034d10d76d1ec3a2b8"
checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95"
dependencies = [
"proc-macro2",
"quote",
@ -6881,7 +6880,7 @@ dependencies = [
"async-trait",
"blocking",
"enumflags2",
"event-listener 5.3.0",
"event-listener 5.3.1",
"futures-core",
"futures-sink",
"futures-util",
@ -6980,18 +6979,18 @@ dependencies = [
[[package]]
name = "zerofrom"
version = "0.1.3"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "655b0814c5c0b19ade497851070c640773304939a6c0fd5f5fb43da0696d05b7"
checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55"
dependencies = [
"zerofrom-derive",
]
[[package]]
name = "zerofrom-derive"
version = "0.1.3"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6a647510471d372f2e6c2e6b7219e44d8c574d24fdc11c610a61455782f18c3"
checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5"
dependencies = [
"proc-macro2",
"quote",
@ -7001,9 +7000,9 @@ dependencies = [
[[package]]
name = "zerotrie"
version = "0.1.2"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d0594125a0574fb93059c92c588ab209cc036a23d1baeb3410fa9181bea551a0"
checksum = "fb594dd55d87335c5f60177cee24f19457a5ec10a065e0a3014722ad252d0a1f"
dependencies = [
"displaydoc",
"yoke",
@ -7012,9 +7011,9 @@ dependencies = [
[[package]]
name = "zerovec"
version = "0.10.1"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eff4439ae91fb5c72b8abc12f3f2dbf51bd27e6eadb9f8a5bc8898dddb0e27ea"
checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c"
dependencies = [
"yoke",
"zerofrom",
@ -7023,9 +7022,9 @@ dependencies = [
[[package]]
name = "zerovec-derive"
version = "0.10.1"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b4e5997cbf58990550ef1f0e5124a05e47e1ebd33a84af25739be6031a62c20"
checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7"
dependencies = [
"proc-macro2",
"quote",

View file

@ -45,9 +45,6 @@ cosmic-protocols = { git = "https://github.com/pop-os/cosmic-protocols//", rev =
# For development and testing purposes
# [patch.'https://github.com/pop-os/libcosmic']
# libcosmic = { git = "https://github.com/pop-os/libcosmic//", branch = "zbus-4" }
# cosmic-config = { git = "https://github.com/pop-os/libcosmic//", branch = "zbus-4" }
# cosmic-theme = { git = "https://github.com/pop-os/libcosmic//", branch = "zbus-4" }
# libcosmic = { path = "../libcosmic" }
# cosmic-config = { path = "../libcosmic/cosmic-config" }
# cosmic-theme = { path = "../libcosmic/cosmic-theme" }

View file

@ -1050,19 +1050,10 @@ impl page::Page<crate::pages::Message> for Page {
}
fn header_view(&self) -> Option<Element<'_, crate::pages::Message>> {
let spacing = self.theme_builder.spacing;
let content = row::with_capacity(2)
.spacing(self.theme_builder.spacing.space_xxs)
.push(
button(text(fl!("import")))
.on_press(Message::StartImport)
.padding([spacing.space_xxs, spacing.space_xs]),
)
.push(
button(text(fl!("export")))
.on_press(Message::StartExport)
.padding([spacing.space_xxs, spacing.space_xs]),
)
.push(button::standard(fl!("import")).on_press(Message::StartImport))
.push(button::standard(fl!("export")).on_press(Message::StartExport))
.apply(container)
.width(Length::Fill)
.align_x(alignment::Horizontal::Right)
@ -1560,10 +1551,10 @@ pub fn reset_button() -> Section<crate::pages::Message> {
let spacing = &page.theme_builder.spacing;
let descriptions = &section.descriptions;
if page.can_reset {
cosmic::iced::widget::row![button(text(&*descriptions[0]))
button::standard(&*descriptions[0])
.on_press(Message::Reset)
.padding([spacing.space_xxs, spacing.space_xs])]
.apply(Element::from)
.padding([spacing.space_xxs, spacing.space_xs])
.into()
} else {
horizontal_space(1).apply(Element::from)
}

View file

@ -89,9 +89,8 @@ impl page::Page<crate::pages::Message> for Page {
let content = row::with_capacity(2)
.spacing(spacing.space_xxs)
.push(
button(text(fl!("add-applet")))
.on_press(Message(applets_inner::Message::AddAppletDrawer))
.padding([spacing.space_xxs, spacing.space_xs]),
button::standard(fl!("add-applet"))
.on_press(Message(applets_inner::Message::AddAppletDrawer)),
)
.apply(container)
.width(Length::Fill)

View file

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

View file

@ -85,7 +85,7 @@ pub fn window_controls() -> Section<crate::pages::Message> {
let descriptions = &section.descriptions;
settings::view_section(&section.title)
.add(settings::item(
.add(settings::flex_item(
&*descriptions[0],
toggler(
None,
@ -93,7 +93,7 @@ pub fn window_controls() -> Section<crate::pages::Message> {
Message::ShowMinimizeButton,
),
))
.add(settings::item(
.add(settings::flex_item(
&*descriptions[1],
toggler(
None,

View file

@ -133,11 +133,7 @@ impl page::Page<crate::pages::Message> for Page {
let spacing = theme.cosmic().spacing;
let content = row::with_capacity(2)
.spacing(spacing.space_xxs)
.push(
button(text(fl!("add-applet")))
.on_press(Message::AddAppletDrawer)
.padding([spacing.space_xxs, spacing.space_xs]),
)
.push(button::standard(fl!("add-applet")).on_press(Message::AddAppletDrawer))
.apply(container)
.width(Length::Fill)
.align_x(alignment::Horizontal::Right)

View file

@ -107,13 +107,13 @@ pub(crate) fn behavior_and_position<
return Element::from(text(fl!("unknown")));
};
settings::view_section(&section.title)
.add(settings::item(
.add(settings::flex_item(
&*descriptions[0],
toggler(None, panel_config.autohide.is_some(), |value| {
Message::AutoHidePanel(value)
}),
))
.add(settings::item(
.add(settings::flex_item(
&*descriptions[1],
dropdown(
page.anchors.as_slice(),
@ -121,7 +121,7 @@ pub(crate) fn behavior_and_position<
Message::PanelAnchor,
),
))
.add(settings::item(
.add(settings::flex_item(
&*descriptions[2],
dropdown(
page.outputs.as_slice(),
@ -161,19 +161,19 @@ pub(crate) fn style<
return Element::from(text(fl!("unknown")));
};
settings::view_section(&section.title)
.add(settings::item(
.add(settings::flex_item(
&*descriptions[0],
toggler(None, panel_config.anchor_gap, |value| {
Message::AnchorGap(value)
}),
))
.add(settings::item(
.add(settings::flex_item(
&*descriptions[1],
toggler(None, panel_config.expand_to_edges, |value| {
Message::ExtendToEdge(value)
}),
))
.add(settings::item(
.add(settings::flex_item(
&*descriptions[2],
dropdown(
inner.backgrounds.as_slice(),
@ -186,7 +186,7 @@ pub(crate) fn style<
Message::Appearance,
),
))
.add(settings::item(
.add(settings::flex_item(
&*descriptions[3],
// TODO custom discrete slider variant
row::with_children(vec![
@ -219,7 +219,7 @@ pub(crate) fn style<
])
.spacing(12),
))
.add(settings::item(
.add(settings::flex_item(
&*descriptions[4],
row::with_children(vec![
text(fl!("number", HashMap::from_iter(vec![("number", 0)]))).into(),
@ -286,7 +286,8 @@ pub(crate) fn add_panel<
.descriptions(vec![fl!("reset-to-default").into()])
.view::<P>(move |_binder, _page, section| {
let descriptions = &section.descriptions;
cosmic::iced::widget::row![button(text(&*descriptions[0])).on_press(Message::FullReset)]
button::standard(&*descriptions[0])
.on_press(Message::FullReset)
.apply(Element::from)
.map(msg_map)
})
@ -305,12 +306,11 @@ pub fn reset_button<
let descriptions = &section.descriptions;
let inner = page.inner();
if inner.system_default == inner.panel_config {
horizontal_space(1).apply(Element::from)
Element::from(horizontal_space(1))
} else {
cosmic::iced::widget::row![
button(text(&*descriptions[0])).on_press(Message::ResetPanel)
]
.apply(Element::from)
button::standard(&*descriptions[0])
.on_press(Message::ResetPanel)
.into()
}
.map(msg_map)
})

View file

@ -1221,7 +1221,7 @@ pub fn settings() -> Section<crate::pages::Message> {
children.push({
let mut column = list_column()
.add(settings::item(
.add(settings::flex_item(
&*WALLPAPER_SAME,
toggler(
None,
@ -1229,10 +1229,10 @@ pub fn settings() -> Section<crate::pages::Message> {
Message::SameWallpaper,
),
))
.add(settings::item(&*WALLPAPER_FIT, wallpaper_fit));
.add(settings::flex_item(&*WALLPAPER_FIT, wallpaper_fit));
if show_slideshow_toggle {
column = column.add(settings::item(
column = column.add(settings::flex_item(
&*WALLPAPER_SLIDE,
toggler(None, slideshow_enabled, Message::Slideshow),
));
@ -1241,7 +1241,7 @@ pub fn settings() -> Section<crate::pages::Message> {
// The rotation frequency dropdown should only be shown when the slideshow is enabled.
if slideshow_enabled {
column
.add(settings::item(
.add(settings::flex_item(
&*WALLPAPER_CHANGE,
dropdown(
&page.rotation_options,

View file

@ -421,7 +421,7 @@ impl Page {
let display_options = active_output.enabled.then(|| {
list_column()
.add(cosmic::widget::settings::item(
.add(cosmic::widget::settings::flex_item(
&*text::DISPLAY_RESOLUTION,
dropdown(
&self.cache.resolutions,
@ -429,7 +429,7 @@ impl Page {
Message::Resolution,
),
))
.add(cosmic::widget::settings::item(
.add(cosmic::widget::settings::flex_item(
&*text::DISPLAY_REFRESH_RATE,
dropdown(
&self.cache.refresh_rates,
@ -437,7 +437,7 @@ impl Page {
Message::RefreshRate,
),
))
.add(cosmic::widget::settings::item(
.add(cosmic::widget::settings::flex_item(
&*text::DISPLAY_SCALE,
dropdown(
&["50%", "75%", "100%", "125%", "150%", "175%", "200%"],
@ -445,7 +445,7 @@ impl Page {
Message::Scale,
),
))
.add(cosmic::widget::settings::item(
.add(cosmic::widget::settings::flex_item(
&*text::ORIENTATION,
dropdown(
&self.cache.orientations,
@ -479,7 +479,7 @@ impl Page {
> 1
|| !active_output.enabled)
.then(|| {
list_column().add(cosmic::widget::settings::item(
list_column().add(cosmic::widget::settings::flex_item(
&*text::DISPLAY_ENABLE,
toggler(None, active_output.enabled, Message::DisplayToggle),
))

View file

@ -216,7 +216,7 @@ fn input_source(
) -> cosmic::Element<Message> {
let expanded = expanded_source_popover.is_some_and(|expanded_id| expanded_id == id);
settings::item(description, popover_button(id, expanded)).into()
settings::flex_item(description, popover_button(id, expanded)).into()
}
pub mod shortcuts;
@ -267,7 +267,7 @@ impl page::Page<crate::pages::Message> for Page {
fn on_enter(
&mut self,
_page: page::Entity,
sender: tokio::sync::mpsc::Sender<crate::pages::Message>,
_sender: tokio::sync::mpsc::Sender<crate::pages::Message>,
) -> Command<crate::pages::Message> {
self.xkb = super::get_config(&self.config, "xkb_config");
match xkb_data::keyboard_layouts() {
@ -657,7 +657,7 @@ fn keyboard_typing_assist() -> Section<crate::pages::Message> {
let theme = cosmic::theme::active();
settings::view_section(&section.title)
.add(settings::item(&*descriptions[0], {
.add(settings::flex_item(&*descriptions[0], {
// Delay
let delay_slider = cosmic::widget::slider(
KB_REPEAT_DELAY_MIN..=KB_REPEAT_DELAY_MAX,
@ -675,7 +675,7 @@ fn keyboard_typing_assist() -> Section<crate::pages::Message> {
.push(delay_slider)
.push(&*descriptions[3])
}))
.add(settings::item(&*descriptions[1], {
.add(settings::flex_item(&*descriptions[1], {
// Repeat rate
let rate_slider = cosmic::widget::slider(
KB_REPEAT_RATE_MIN..=KB_REPEAT_RATE_MAX,

View file

@ -55,13 +55,13 @@ fn mouse() -> Section<crate::pages::Message> {
let theme = cosmic::theme::active();
settings::view_section(&section.title)
.add(settings::item(
.add(settings::flex_item(
&*super::PRIMARY_BUTTON,
cosmic::widget::segmented_control::horizontal(&input.primary_button)
.minimum_button_width(0)
.on_activate(|x| Message::PrimaryButtonSelected(x, false)),
))
.add(settings::item::builder(&*MOUSE_SPEED).control({
.add(settings::item::builder(&*MOUSE_SPEED).flex_control({
let value = (input
.input_default
.acceleration
@ -112,7 +112,7 @@ fn scrolling() -> Section<crate::pages::Message> {
let theme = cosmic::theme::active();
settings::view_section(&section.title)
.add(settings::item(&*super::SCROLLING_SPEED, {
.add(settings::flex_item(&*super::SCROLLING_SPEED, {
let value = input
.input_default
.scroll_config

View file

@ -69,13 +69,13 @@ fn touchpad() -> Section<crate::pages::Message> {
let theme = cosmic::theme::active();
settings::view_section(&section.title)
.add(settings::item(
.add(settings::flex_item(
&*super::PRIMARY_BUTTON,
cosmic::widget::segmented_control::horizontal(&input.touchpad_primary_button)
.minimum_button_width(0)
.on_activate(|x| Message::PrimaryButtonSelected(x, true)),
))
.add(settings::item::builder(&*TOUCHPAD_SPEED).control({
.add(settings::item::builder(&*TOUCHPAD_SPEED).flex_control({
let value = (input
.input_touchpad
.acceleration
@ -277,23 +277,23 @@ fn swiping() -> Section<crate::pages::Message> {
settings::view_section(&*section.title)
.add(
settings::item::builder(&*SWIPING_THREE_FINGER_ANY)
.control(text(&*SWITCH_BETWEEN_WINDOWS)),
.flex_control(text(&*SWITCH_BETWEEN_WINDOWS)),
)
.add(
settings::item::builder(&*SWIPING_FOUR_FINGER_UP)
.control(text(&*SWITCH_TO_PREV_WORKSPACE)),
.flex_control(text(&*SWITCH_TO_PREV_WORKSPACE)),
)
.add(
settings::item::builder(&*SWIPING_FOUR_FINGER_DOWN)
.control(text(&*SWITCH_TO_NEXT_WORKSPACE)),
.flex_control(text(&*SWITCH_TO_NEXT_WORKSPACE)),
)
.add(
settings::item::builder(&*SWIPING_FOUR_FINGER_LEFT)
.control(text(&*OPEN_WORKSPACES_VIEW)),
.flex_control(text(&*OPEN_WORKSPACES_VIEW)),
)
.add(
settings::item::builder(&*SWIPING_FOUR_FINGER_RIGHT)
.control(text(&*OPEN_APPLICATION_LIBRARY)),
.flex_control(text(&*OPEN_APPLICATION_LIBRARY)),
)
.apply(Element::from)
.map(crate::pages::Message::Input)

View file

@ -128,7 +128,7 @@ fn device() -> Section<crate::pages::Message> {
let device_name = settings::item::builder(&*desc[0])
.description(&*desc[1])
.control(hostname_row);
.flex_control(hostname_row);
list_column()
.add(device_name)
@ -151,16 +151,22 @@ fn hardware() -> Section<crate::pages::Message> {
let desc = &section.descriptions;
let mut sections = settings::view_section(&section.title)
.add(settings::item(&*desc[0], text(&page.info.hardware_model)))
.add(settings::item(&*desc[1], text(&page.info.memory)))
.add(settings::item(&*desc[2], text(&page.info.processor)));
.add(settings::flex_item(
&*desc[0],
text(&page.info.hardware_model),
))
.add(settings::flex_item(&*desc[1], text(&page.info.memory)))
.add(settings::flex_item(&*desc[2], text(&page.info.processor)));
for card in &page.info.graphics {
sections = sections.add(settings::item(&*desc[3], text(card.as_str())));
sections = sections.add(settings::flex_item(&*desc[3], text(card.as_str())));
}
sections
.add(settings::item(&*desc[4], text(&page.info.disk_capacity)))
.add(settings::flex_item(
&*desc[4],
text(&page.info.disk_capacity),
))
.into()
})
}
@ -177,13 +183,22 @@ fn os() -> Section<crate::pages::Message> {
.view::<Page>(|_binder, page, section| {
let desc = &section.descriptions;
settings::view_section(&section.title)
.add(settings::item(&*desc[0], text(&page.info.operating_system)))
.add(settings::item(&*desc[1], text(&page.info.os_architecture)))
.add(settings::item(
.add(settings::flex_item(
&*desc[0],
text(&page.info.operating_system),
))
.add(settings::flex_item(
&*desc[1],
text(&page.info.os_architecture),
))
.add(settings::flex_item(
&*desc[2],
text(&page.info.desktop_environment),
))
.add(settings::item(&*desc[3], text(&page.info.windowing_system)))
.add(settings::flex_item(
&*desc[3],
text(&page.info.windowing_system),
))
.into()
})
}

View file

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