public frmMain() { InitializeComponent(); #if DEBUG cbFolder.Text = @"C:\Users\yo\Documents\FileSearch\FileSearch\bin\Debug"; #endif lstFilePattern.BringToFront(); //Initialize private variables. _results = new List<string>(); _searchLog = new System.Text.StringBuilder(); _predefinedPatterns = new List<PredefinedPattern>(); _searchFolderHistory = new List<SearchFolderHistory>(); //Load the settings file. _settings = XElement.Load("settings.txt"); //Parse each pattern and place it in the list box. foreach (var predefinedPattern in _settings.Element("predefinedPatterns").Elements("predefinedPattern")) { if (predefinedPattern.Attribute("Id") == null) predefinedPattern.Add(new XAttribute("Id", Guid.NewGuid().ToString())); var newPattern = new PredefinedPattern(predefinedPattern); _predefinedPatterns.Add(newPattern); lstFilePattern.Items.Add(newPattern); } if (_settings.Element("searchFolderHistory") == null) { //Search folder history node is missing from the settings file. //Add the node now. No need to save the settings file now. _settings.Add(new XElement("searchFolderHistory")); } else { //Parse each folder and place it in the ComboBox. foreach (var searchFolder in _settings.Element("searchFolderHistory").Elements("searchFolder")) { var newFolder = new SearchFolderHistory(searchFolder); _searchFolderHistory.Add(newFolder); cbFolder.Items.Add(newFolder); } } //Present program's version. this.Text += " v" + typeof(frmMain).Assembly.GetName().Version.ToString(); #if DEBUG this.Text += " BETA"; #endif }
private void btnAddPattern_Click(object sender, EventArgs e) { //Ask the user for a name for the new pattern. var patternName = frmInput.ShowInput("Enter a name for new pattern:"); if (patternName != null && patternName.Length > 0) { //With a name entered, save the pattern in the settings. var newPattern = new PredefinedPattern(patternName, txSelectedPattern.Text); var newPatternXml = new XElement("predefinedPattern"); newPatternXml.Add(new XAttribute("Id", newPattern.Id)); newPatternXml.Add(new XAttribute("Caption", newPattern.Caption)); newPatternXml.Add(new XAttribute("Pattern", newPattern.Pattern)); _settings.Element("predefinedPatterns").Add(newPatternXml); _settings.Save("settings.txt"); _predefinedPatterns.Add(newPattern); lstFilePattern.Items.Add(newPattern, true); } }