diff --git a/Libraries/UniversalEditor.Essential/Accessors/EmbeddedFileAccessor.cs b/Libraries/UniversalEditor.Essential/Accessors/EmbeddedFileAccessor.cs index 5aba603d..b7e6249a 100644 --- a/Libraries/UniversalEditor.Essential/Accessors/EmbeddedFileAccessor.cs +++ b/Libraries/UniversalEditor.Essential/Accessors/EmbeddedFileAccessor.cs @@ -32,6 +32,11 @@ namespace UniversalEditor.Accessors File = file; } + public override string GetFileName() + { + return String.Format("{0}|{1}", File.FileSystem.Accessor?.GetFileName(), File.Path); + } + protected override Accessor GetRelativeInternal(string filename, string prefix = null) { if (File.Parent != null) diff --git a/Libraries/UniversalEditor.Essential/ObjectModels/FileSystem/File.cs b/Libraries/UniversalEditor.Essential/ObjectModels/FileSystem/File.cs index 76256c71..664ab83e 100644 --- a/Libraries/UniversalEditor.Essential/ObjectModels/FileSystem/File.cs +++ b/Libraries/UniversalEditor.Essential/ObjectModels/FileSystem/File.cs @@ -338,6 +338,25 @@ namespace UniversalEditor.ObjectModels.FileSystem /// public FileSource Source { get; set; } = null; + [NonSerializedProperty] + public string Path + { + get + { + List list = new List(); + IFileSystemContainer parent = Parent; + list.Add(Name); + while (parent != null) + { + list.Add(parent.Name); + parent = parent.Parent; + } + list.Reverse(); + + return String.Join("/", list.ToArray()); + } + } + [NonSerializedProperty] public IFileSystemContainer Parent { get; internal set; } = null;