public override void SetToDefault(IModuleData Data) { base.SetToDefault(Data); FindDOS2DataDirectory(); DirectoryLayoutFile = DOS2DefaultPaths.DirectoryLayout(Data); }
public void LoadDirectoryLayout() { if (Data.Settings.DirectoryLayouts == null) { Data.Settings.DirectoryLayouts = new List <string>(); } else { Data.Settings.DirectoryLayouts.Clear(); } string layoutFile = ""; string layoutFileContents = ""; if (File.Exists(Data.Settings.DirectoryLayoutFile)) { Log.Here().Activity("DirectoryLayout file found at {0}. Reading directory layout.", Data.Settings.DirectoryLayoutFile); layoutFile = Data.Settings.DirectoryLayoutFile; } else { Log.Here().Warning("DirectoryLayout.txt file not found. Using default settings."); if (File.Exists(DOS2DefaultPaths.DirectoryLayout(Data))) { Log.Here().Activity("DirectoryLayout.default.txt found. Reading directory layout."); layoutFile = DOS2DefaultPaths.DirectoryLayout(Data); } else { Log.Here().Warning("Default DirectoryLayout.default.txt file not found. Using default settings stored in app."); layoutFileContents = SCG.Modules.DOS2.Properties.Resources.DirectoryLayout; FileCommands.WriteToFile(DOS2DefaultPaths.DirectoryLayout(Data), layoutFileContents); } Data.Settings.DirectoryLayoutFile = DOS2DefaultPaths.DirectoryLayout(Data); saveModuleSettings = true; } if (!String.IsNullOrEmpty(layoutFile) && File.Exists(layoutFile)) { layoutFileContents = File.ReadAllText(layoutFile); } if (layoutFileContents != "") { using (var reader = new System.IO.StringReader(layoutFileContents)) { for (string line = reader.ReadLine(); line != null; line = reader.ReadLine()) { if (line.Trim().Length > 0) { //Get the first non-whitespace character index. int offset = line.TakeWhile(c => char.IsWhiteSpace(c)).Count(); bool isComment = line.Substring(offset, 1) == "#"; if (!isComment) { Data.Settings.DirectoryLayouts.Add(line); Log.Here().Activity("Added {0} to project directory path patterns.", line); } } } } } }