summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpml68 <contact@pml68.dev>2024-12-28 00:46:11 +0100
committerpml68 <contact@pml68.dev>2024-12-28 00:53:21 +0100
commit714ab9d4376fe890f269e47493691518a4e96289 (patch)
tree376fd1cbeb85091c0447502d91e9ec68439747d6
parentMerge pull request #4 from pml68/feat/playground (diff)
downloadiced-builder-714ab9d4376fe890f269e47493691518a4e96289.tar.gz
refactor!: switch to `uuid` for uuid generation
Existing project files can only be opened after deleting all ids
-rw-r--r--Cargo.lock55
-rw-r--r--iced_builder/Cargo.toml2
-rwxr-xr-xiced_builder/src/types/rendered_element.rs11
3 files changed, 38 insertions, 30 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 4d0f16d..0eed251 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -372,12 +372,6 @@ dependencies = [
[[package]]
name = "base64"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
-
-[[package]]
-name = "base64"
version = "0.22.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
@@ -425,16 +419,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
[[package]]
-name = "blob-uuid"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83fc15853171b33280f5614e77f5fa4debd33f51a86c44daa4ba3d759674c561"
-dependencies = [
- "base64 0.13.1",
- "uuid",
-]
-
-[[package]]
name = "block"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1992,7 +1976,6 @@ dependencies = [
name = "iced_builder"
version = "0.1.0"
dependencies = [
- "blob-uuid",
"embed-resource 3.0.1",
"iced",
"iced_anim",
@@ -2004,6 +1987,7 @@ dependencies = [
"serde_json",
"thiserror 2.0.9",
"tokio",
+ "uuid",
"windows_exe_info",
]
@@ -3457,7 +3441,7 @@ version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016"
dependencies = [
- "base64 0.22.1",
+ "base64",
"indexmap",
"quick-xml 0.32.0",
"serde",
@@ -3572,9 +3556,9 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.37"
+version = "1.0.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
+checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
dependencies = [
"proc-macro2",
]
@@ -3709,11 +3693,11 @@ checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832"
[[package]]
name = "reqwest"
-version = "0.12.9"
+version = "0.12.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f"
+checksum = "3d3536321cfc54baa8cf3e273d5e1f63f889067829c4b410fcdbac8ca7b80994"
dependencies = [
- "base64 0.22.1",
+ "base64",
"bytes",
"encoding_rs",
"futures-channel",
@@ -3744,6 +3728,7 @@ dependencies = [
"system-configuration",
"tokio",
"tokio-native-tls",
+ "tower",
"tower-service",
"url",
"wasm-bindgen",
@@ -4699,6 +4684,27 @@ dependencies = [
]
[[package]]
+name = "tower"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9"
+dependencies = [
+ "futures-core",
+ "futures-util",
+ "pin-project-lite",
+ "sync_wrapper",
+ "tokio",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "tower-layer"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
+
+[[package]]
name = "tower-service"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4872,7 +4878,7 @@ version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b84ea542ae85c715f07b082438a4231c3760539d902e11d093847a0b22963032"
dependencies = [
- "base64 0.22.1",
+ "base64",
"data-url",
"flate2",
"fontdb 0.18.0",
@@ -4912,6 +4918,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a"
dependencies = [
"getrandom",
+ "serde",
]
[[package]]
diff --git a/iced_builder/Cargo.toml b/iced_builder/Cargo.toml
index a1b41cc..c2437ec 100644
--- a/iced_builder/Cargo.toml
+++ b/iced_builder/Cargo.toml
@@ -18,7 +18,7 @@ serde_json = "1.0.133"
tokio = { version = "1.42.0", features = ["fs"] }
rfd = { version = "0.15.1", default-features = false, features = ["async-std", "gtk3"] }
rust-format = "0.3.4"
-blob-uuid = "0.5.0"
+uuid = { version = "1.11.0", features = ["v4", "serde"] }
thiserror = "2.0.6"
[build-dependencies]
diff --git a/iced_builder/src/types/rendered_element.rs b/iced_builder/src/types/rendered_element.rs
index d4d1a6c..ccc8668 100755
--- a/iced_builder/src/types/rendered_element.rs
+++ b/iced_builder/src/types/rendered_element.rs
@@ -1,9 +1,9 @@
use std::collections::BTreeMap;
-use blob_uuid::random_blob;
use iced::advanced::widget::Id;
use iced::{widget, Element, Length};
use serde::{Deserialize, Serialize};
+use uuid::Uuid;
use super::ElementName;
use crate::types::Message;
@@ -11,7 +11,8 @@ use crate::Result;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct RenderedElement {
- id: String,
+ #[serde(skip)]
+ id: Uuid,
child_elements: Option<Vec<RenderedElement>>,
name: ElementName,
options: BTreeMap<String, Option<String>>,
@@ -20,7 +21,7 @@ pub struct RenderedElement {
impl RenderedElement {
fn new(name: ElementName) -> Self {
Self {
- id: random_blob(),
+ id: Uuid::new_v4(),
child_elements: None,
name,
options: BTreeMap::new(),
@@ -29,7 +30,7 @@ impl RenderedElement {
fn with(name: ElementName, child_elements: Vec<RenderedElement>) -> Self {
Self {
- id: random_blob(),
+ id: Uuid::new_v4(),
child_elements: Some(child_elements),
name,
options: BTreeMap::new(),
@@ -37,7 +38,7 @@ impl RenderedElement {
}
pub fn get_id(&self) -> Id {
- Id::new(self.id.clone())
+ Id::new(self.id.to_string())
}
pub fn find_by_id(&mut self, id: Id) -> Option<&mut Self> {