diff --git a/Libraries/UniversalEditor.UserInterface/Editors/FileSystem/FileSystemEditor.cs b/Libraries/UniversalEditor.UserInterface/Editors/FileSystem/FileSystemEditor.cs index 041fdd40..57ae95e7 100644 --- a/Libraries/UniversalEditor.UserInterface/Editors/FileSystem/FileSystemEditor.cs +++ b/Libraries/UniversalEditor.UserInterface/Editors/FileSystem/FileSystemEditor.cs @@ -224,7 +224,7 @@ namespace UniversalEditor.Editors.FileSystem File file = GetCurrentFileSystemContainer().AddFile(d.Title.Replace("<", String.Empty).Replace(">", String.Empty)); EndEdit(); - TreeModelRow row = RecursiveAddFile(file, tv.SelectedRows.Count == 1 ? tv.SelectedRows[0] : null); + TreeModelRow row = RecursiveAddFile(file, GetCurrentTreeModelRow()); file.Properties["row"] = row; EmbeddedFileAccessor efa = new EmbeddedFileAccessor(file); @@ -234,6 +234,11 @@ namespace UniversalEditor.Editors.FileSystem } } + private TreeModelRow GetCurrentTreeModelRow() + { + return tv.SelectedRows.Count == 1 ? tv.SelectedRows[0] : null; + } + void D_Saved(object sender, EventArgs e) { Document d = (sender as Document); @@ -316,7 +321,16 @@ namespace UniversalEditor.Editors.FileSystem File f = fsom.AddFile(fileTitle, data); TreeModelRow row = UIGetTreeModelRowForFileSystemObject(f); row.SetExtraData("item", f); - tm.Rows.Add(row); + + TreeModelRow rowParent = GetCurrentTreeModelRow(); + if (rowParent == null) + { + tm.Rows.Add(row); + } + else + { + rowParent.Rows.Add(row); + } return f; } @@ -385,6 +399,10 @@ namespace UniversalEditor.Editors.FileSystem if (fldr != null) fsct = fldr; } + else if (CurrentFolder != null) + { + return CurrentFolder; + } return fsct; }