diff options
| author | pml68 <contact@pml68.dev> | 2025-07-17 03:23:53 +0200 |
|---|---|---|
| committer | pml68 <contact@pml68.dev> | 2025-07-17 03:23:53 +0200 |
| commit | b4e120717875934205b12056ed214217df30b75a (patch) | |
| tree | 6403a8a2f95a95519761044acf9dee61bc7dcd6a | |
| parent | feat: make close-only dialogs closable via `Esc` or clicking the backdrop (diff) | |
| download | iced-builder-b4e120717875934205b12056ed214217df30b75a.tar.gz | |
chore: update deps
| -rw-r--r-- | Cargo.lock | 69 | ||||
| -rw-r--r-- | Cargo.toml | 10 | ||||
| -rw-r--r-- | src/main.rs | 7 | ||||
| -rw-r--r-- | src/panes/element_list.rs | 8 | ||||
| -rwxr-xr-x | src/types/rendered_element.rs | 1 |
5 files changed, 47 insertions, 48 deletions
@@ -204,6 +204,9 @@ dependencies = [ "serde", "serde_repr", "url", + "wayland-backend", + "wayland-client", + "wayland-protocols", "zbus", ] @@ -910,9 +913,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] @@ -1068,23 +1071,13 @@ checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" [[package]] name = "dispatch2" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a0d569e003ff27784e0e14e4a594048698e0c0f0b66cabcb51511be55a7caa0" -dependencies = [ - "bitflags 2.9.1", - "block2 0.6.1", - "libc", - "objc2 0.6.1", -] - -[[package]] -name = "dispatch2" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" dependencies = [ "bitflags 2.9.1", + "block2 0.6.1", + "libc", "objc2 0.6.1", ] @@ -1182,7 +1175,7 @@ dependencies = [ "cc", "memchr", "rustc_version", - "toml 0.9.0", + "toml 0.9.2", "vswhom", "winreg 0.55.0", ] @@ -2009,7 +2002,7 @@ dependencies = [ "thiserror 2.0.12", "tokio", "tokio-stream", - "toml 0.9.0", + "toml 0.9.2", "windows_exe_info", "xdg", ] @@ -2064,7 +2057,7 @@ dependencies = [ [[package]] name = "iced_drop" version = "0.1.0" -source = "git+https://github.com/pml68/iced_drop?branch=iced%2Fpersonal#c55f7af824ac5adac85a88b91c2639d1bc32e158" +source = "git+https://github.com/pml68/iced_drop?branch=iced%2Fpersonal#22df91db30a2159dc4f7a20a31b0628e37a56256" dependencies = [ "iced", ] @@ -2077,7 +2070,7 @@ dependencies = [ "serde", "serde_json", "sha2", - "toml 0.9.0", + "toml 0.9.2", "zip", ] @@ -2741,9 +2734,9 @@ checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "memmap2" -version = "0.9.5" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" +checksum = "483758ad303d734cec05e5c12b41d7e93e6a6390c5e9dae6bdeb7c1259012d28" dependencies = [ "libc", ] @@ -3127,7 +3120,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166" dependencies = [ "bitflags 2.9.1", - "dispatch2 0.3.0", + "dispatch2", "objc2 0.6.1", ] @@ -3944,13 +3937,13 @@ dependencies = [ [[package]] name = "rfd" -version = "0.15.3" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80c844748fdc82aae252ee4594a89b6e7ebef1063de7951545564cbc4e57075d" +checksum = "ef2bee61e6cffa4635c72d7d81a84294e28f0930db0ddcb0f66d10244674ebed" dependencies = [ "ashpd 0.11.0", "block2 0.6.1", - "dispatch2 0.2.0", + "dispatch2", "js-sys", "log", "objc2 0.6.1", @@ -3968,9 +3961,9 @@ dependencies = [ [[package]] name = "rgb" -version = "0.8.51" +version = "0.8.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a457e416a0f90d246a4c3288bd7a25b2304ca727f253f95be383dd17af56be8f" +checksum = "0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce" dependencies = [ "bytemuck", ] @@ -4056,9 +4049,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.28" +version = "0.23.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643" +checksum = "2491382039b29b9b11ff08b76ff6c97cf287671dbb74f0be44bda389fffe9bd1" dependencies = [ "once_cell", "rustls-pki-types", @@ -4078,9 +4071,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.3" +version = "0.103.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" +checksum = "0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc" dependencies = [ "ring", "rustls-pki-types", @@ -4868,9 +4861,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.9.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f271e09bde39ab52250160a67e88577e0559ad77e9085de6e9051a2c4353f8f8" +checksum = "ed0aee96c12fa71097902e0bb061a5e1ebd766a6636bb605ba401c45c1650eac" dependencies = [ "indexmap", "serde", @@ -4914,18 +4907,18 @@ dependencies = [ [[package]] name = "toml_parser" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5c1c469eda89749d2230d8156a5969a69ffe0d6d01200581cdc6110674d293e" +checksum = "97200572db069e74c512a14117b296ba0a80a30123fbbb5aa1f4a348f639ca30" dependencies = [ "winnow", ] [[package]] name = "toml_writer" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b679217f2848de74cabd3e8fc5e6d66f40b7da40f8e1954d92054d9010690fd5" +checksum = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64" [[package]] name = "tower" @@ -6096,9 +6089,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" +checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95" dependencies = [ "memchr", ] @@ -35,7 +35,7 @@ iced_fontello = { path = "iced_fontello" } xdg = "3.0.0" [target.'cfg(windows)'.build-dependencies] -embed-resource = "3.0.4" +embed-resource = "3.0.5" windows_exe_info = "0.5.2" [lints] @@ -67,12 +67,10 @@ iced_drop = { git = "https://github.com/pml68/iced_drop", branch = "iced/persona iced_custom_highlighter = { git = "https://github.com/pml68/iced_custom_highlighter", branch = "master" } serde = { version = "1.0.219", features = ["derive"] } serde_json = "1.0.140" -toml = "0.9.0" -tokio = { version = "1.45.1", features = ["fs", "io-util"] } +toml = "0.9.2" +tokio = { version = "1.46.1", features = ["fs", "io-util"] } tokio-stream = { version = "0.1.17", features = ["fs"] } -# TODO: enable tokio when it doesn't crash anymore -# rfd = { version = "0.15.3", default-features = false, features = ["tokio", "xdg-portal"] } -rfd = "0.15.3" +rfd = "0.15.4" rust-format = "0.3.4" fxhash = "0.2.1" thiserror = "2.0.12" diff --git a/src/main.rs b/src/main.rs index 4df5922..aaddf1f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -231,16 +231,19 @@ impl IcedBuilder { Message::HandleNew(name, zones) => { let ids: Vec<Id> = zones.into_iter().map(|z| z.0).collect(); if !ids.is_empty() { + self.is_dirty = true; + let action = Action::new( &ids, self.project.element_tree.as_ref(), None, ); + let result = name.handle_action( self.project.element_tree.as_mut(), action, ); - self.is_dirty = true; + match result { Ok(Some(ref element)) => { self.project.element_tree = Some(element.clone()); @@ -269,10 +272,12 @@ impl IcedBuilder { self.project.element_tree.as_ref(), Some(element.id()), ); + let result = element.handle_action( self.project.element_tree.as_mut(), action, ); + if let Err(error) = result { self.dialog = Dialog::error(error); } diff --git a/src/panes/element_list.rs b/src/panes/element_list.rs index 5e7d99d..b18c275 100644 --- a/src/panes/element_list.rs +++ b/src/panes/element_list.rs @@ -14,9 +14,11 @@ fn items_list_view<'a>() -> Element<'a, Message> { for item in ElementName::ALL { column = column.push( - droppable(text(item.clone().to_string())).on_drop(|point, rect| { - Message::DropNewElement(item.clone(), point, rect) - }), + droppable(text(item.clone().to_string())) + .drag_center(true) + .on_drop(|point, rect| { + Message::DropNewElement(item.clone(), point, rect) + }), ); } diff --git a/src/types/rendered_element.rs b/src/types/rendered_element.rs index be2a004..9f51e7e 100755 --- a/src/types/rendered_element.rs +++ b/src/types/rendered_element.rs @@ -392,6 +392,7 @@ impl<'a> From<RenderedElement> for Element<'a, Message> { iced_drop::droppable(content) .id(value.id().clone()) .drag_hide(true) + .drag_center(true) .on_drop(move |point, rect| { Message::MoveElement(value.clone(), point, rect) }) |
