using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace GeoSigma.SigmaDrawerUtil { public class RecentFileConfig : XmlConfig { public override string SectionName {get;set;}= "RecentFiles"; private int maxFiles = 10; public RecentFileConfig() : base() { SectionAttributes.Add(new System.Xml.Linq.XAttribute("FileNumbers", maxFiles)); ResetAttributes(); files = this.FindValues("FileName"); } private List files; public List Files { get { if(files == null) { files = new List(); } return files; } set { files = value; } } public bool AddTop(string filePath) { if (Files.Count > 0) { if(Files[0].Equals(filePath, StringComparison.CurrentCultureIgnoreCase)) { return false; } } Files.Remove(filePath); Files.Insert(0, filePath); if (Files.Count > maxFiles) { Files.RemoveAt(maxFiles); } ResetValues("FileName", Files); return true; } } }