summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpml68 <contact@pml68.dev>2025-07-22 21:19:51 +0200
committerpml68 <contact@pml68.dev>2025-07-22 21:19:51 +0200
commit84a8518ade52c49135ec8beb0f14025f7220e8d0 (patch)
tree0522e6c01e1d127c121e9446994cd583b7488563
parentstyle: better Cargo.toml formatting [skip ci] (diff)
downloadiced-builder-84a8518ade52c49135ec8beb0f14025f7220e8d0.tar.gz
feat: better button styling for "unsaved changes" dialog
-rw-r--r--Cargo.lock317
-rw-r--r--Cargo.toml1
-rw-r--r--src/dialog.rs11
-rw-r--r--src/widget.rs1
-rw-r--r--src/widget/button.rs15
5 files changed, 200 insertions, 145 deletions
diff --git a/Cargo.lock b/Cargo.lock
index bc936d4..8d81039 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -4,9 +4,9 @@ version = 4
[[package]]
name = "ab_glyph"
-version = "0.2.30"
+version = "0.2.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e0f4f6fbdc5ee39f2ede9f5f3ec79477271a6d6a2baff22310d51736bda6cea"
+checksum = "e074464580a518d16a7126262fffaaa47af89d4099d4cb403f8ed938ba12ee7d"
dependencies = [
"ab_glyph_rasterizer",
"owned_ttf_parser",
@@ -97,7 +97,7 @@ dependencies = [
"log",
"ndk",
"ndk-context",
- "ndk-sys 0.6.0+11769913",
+ "ndk-sys",
"num_enum",
"thiserror 1.0.69",
]
@@ -199,7 +199,7 @@ dependencies = [
"enumflags2",
"futures-channel",
"futures-util",
- "rand 0.9.1",
+ "rand 0.9.2",
"raw-window-handle",
"serde",
"serde_repr",
@@ -261,9 +261,9 @@ dependencies = [
[[package]]
name = "async-fs"
-version = "2.1.2"
+version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a"
+checksum = "09f7e37c0ed80b2a977691c47dae8625cfb21e205827106c64f7c588766b2e50"
dependencies = [
"async-lock",
"blocking",
@@ -287,9 +287,9 @@ dependencies = [
[[package]]
name = "async-io"
-version = "2.4.1"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1237c0ae75a0f3765f58910ff9cdd0a12eeb39ab2f4c7de23262f337f0aacbb3"
+checksum = "19634d6336019ef220f09fd31168ce5c184b295cbf80345437cc36094ef223ca"
dependencies = [
"async-lock",
"cfg-if",
@@ -298,10 +298,9 @@ dependencies = [
"futures-lite",
"parking",
"polling",
- "rustix 1.0.7",
+ "rustix 1.0.8",
"slab",
- "tracing",
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -328,9 +327,9 @@ dependencies = [
[[package]]
name = "async-process"
-version = "2.3.1"
+version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cde3f4e40e6021d7acffc90095cbd6dc54cb593903d1de5832f435eb274b85dc"
+checksum = "65daa13722ad51e6ab1a1b9c01299142bc75135b337923cfa10e79bbbd669f00"
dependencies = [
"async-channel 2.5.0",
"async-io",
@@ -341,8 +340,7 @@ dependencies = [
"cfg-if",
"event-listener 5.4.0",
"futures-lite",
- "rustix 1.0.7",
- "tracing",
+ "rustix 1.0.8",
]
[[package]]
@@ -358,9 +356,9 @@ dependencies = [
[[package]]
name = "async-signal"
-version = "0.2.11"
+version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7605a4e50d4b06df3898d5a70bf5fde51ed9059b0434b73105193bc27acce0d"
+checksum = "f567af260ef69e1d52c2b560ce0ea230763e6fbb9214a85d768760a920e3e3c1"
dependencies = [
"async-io",
"async-lock",
@@ -368,10 +366,10 @@ dependencies = [
"cfg-if",
"futures-core",
"futures-io",
- "rustix 1.0.7",
+ "rustix 1.0.8",
"signal-hook-registry",
"slab",
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -608,9 +606,9 @@ dependencies = [
[[package]]
name = "bytemuck_derive"
-version = "1.9.3"
+version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ecc273b49b3205b83d648f0690daa588925572cc5063745bfe547fe7ec8e1a1"
+checksum = "441473f2b4b0459a68628c744bc61d23e730fb00128b841d30fa4bb3972257e4"
dependencies = [
"proc-macro2",
"quote",
@@ -678,9 +676,9 @@ checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab"
[[package]]
name = "cc"
-version = "1.2.29"
+version = "1.2.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c1599538de2394445747c8cf7935946e3cc27e9625f889d979bfb2aaf569362"
+checksum = "deec109607ca693028562ed836a5f1c4b8bd77755c4e132fc5ce11b0b6211ae7"
dependencies = [
"jobserver",
"libc",
@@ -727,9 +725,9 @@ dependencies = [
[[package]]
name = "clipboard-win"
-version = "5.4.0"
+version = "5.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892"
+checksum = "bde03770d3df201d4fb868f2c9c59e66a3e4e2bd06692a0fe701e7103c7e84d4"
dependencies = [
"error-code",
]
@@ -766,10 +764,11 @@ dependencies = [
[[package]]
name = "codespan-reporting"
-version = "0.11.1"
+version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
+checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81"
dependencies = [
+ "serde",
"termcolor",
"unicode-width",
]
@@ -954,7 +953,7 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
[[package]]
name = "cryoglyph"
version = "0.1.0"
-source = "git+https://github.com/iced-rs/cryoglyph.git?rev=a456d1c17bbcf33afcca41d9e5e299f9f1193819#a456d1c17bbcf33afcca41d9e5e299f9f1193819"
+source = "git+https://github.com/iced-rs/cryoglyph.git?rev=453cedec0d2ec563bd7fa87e84a2319bcebb1ba3#453cedec0d2ec563bd7fa87e84a2319bcebb1ba3"
dependencies = [
"cosmic-text",
"etagere",
@@ -1779,6 +1778,7 @@ checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9"
dependencies = [
"cfg-if",
"crunchy",
+ "num-traits",
]
[[package]]
@@ -1923,9 +1923,9 @@ dependencies = [
[[package]]
name = "hyper-util"
-version = "0.1.15"
+version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f66d5bd4c6f02bf0542fad85d626775bab9258cf795a4256dcaf3161114d1df"
+checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e"
dependencies = [
"base64",
"bytes",
@@ -1939,7 +1939,7 @@ dependencies = [
"libc",
"percent-encoding",
"pin-project-lite",
- "socket2",
+ "socket2 0.6.0",
"system-configuration",
"tokio",
"tower-service",
@@ -1950,7 +1950,7 @@ dependencies = [
[[package]]
name = "iced"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#5453ec4e9543148bda165f752098a3ca6c8aeba9"
dependencies = [
"iced_core",
"iced_debug",
@@ -1966,7 +1966,7 @@ dependencies = [
[[package]]
name = "iced_anim"
version = "0.2.1"
-source = "git+https://github.com/pml68/iced_anim#70acc72995d71b200c4db82a7e50a79041da7a6f"
+source = "git+https://github.com/pml68/iced_anim?branch=main#314f68a9403e6efe0cc5b97614c4e730e28592e2"
dependencies = [
"iced",
"iced_anim_derive",
@@ -1975,7 +1975,7 @@ dependencies = [
[[package]]
name = "iced_anim_derive"
version = "0.2.0"
-source = "git+https://github.com/pml68/iced_anim#70acc72995d71b200c4db82a7e50a79041da7a6f"
+source = "git+https://github.com/pml68/iced_anim?branch=main#314f68a9403e6efe0cc5b97614c4e730e28592e2"
dependencies = [
"quote",
"syn",
@@ -2010,7 +2010,7 @@ dependencies = [
[[package]]
name = "iced_core"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#5453ec4e9543148bda165f752098a3ca6c8aeba9"
dependencies = [
"bitflags 2.9.1",
"bytes",
@@ -2038,7 +2038,7 @@ dependencies = [
[[package]]
name = "iced_debug"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#5453ec4e9543148bda165f752098a3ca6c8aeba9"
dependencies = [
"iced_core",
"iced_futures",
@@ -2048,7 +2048,7 @@ dependencies = [
[[package]]
name = "iced_dialog"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced_dialog?branch=iced%2Fpersonal#829321980fa606b304dedfa1fdd7af49a03eb8f7"
+source = "git+https://github.com/pml68/iced_dialog?branch=iced%2Fpersonal#ef73bb5c33f50d268d765ca9845e52a9831730f4"
dependencies = [
"iced_core",
"iced_widget",
@@ -2077,7 +2077,7 @@ dependencies = [
[[package]]
name = "iced_futures"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#5453ec4e9543148bda165f752098a3ca6c8aeba9"
dependencies = [
"futures",
"iced_core",
@@ -2091,7 +2091,7 @@ dependencies = [
[[package]]
name = "iced_graphics"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#5453ec4e9543148bda165f752098a3ca6c8aeba9"
dependencies = [
"bitflags 2.9.1",
"bytemuck",
@@ -2111,7 +2111,7 @@ dependencies = [
[[package]]
name = "iced_material"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced_material?branch=iced%2Fpersonal#aa49e1cd966c48d499a029ff4dd7e5f45d13a801"
+source = "git+https://github.com/pml68/iced_material?branch=iced%2Fpersonal#9be417a51c30c755584a327b4b3e042d88f0851b"
dependencies = [
"dark-light",
"iced_anim",
@@ -2123,7 +2123,7 @@ dependencies = [
[[package]]
name = "iced_program"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#5453ec4e9543148bda165f752098a3ca6c8aeba9"
dependencies = [
"iced_graphics",
"iced_runtime",
@@ -2132,7 +2132,7 @@ dependencies = [
[[package]]
name = "iced_renderer"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#5453ec4e9543148bda165f752098a3ca6c8aeba9"
dependencies = [
"iced_graphics",
"iced_tiny_skia",
@@ -2144,7 +2144,7 @@ dependencies = [
[[package]]
name = "iced_runtime"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#5453ec4e9543148bda165f752098a3ca6c8aeba9"
dependencies = [
"bytes",
"iced_core",
@@ -2157,7 +2157,7 @@ dependencies = [
[[package]]
name = "iced_tiny_skia"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#5453ec4e9543148bda165f752098a3ca6c8aeba9"
dependencies = [
"bytemuck",
"cosmic-text",
@@ -2174,7 +2174,7 @@ dependencies = [
[[package]]
name = "iced_wgpu"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#5453ec4e9543148bda165f752098a3ca6c8aeba9"
dependencies = [
"bitflags 2.9.1",
"bytemuck",
@@ -2194,7 +2194,7 @@ dependencies = [
[[package]]
name = "iced_widget"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#5453ec4e9543148bda165f752098a3ca6c8aeba9"
dependencies = [
"iced_renderer",
"iced_runtime",
@@ -2209,7 +2209,7 @@ dependencies = [
[[package]]
name = "iced_winit"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#5453ec4e9543148bda165f752098a3ca6c8aeba9"
dependencies = [
"iced_debug",
"iced_program",
@@ -2407,9 +2407,9 @@ dependencies = [
[[package]]
name = "io-uring"
-version = "0.7.8"
+version = "0.7.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013"
+checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4"
dependencies = [
"bitflags 2.9.1",
"cfg-if",
@@ -2533,11 +2533,12 @@ dependencies = [
[[package]]
name = "kurbo"
-version = "0.11.2"
+version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1077d333efea6170d9ccb96d3c3026f300ca0773da4938cc4c811daa6df68b0c"
+checksum = "c62026ae44756f8a599ba21140f350303d4f08dcdcc71b5ad9c9bb8128c13c62"
dependencies = [
"arrayvec",
+ "euclid",
"smallvec",
]
@@ -2616,13 +2617,13 @@ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
[[package]]
name = "libredox"
-version = "0.1.4"
+version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1580801010e535496706ba011c15f8532df6b42297d2e471fec38ceadd8c0638"
+checksum = "4488594b9328dee448adb906d8b126d9b7deb7cf5c22161ee591610bb1be83c0"
dependencies = [
"bitflags 2.9.1",
"libc",
- "redox_syscall 0.5.13",
+ "redox_syscall 0.5.15",
]
[[package]]
@@ -2703,9 +2704,9 @@ dependencies = [
[[package]]
name = "lru"
-version = "0.12.5"
+version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38"
+checksum = "86ea4e65087ff52f3862caff188d489f1fab49a0cb09e01b2e3f1a617b10aaed"
[[package]]
name = "malloc_buf"
@@ -2752,13 +2753,13 @@ dependencies = [
[[package]]
name = "metal"
-version = "0.31.0"
+version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f569fb946490b5743ad69813cb19629130ce9374034abe31614a36402d18f99e"
+checksum = "00c15a6f673ff72ddcc22394663290f870fb224c1bfce55734a75c414150e605"
dependencies = [
"bitflags 2.9.1",
"block",
- "core-graphics-types 0.1.3",
+ "core-graphics-types 0.2.0",
"foreign-types 0.5.0",
"log",
"objc",
@@ -2816,24 +2817,28 @@ checksum = "16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b"
[[package]]
name = "naga"
-version = "24.0.0"
+version = "26.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e380993072e52eef724eddfcde0ed013b0c023c3f0417336ed041aa9f076994e"
+checksum = "916cbc7cb27db60be930a4e2da243cf4bc39569195f22fd8ee419cd31d5b662c"
dependencies = [
"arrayvec",
"bit-set 0.8.0",
"bitflags 2.9.1",
+ "cfg-if",
"cfg_aliases",
"codespan-reporting",
+ "half",
+ "hashbrown",
"hexf-parse",
"indexmap",
+ "libm",
"log",
+ "num-traits",
+ "once_cell",
"rustc-hash 1.1.0",
"spirv",
- "strum",
- "termcolor",
"thiserror 2.0.12",
- "unicode-xid",
+ "unicode-ident",
]
[[package]]
@@ -2862,7 +2867,7 @@ dependencies = [
"bitflags 2.9.1",
"jni-sys",
"log",
- "ndk-sys 0.6.0+11769913",
+ "ndk-sys",
"num_enum",
"raw-window-handle",
"thiserror 1.0.69",
@@ -2876,15 +2881,6 @@ checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
[[package]]
name = "ndk-sys"
-version = "0.5.0+25.2.9519653"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691"
-dependencies = [
- "jni-sys",
-]
-
-[[package]]
-name = "ndk-sys"
version = "0.6.0+11769913"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873"
@@ -2981,6 +2977,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
dependencies = [
"autocfg",
+ "libm",
]
[[package]]
@@ -3340,9 +3337,9 @@ dependencies = [
[[package]]
name = "ordered-float"
-version = "4.6.0"
+version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951"
+checksum = "e2c1f9f56e534ac6a9b8a4600bdf0f530fb393b5f393e7b4d03489c3cf0c3f01"
dependencies = [
"num-traits",
]
@@ -3414,7 +3411,7 @@ checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall 0.5.13",
+ "redox_syscall 0.5.15",
"smallvec",
"windows-targets 0.52.6",
]
@@ -3511,17 +3508,16 @@ dependencies = [
[[package]]
name = "polling"
-version = "3.8.0"
+version = "3.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b53a684391ad002dd6a596ceb6c74fd004fdce75f4be2e3f615068abbea5fd50"
+checksum = "8ee9b2fa7a4517d2c91ff5bc6c297a427a96749d15f98fcdbb22c05571a4d4b7"
dependencies = [
"cfg-if",
"concurrent-queue",
"hermit-abi",
"pin-project-lite",
- "rustix 1.0.7",
- "tracing",
- "windows-sys 0.59.0",
+ "rustix 1.0.8",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -3531,6 +3527,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3"
[[package]]
+name = "portable-atomic"
+version = "1.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
+
+[[package]]
+name = "portable-atomic-util"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507"
+dependencies = [
+ "portable-atomic",
+]
+
+[[package]]
name = "potential_utf"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3668,9 +3679,9 @@ dependencies = [
[[package]]
name = "rand"
-version = "0.9.1"
+version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97"
+checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
dependencies = [
"rand_chacha 0.9.0",
"rand_core 0.9.3",
@@ -3823,9 +3834,9 @@ dependencies = [
[[package]]
name = "redox_syscall"
-version = "0.5.13"
+version = "0.5.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6"
+checksum = "7e8af0dde094006011e6a740d4879319439489813bd0bcdc7d821beaeeff48ec"
dependencies = [
"bitflags 2.9.1",
]
@@ -4036,15 +4047,15 @@ dependencies = [
[[package]]
name = "rustix"
-version = "1.0.7"
+version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
+checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8"
dependencies = [
"bitflags 2.9.1",
"errno",
"libc",
"linux-raw-sys 0.9.4",
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -4209,9 +4220,9 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.140"
+version = "1.0.141"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
+checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3"
dependencies = [
"itoa",
"memchr",
@@ -4414,6 +4425,16 @@ dependencies = [
]
[[package]]
+name = "socket2"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807"
+dependencies = [
+ "libc",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
name = "softbuffer"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4433,7 +4454,7 @@ dependencies = [
"objc2-foundation 0.2.2",
"objc2-quartz-core",
"raw-window-handle",
- "redox_syscall 0.5.13",
+ "redox_syscall 0.5.15",
"rustix 0.38.44",
"tiny-xlib",
"wasm-bindgen",
@@ -4476,28 +4497,6 @@ dependencies = [
]
[[package]]
-name = "strum"
-version = "0.26.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06"
-dependencies = [
- "strum_macros",
-]
-
-[[package]]
-name = "strum_macros"
-version = "0.26.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be"
-dependencies = [
- "heck 0.5.0",
- "proc-macro2",
- "quote",
- "rustversion",
- "syn",
-]
-
-[[package]]
name = "subtle"
version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4515,7 +4514,7 @@ version = "0.15.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68c7541fff44b35860c1a7a47a7cadf3e4a304c457b58f9870d9706ece028afc"
dependencies = [
- "kurbo 0.11.2",
+ "kurbo 0.11.3",
"siphasher",
]
@@ -4639,7 +4638,7 @@ dependencies = [
"fastrand",
"getrandom 0.3.3",
"once_cell",
- "rustix 1.0.7",
+ "rustix 1.0.8",
"windows-sys 0.59.0",
]
@@ -4799,7 +4798,7 @@ dependencies = [
"mio",
"pin-project-lite",
"slab",
- "socket2",
+ "socket2 0.5.10",
"windows-sys 0.52.0",
]
@@ -5110,15 +5109,9 @@ checksum = "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94"
[[package]]
name = "unicode-width"
-version = "0.1.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
-
-[[package]]
-name = "unicode-xid"
-version = "0.2.6"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
+checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c"
[[package]]
name = "untrusted"
@@ -5155,7 +5148,7 @@ dependencies = [
"flate2",
"fontdb 0.18.0",
"imagesize",
- "kurbo 0.11.2",
+ "kurbo 0.11.3",
"log",
"pico-args",
"roxmltree",
@@ -5488,18 +5481,21 @@ checksum = "a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3"
[[package]]
name = "wgpu"
-version = "24.0.5"
+version = "26.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b0b3436f0729f6cdf2e6e9201f3d39dc95813fad61d826c1ed07918b4539353"
+checksum = "70b6ff82bbf6e9206828e1a3178e851f8c20f1c9028e74dd3a8090741ccd5798"
dependencies = [
"arrayvec",
"bitflags 2.9.1",
+ "cfg-if",
"cfg_aliases",
"document-features",
+ "hashbrown",
"js-sys",
"log",
"naga",
"parking_lot",
+ "portable-atomic",
"profiling",
"raw-window-handle",
"smallvec",
@@ -5514,34 +5510,67 @@ dependencies = [
[[package]]
name = "wgpu-core"
-version = "24.0.5"
+version = "26.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f0aa306497a238d169b9dc70659105b4a096859a34894544ca81719242e1499"
+checksum = "d5f62f1053bd28c2268f42916f31588f81f64796e2ff91b81293515017ca8bd9"
dependencies = [
"arrayvec",
+ "bit-set 0.8.0",
"bit-vec 0.8.0",
"bitflags 2.9.1",
"cfg_aliases",
"document-features",
+ "hashbrown",
"indexmap",
"log",
"naga",
"once_cell",
"parking_lot",
+ "portable-atomic",
"profiling",
"raw-window-handle",
"rustc-hash 1.1.0",
"smallvec",
"thiserror 2.0.12",
+ "wgpu-core-deps-apple",
+ "wgpu-core-deps-emscripten",
+ "wgpu-core-deps-windows-linux-android",
"wgpu-hal",
"wgpu-types",
]
[[package]]
+name = "wgpu-core-deps-apple"
+version = "26.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "18ae5fbde6a4cbebae38358aa73fcd6e0f15c6144b67ef5dc91ded0db125dbdf"
+dependencies = [
+ "wgpu-hal",
+]
+
+[[package]]
+name = "wgpu-core-deps-emscripten"
+version = "26.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d7670e390f416006f746b4600fdd9136455e3627f5bd763abf9a65daa216dd2d"
+dependencies = [
+ "wgpu-hal",
+]
+
+[[package]]
+name = "wgpu-core-deps-windows-linux-android"
+version = "26.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "720a5cb9d12b3d337c15ff0e24d3e97ed11490ff3f7506e7f3d98c68fa5d6f14"
+dependencies = [
+ "wgpu-hal",
+]
+
+[[package]]
name = "wgpu-hal"
-version = "24.0.4"
+version = "26.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f112f464674ca69f3533248508ee30cb84c67cf06c25ff6800685f5e0294e259"
+checksum = "2971a6c8b903aa9951cf3f3e4d8060904f8c8e905c11f7f5b228edf7faddb719"
dependencies = [
"android_system_properties",
"arrayvec",
@@ -5550,13 +5579,15 @@ dependencies = [
"bitflags 2.9.1",
"block",
"bytemuck",
+ "cfg-if",
"cfg_aliases",
- "core-graphics-types 0.1.3",
+ "core-graphics-types 0.2.0",
"glow",
"glutin_wgl_sys",
"gpu-alloc",
"gpu-allocator",
"gpu-descriptor",
+ "hashbrown",
"js-sys",
"khronos-egl",
"libc",
@@ -5564,16 +5595,16 @@ dependencies = [
"log",
"metal",
"naga",
- "ndk-sys 0.5.0+25.2.9519653",
+ "ndk-sys",
"objc",
- "once_cell",
"ordered-float",
"parking_lot",
+ "portable-atomic",
+ "portable-atomic-util",
"profiling",
"range-alloc",
"raw-window-handle",
"renderdoc-sys",
- "rustc-hash 1.1.0",
"smallvec",
"thiserror 2.0.12",
"wasm-bindgen",
@@ -5585,13 +5616,15 @@ dependencies = [
[[package]]
name = "wgpu-types"
-version = "24.0.0"
+version = "26.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50ac044c0e76c03a0378e7786ac505d010a873665e2d51383dcff8dd227dc69c"
+checksum = "eca7a8d8af57c18f57d393601a1fb159ace8b2328f1b6b5f80893f7d672c9ae2"
dependencies = [
"bitflags 2.9.1",
+ "bytemuck",
"js-sys",
"log",
+ "thiserror 2.0.12",
"web-sys",
]
@@ -6244,9 +6277,9 @@ dependencies = [
[[package]]
name = "zbus"
-version = "5.8.0"
+version = "5.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597f45e98bc7e6f0988276012797855613cd8269e23b5be62cc4e5d28b7e515d"
+checksum = "4bb4f9a464286d42851d18a605f7193b8febaf5b0919d71c6399b7b26e5b0aad"
dependencies = [
"async-broadcast",
"async-executor",
@@ -6277,9 +6310,9 @@ dependencies = [
[[package]]
name = "zbus_macros"
-version = "5.8.0"
+version = "5.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5c8e4e14dcdd9d97a98b189cd1220f30e8394ad271e8c987da84f73693862c2"
+checksum = "ef9859f68ee0c4ee2e8cde84737c78e3f4c54f946f2a38645d0d4c7a95327659"
dependencies = [
"proc-macro-crate",
"proc-macro2",
diff --git a/Cargo.toml b/Cargo.toml
index 25cf5dd..bb4ce7a 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -81,6 +81,7 @@ iced_material.branch = "iced/personal"
iced_material.features = ["animate", "serde", "dialog", "svg"]
iced_anim.git = "https://github.com/pml68/iced_anim"
+iced_anim.branch = "main"
iced_anim.features = ["derive"]
iced_dialog.git = "https://github.com/pml68/iced_dialog"
diff --git a/src/dialog.rs b/src/dialog.rs
index 3a79dd4..c5e008c 100644
--- a/src/dialog.rs
+++ b/src/dialog.rs
@@ -1,10 +1,12 @@
use std::borrow::Cow;
-use iced::widget::text;
+use iced::widget::{Space, text};
use iced_dialog::button;
+use iced_material::button::filled_tonal;
use crate::Message;
use crate::types::Element;
+use crate::widget::button::danger;
pub const UNSAVED_CHANGES_TITLE: &str = "Hold on for a sec!";
pub const WARNING_TITLE: &str = "Heads up!";
@@ -31,8 +33,11 @@ impl From<Action> for Vec<Element<'_, Message>> {
Action::None => vec![],
Action::Close => vec![button("Close", Message::DialogYes).into()],
Action::UnsavedChanges(_) => vec![
- button("Don't Save", Message::DialogNo).into(),
- button("Save", Message::DialogYes).into(),
+ button("Don't Save", Message::DialogNo).style(danger).into(),
+ Space::with_width(20).into(),
+ button("Save", Message::DialogYes)
+ .style(filled_tonal)
+ .into(),
button("Cancel", Message::DialogCancel).into(),
],
}
diff --git a/src/widget.rs b/src/widget.rs
index 5ebe1f9..bb12de0 100644
--- a/src/widget.rs
+++ b/src/widget.rs
@@ -3,6 +3,7 @@ use iced_material::Theme;
use crate::types::Element;
+pub mod button;
pub mod tip {
pub use super::tooltip::Position;
}
diff --git a/src/widget/button.rs b/src/widget/button.rs
new file mode 100644
index 0000000..5a1975b
--- /dev/null
+++ b/src/widget/button.rs
@@ -0,0 +1,15 @@
+use iced::widget::button::{Status, Style};
+use iced_material::Theme;
+use iced_material::button::styled;
+
+pub fn danger(theme: &Theme, status: Status) -> Style {
+ let primary = theme.colors().error;
+
+ let foreground = primary.on_error;
+ let background = primary.color;
+ let disabled = theme.colors().surface.on_surface;
+
+ let shadow_color = theme.colors().shadow;
+
+ styled(background, foreground, disabled, shadow_color, 0, status)
+}