Make the text cache look in static data if can't find cache

Made persistable work on decimate and repair
This commit is contained in:
Lars Brubaker 2020-05-21 16:29:45 -07:00
parent 6ef0df24cc
commit 7d3cce547d
4 changed files with 26 additions and 4 deletions

View file

@ -53,6 +53,8 @@ namespace MatterHackers.MatterControl.DesignTools
Polygon_Percent
}
public override bool Persistable => ApplicationController.Instance.UserHasPermission(this);
public ReductionMode Mode { get; set; } = ReductionMode.Polygon_Percent;
[ReadOnly(true)]

View file

@ -26,6 +26,8 @@ namespace MatterHackers.MatterControl.DesignTools
Name = "Repair".Localize();
}
public override bool Persistable => ApplicationController.Instance.UserHasPermission(this);
[Description("Make all the faces have a consistent orientation.")]
public bool FaceOrientation { get; set; } = true;

View file

@ -74,7 +74,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.PlusTab
{
markdownWidget.Markdown = markDown;
});
});
},
true);
}
}
}

View file

@ -200,12 +200,18 @@ namespace MatterHackers.MatterControl
}
}
public static void RetrieveText(string uriToLoad, Action<string> updateResult)
public static void RetrieveText(string uriToLoad, Action<string> updateResult, bool checkStaticData = false)
{
var longHash = uriToLoad.GetLongHashCode();
var textFileName = ApplicationController.CacheablePath("Text", longHash.ToString() + ".txt");
// change to a path that makes it easy to collect up all the text we want to ship with MC
if (checkStaticData)
{
textFileName = ApplicationController.CacheablePath("Text_OverRide", longHash.ToString() + ".txt");
}
string fileText = null;
if (File.Exists(textFileName))
{
@ -218,9 +224,20 @@ namespace MatterHackers.MatterControl
{
}
}
else // check if it is in the shipping data for the application
else // We could not find it in the cache. Check if it is in static data.
{
if (File.Exists(textFileName))
{
try
{
textFileName = AggContext.StaticData.ReadAllText(Path.Combine("Text_OverRide", longHash.ToString() + ".txt"));
fileText = File.ReadAllText(textFileName);
updateResult?.Invoke(fileText);
}
catch
{
}
}
}
Task.Run(async () =>