diff --git a/.idea/.idea.NetworkDiagram/.idea/vcs.xml b/.idea/.idea.NetworkDiagram/.idea/vcs.xml
new file mode 100644
index 0000000..8306744
--- /dev/null
+++ b/.idea/.idea.NetworkDiagram/.idea/vcs.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/NetworkDiagram/Assets/assets.zip b/NetworkDiagram/Assets/assets.zip
new file mode 100644
index 0000000..6e6ab1f
Binary files /dev/null and b/NetworkDiagram/Assets/assets.zip differ
diff --git a/NetworkDiagram/MainWindow.xaml b/NetworkDiagram/MainWindow.xaml
index c8c29e1..faf5008 100644
--- a/NetworkDiagram/MainWindow.xaml
+++ b/NetworkDiagram/MainWindow.xaml
@@ -52,8 +52,8 @@
- EN
- CZ
+ EN
+ CZ
diff --git a/NetworkDiagram/MainWindow.xaml.cs b/NetworkDiagram/MainWindow.xaml.cs
index 584193f..5247a9a 100644
--- a/NetworkDiagram/MainWindow.xaml.cs
+++ b/NetworkDiagram/MainWindow.xaml.cs
@@ -100,7 +100,7 @@ namespace NetworkDiagram
private void AddDeviceToCanvas(DeviceTemplate template, double x, double y)
{
- var placed = new PlacedDevice { Name = template.Name, IconPath = template.IconPath, X = x, Y = y };
+ var placed = new PlacedDevice { Name = template.Name, TemplateName = template.Name, IconPath = template.IconPath, X = x, Y = y };
_currentDiagram.Devices.Add(placed);
RenderDevice(placed);
}
@@ -445,6 +445,13 @@ namespace NetworkDiagram
var model = JsonSerializer.Deserialize(json);
if (model == null) return;
_currentDiagram = new Diagram { Devices = model.Devices };
+
+ foreach (var device in _currentDiagram.Devices)
+ {
+ var template = _deviceTemplates.FirstOrDefault(t => t.Name == device.TemplateName);
+ if (template != null) device.IconPath = template.IconPath;
+ }
+
DiagramCanvas.Children.Clear();
_connectionLines.Clear();
_deviceElements.Clear();
diff --git a/NetworkDiagram/Models/DiagramModels.cs b/NetworkDiagram/Models/DiagramModels.cs
index d5bba91..e7ea684 100644
--- a/NetworkDiagram/Models/DiagramModels.cs
+++ b/NetworkDiagram/Models/DiagramModels.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.CompilerServices;
+using System.Text.Json.Serialization;
namespace NetworkDiagram.Models
{
@@ -30,6 +31,9 @@ namespace NetworkDiagram.Models
set { _name = value; OnPropertyChanged(); }
}
+ public string TemplateName { get; set; } = string.Empty;
+
+ [JsonIgnore]
public string IconPath { get; set; } = string.Empty;
public double X