Initial StaticData platform abstraction

This commit is contained in:
John Lewin 2014-11-25 07:47:03 -08:00
parent 62730c186d
commit eba756966b
23 changed files with 113 additions and 127 deletions

View file

@ -41,6 +41,7 @@ using MatterHackers.MatterControl.ContactForm;
using MatterHackers.MatterControl.DataStorage;
using MatterHackers.Localizations;
using MatterHackers.MatterControl.ConfigurationPage.PrintLeveling;
using MatterHackers.Agg.PlatformAbstract;
namespace MatterHackers.MatterControl.SlicerConfiguration
{
@ -547,10 +548,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
private void LoadDefaultConfigrationSettings()
{
string slic3rDefaultConfigurationPathAndFile = Path.Combine(ApplicationDataStorage.Instance.ApplicationStaticDataPath, "PrinterSettings", "config.ini");
DataStorage.SliceSettingsCollection defaultCollection = new DataStorage.SliceSettingsCollection();
defaultCollection.Name = "__default__";
SettingsLayer defaultSettingsLayer = LoadConfigurationSettingsFromFile(slic3rDefaultConfigurationPathAndFile, defaultCollection);
SettingsLayer defaultSettingsLayer = LoadConfigurationSettingsFromFile(Path.Combine("PrinterSettings", "config.ini"), defaultCollection);
this.activeSettingsLayers.Add(defaultSettingsLayer);
}
@ -579,9 +579,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
SettingsLayer activeCollection;
try
{
if (File.Exists(pathAndFileName))
if (StaticData.Instance.FileExists(pathAndFileName))
{
string[] lines = System.IO.File.ReadAllLines(pathAndFileName);
var lines = StaticData.Instance.ReadAllLines(pathAndFileName);
foreach (string line in lines)
{
//Ignore commented lines

View file

@ -33,6 +33,7 @@ using MatterHackers.Localizations;
using MatterHackers.MatterControl.DataStorage;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using MatterHackers.Agg.PlatformAbstract;
namespace MatterHackers.MatterControl.SlicerConfiguration
{
@ -223,10 +224,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
SliceSettingsOrganizer()
{
string layoutsPathAndFilename = Path.Combine(ApplicationDataStorage.Instance.ApplicationStaticDataPath, "SliceSettings", "Layouts.txt");
string propertiesPathAndFilename = Path.Combine(ApplicationDataStorage.Instance.ApplicationStaticDataPath, "SliceSettings", "Properties.json");
LoadAndParseSettingsFiles(Path.Combine("SliceSettings", "Properties.txt"), Path.Combine("SliceSettings", "Layouts.txt"));
LoadAndParseSettingsFiles(propertiesPathAndFilename, layoutsPathAndFilename);
#if false
Categories.Add(CreatePrintSettings());
@ -277,6 +276,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
if (savedFileName == null)
{
// TODO: Save setting to something other than *Static*Data
savedFileName = Path.Combine(ApplicationDataStorage.Instance.ApplicationStaticDataPath, "ConfigSettingsMapping.json");
}
string jsonString = JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
@ -290,33 +290,22 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
void LoadAndParseSettingsFiles(string propertiesPathAndFilename, string layoutPathAndFilename)
{
{
string propertiesFileContents = "";
using (FileStream fileStream = new FileStream(propertiesPathAndFilename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
var lines = StaticData.Instance.ReadAllLines(properties);
foreach (string line in lines)
{
using (StreamReader propertiesReader = new StreamReader(fileStream))
if (line.Trim().Length > 0)
{
propertiesFileContents = propertiesReader.ReadToEnd();
settingsData.Add(OrganizerSettingsData.NewOrganizerSettingData(line));
}
}
settingsData = (List<OrganizerSettingsData>)JsonConvert.DeserializeObject<List<OrganizerSettingsData>>(propertiesFileContents);
}
{
string layoutFileContents = "";
using (FileStream fileStream = new FileStream(layoutPathAndFilename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
using (StreamReader layoutReader = new StreamReader(fileStream))
{
layoutFileContents = layoutReader.ReadToEnd();
}
}
OrganizerUserLevel userLevelToAddTo = null;
OrganizerCategory categoryToAddTo = null;
OrganizerGroup groupToAddTo = null;
OrganizerSubGroup subGroupToAddTo = null;
string[] lines = layoutFileContents.Split('\n');
var lines = StaticData.Instance.ReadAllLines(layout);
foreach (string line in lines)
{
if (line.Length > 0)