From cd5a8a701a4e3a1740843494fc0e3f8dac2f69bb Mon Sep 17 00:00:00 2001 From: Michael Aaron Murphy Date: Thu, 30 May 2024 17:15:48 +0200 Subject: [PATCH] feat: responsive controls and standard button fixes --- Cargo.lock | 145 +++++++++--------- Cargo.toml | 3 - .../src/pages/desktop/appearance.rs | 19 +-- .../src/pages/desktop/dock/applets.rs | 5 +- cosmic-settings/src/pages/desktop/dock/mod.rs | 2 +- cosmic-settings/src/pages/desktop/options.rs | 4 +- .../src/pages/desktop/panel/applets_inner.rs | 6 +- .../src/pages/desktop/panel/inner.rs | 28 ++-- .../src/pages/desktop/wallpaper/mod.rs | 8 +- cosmic-settings/src/pages/display/mod.rs | 10 +- .../src/pages/input/keyboard/mod.rs | 8 +- cosmic-settings/src/pages/input/mouse.rs | 6 +- cosmic-settings/src/pages/input/touchpad.rs | 14 +- cosmic-settings/src/pages/system/about.rs | 35 +++-- cosmic-settings/src/pages/time/date.rs | 2 +- 15 files changed, 146 insertions(+), 149 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 04efec5..ae4f6ad 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -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", diff --git a/Cargo.toml b/Cargo.toml index 78fdc0e..2c36202 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -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" } diff --git a/cosmic-settings/src/pages/desktop/appearance.rs b/cosmic-settings/src/pages/desktop/appearance.rs index eaf242d..1826eea 100644 --- a/cosmic-settings/src/pages/desktop/appearance.rs +++ b/cosmic-settings/src/pages/desktop/appearance.rs @@ -1050,19 +1050,10 @@ impl page::Page for Page { } fn header_view(&self) -> Option> { - 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 { let spacing = &page.theme_builder.spacing; let descriptions = §ion.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) } diff --git a/cosmic-settings/src/pages/desktop/dock/applets.rs b/cosmic-settings/src/pages/desktop/dock/applets.rs index ee31016..8696452 100644 --- a/cosmic-settings/src/pages/desktop/dock/applets.rs +++ b/cosmic-settings/src/pages/desktop/dock/applets.rs @@ -89,9 +89,8 @@ impl page::Page 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) diff --git a/cosmic-settings/src/pages/desktop/dock/mod.rs b/cosmic-settings/src/pages/desktop/dock/mod.rs index 599734f..5833dde 100644 --- a/cosmic-settings/src/pages/desktop/dock/mod.rs +++ b/cosmic-settings/src/pages/desktop/dock/mod.rs @@ -150,7 +150,7 @@ pub(crate) fn enable() -> Section { return Element::from(text(fl!("unknown"))); }; settings::view_section(§ion.title) - .add(settings::item( + .add(settings::flex_item( &*descriptions[0], toggler( None, diff --git a/cosmic-settings/src/pages/desktop/options.rs b/cosmic-settings/src/pages/desktop/options.rs index 7cc43d6..8d689e3 100644 --- a/cosmic-settings/src/pages/desktop/options.rs +++ b/cosmic-settings/src/pages/desktop/options.rs @@ -85,7 +85,7 @@ pub fn window_controls() -> Section { let descriptions = §ion.descriptions; settings::view_section(§ion.title) - .add(settings::item( + .add(settings::flex_item( &*descriptions[0], toggler( None, @@ -93,7 +93,7 @@ pub fn window_controls() -> Section { Message::ShowMinimizeButton, ), )) - .add(settings::item( + .add(settings::flex_item( &*descriptions[1], toggler( None, diff --git a/cosmic-settings/src/pages/desktop/panel/applets_inner.rs b/cosmic-settings/src/pages/desktop/panel/applets_inner.rs index 47f288d..727c7b1 100644 --- a/cosmic-settings/src/pages/desktop/panel/applets_inner.rs +++ b/cosmic-settings/src/pages/desktop/panel/applets_inner.rs @@ -133,11 +133,7 @@ impl page::Page 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) diff --git a/cosmic-settings/src/pages/desktop/panel/inner.rs b/cosmic-settings/src/pages/desktop/panel/inner.rs index 5d05225..32aa55b 100644 --- a/cosmic-settings/src/pages/desktop/panel/inner.rs +++ b/cosmic-settings/src/pages/desktop/panel/inner.rs @@ -107,13 +107,13 @@ pub(crate) fn behavior_and_position< return Element::from(text(fl!("unknown"))); }; settings::view_section(§ion.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(§ion.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::

(move |_binder, _page, section| { let descriptions = §ion.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 = §ion.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) }) diff --git a/cosmic-settings/src/pages/desktop/wallpaper/mod.rs b/cosmic-settings/src/pages/desktop/wallpaper/mod.rs index 262221f..f631bbc 100644 --- a/cosmic-settings/src/pages/desktop/wallpaper/mod.rs +++ b/cosmic-settings/src/pages/desktop/wallpaper/mod.rs @@ -1221,7 +1221,7 @@ pub fn settings() -> Section { 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 { 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 { // 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, diff --git a/cosmic-settings/src/pages/display/mod.rs b/cosmic-settings/src/pages/display/mod.rs index 2094473..6c9348e 100644 --- a/cosmic-settings/src/pages/display/mod.rs +++ b/cosmic-settings/src/pages/display/mod.rs @@ -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), )) diff --git a/cosmic-settings/src/pages/input/keyboard/mod.rs b/cosmic-settings/src/pages/input/keyboard/mod.rs index ea0eb6e..5bbb8fd 100644 --- a/cosmic-settings/src/pages/input/keyboard/mod.rs +++ b/cosmic-settings/src/pages/input/keyboard/mod.rs @@ -216,7 +216,7 @@ fn input_source( ) -> cosmic::Element { 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 for Page { fn on_enter( &mut self, _page: page::Entity, - sender: tokio::sync::mpsc::Sender, + _sender: tokio::sync::mpsc::Sender, ) -> Command { self.xkb = super::get_config(&self.config, "xkb_config"); match xkb_data::keyboard_layouts() { @@ -657,7 +657,7 @@ fn keyboard_typing_assist() -> Section { let theme = cosmic::theme::active(); settings::view_section(§ion.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 { .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, diff --git a/cosmic-settings/src/pages/input/mouse.rs b/cosmic-settings/src/pages/input/mouse.rs index a9f9635..d3e9a6f 100644 --- a/cosmic-settings/src/pages/input/mouse.rs +++ b/cosmic-settings/src/pages/input/mouse.rs @@ -55,13 +55,13 @@ fn mouse() -> Section { let theme = cosmic::theme::active(); settings::view_section(§ion.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 { let theme = cosmic::theme::active(); settings::view_section(§ion.title) - .add(settings::item(&*super::SCROLLING_SPEED, { + .add(settings::flex_item(&*super::SCROLLING_SPEED, { let value = input .input_default .scroll_config diff --git a/cosmic-settings/src/pages/input/touchpad.rs b/cosmic-settings/src/pages/input/touchpad.rs index c9ed3f1..10e81b4 100644 --- a/cosmic-settings/src/pages/input/touchpad.rs +++ b/cosmic-settings/src/pages/input/touchpad.rs @@ -69,13 +69,13 @@ fn touchpad() -> Section { let theme = cosmic::theme::active(); settings::view_section(§ion.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 { 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) diff --git a/cosmic-settings/src/pages/system/about.rs b/cosmic-settings/src/pages/system/about.rs index e684135..fe7dae8 100644 --- a/cosmic-settings/src/pages/system/about.rs +++ b/cosmic-settings/src/pages/system/about.rs @@ -128,7 +128,7 @@ fn device() -> Section { 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 { let desc = §ion.descriptions; let mut sections = settings::view_section(§ion.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 { .view::(|_binder, page, section| { let desc = §ion.descriptions; settings::view_section(§ion.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() }) } diff --git a/cosmic-settings/src/pages/time/date.rs b/cosmic-settings/src/pages/time/date.rs index 872286a..762b273 100644 --- a/cosmic-settings/src/pages/time/date.rs +++ b/cosmic-settings/src/pages/time/date.rs @@ -153,7 +153,7 @@ fn format() -> Section { ) // 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