From 714ab9d4376fe890f269e47493691518a4e96289 Mon Sep 17 00:00:00 2001 From: pml68 Date: Sat, 28 Dec 2024 00:46:11 +0100 Subject: refactor!: switch to `uuid` for uuid generation Existing project files can only be opened after deleting all ids --- iced_builder/Cargo.toml | 2 +- iced_builder/src/types/rendered_element.rs | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) (limited to 'iced_builder') 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>, name: ElementName, options: BTreeMap>, @@ -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) -> 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> { -- cgit v1.2.3