From 5d3e79c04bd1fefd7111368793ad456d4b2ac968 Mon Sep 17 00:00:00 2001 From: alcexhim Date: Thu, 26 Jun 2014 18:41:21 -0400 Subject: [PATCH] Only load if file exists, and make sure file path exists on save --- .../ConfigurationManager.cs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/CSharp/Libraries/UniversalEditor.UserInterface/ConfigurationManager.cs b/CSharp/Libraries/UniversalEditor.UserInterface/ConfigurationManager.cs index d373a8fc..1c37ef9f 100644 --- a/CSharp/Libraries/UniversalEditor.UserInterface/ConfigurationManager.cs +++ b/CSharp/Libraries/UniversalEditor.UserInterface/ConfigurationManager.cs @@ -47,13 +47,24 @@ namespace UniversalEditor.UserInterface public void Load() { UniversalEditor.DataFormats.PropertyList.XML.XMLPropertyListDataFormat xdf = new DataFormats.PropertyList.XML.XMLPropertyListDataFormat(); - Document.Load(mvarLocalConfiguration, xdf, new Accessors.FileAccessor(Engine.DataPath + System.IO.Path.DirectorySeparatorChar.ToString() + "Configuration.xml")); + + string FileName = Engine.DataPath + System.IO.Path.DirectorySeparatorChar.ToString() + "Configuration.xml"; + if (System.IO.File.Exists(FileName)) + { + Document.Load(mvarLocalConfiguration, xdf, new Accessors.FileAccessor(FileName)); + } } public void Save() { UniversalEditor.DataFormats.PropertyList.XML.XMLPropertyListDataFormat xdf = new DataFormats.PropertyList.XML.XMLPropertyListDataFormat(); - Document.Save(mvarLocalConfiguration, xdf, new Accessors.FileAccessor(Engine.DataPath + System.IO.Path.DirectorySeparatorChar.ToString() + "Configuration.xml", true, true)); + string FileName = Engine.DataPath + System.IO.Path.DirectorySeparatorChar.ToString() + "Configuration.xml"; + string dir = System.IO.Path.GetDirectoryName (FileName); + if (!System.IO.Directory.Exists(dir)) + { + System.IO.Directory.CreateDirectory(dir); + } + Document.Save(mvarLocalConfiguration, xdf, new Accessors.FileAccessor(FileName, true, true)); } } }