private static List <LayerInfo> LoadLayers(string layersDirectory, OemProfile oemProfile) { // The slice presets layer cascade contains the preset layer, with config.ini data as a parent return(Directory.Exists(layersDirectory) ? Directory.GetFiles(layersDirectory, "*.slice").Select(file => new LayerInfo() { RelativeFilePath = file.Substring(printerSettingsDirectory.Length + 1), LayerCascade = new LayeredProfile(new OemProfile(SettingsLayer.LoadFromIni(file)), oemProfile.OemLayer) }).ToList() : new List <LayerInfo>()); }
static ConfigIniTests() { allPrinters = (from configIni in new DirectoryInfo(printerSettingsDirectory).GetFiles("config.ini", System.IO.SearchOption.AllDirectories) select new PrinterConfig { PrinterName = configIni.Directory.Name, Oem = configIni.Directory.Parent.Name, ConfigPath = configIni.FullName, RelativeConfigPath = configIni.FullName.Substring(printerSettingsDirectory.Length + 1), SettingsLayer = SettingsLayer.LoadFromIni(configIni.FullName) }).ToList(); }
static ConfigIniTests() { allPrinters = (from configIni in new DirectoryInfo(printerSettingsDirectory).GetFiles("config.ini", System.IO.SearchOption.AllDirectories) let oemProfile = new OemProfile(SettingsLayer.LoadFromIni(configIni.FullName)) select new PrinterConfig { PrinterName = configIni.Directory.Name, Oem = configIni.Directory.Parent.Name, ConfigPath = configIni.FullName, ConfigIni = new LayerInfo() { RelativeFilePath = configIni.FullName.Substring(printerSettingsDirectory.Length + 1), // The config.ini layer cascade contains only itself LayerCascade = new LayeredProfile(oemProfile, new SettingsLayer()), }, MatterialLayers = LoadLayers(Path.Combine(configIni.Directory.FullName, "material"), oemProfile), QualityLayers = LoadLayers(Path.Combine(configIni.Directory.FullName, "quality"), oemProfile) }).ToList(); }