private void watch_Changed(object sender, FileSystemEventArgs e) { /* an annoying thing happens when the user says yes to any of the above three * events - this event is automatically triggered. To bypass this we use the * boolean, FileChangedBypass. */ if (fileChangedBypass) { fileChangedBypass = false; } else if (Ruleset.ruleFileNames.Contains(e.Name)) { fileChangedBypass = true; var i = Ruleset.ruleFileNames.FindIndex(a => a.Equals(e.Name)); Ruleset.filer.ReloadSpecificRule(Ruleset, i); SearchIO.MessageBoxShow("The rule, " + e.Name + ", has changed and has been reloaded into ruleset, " + Ruleset.name + ".", "RuleSet Rule Changed."); } }
private void watch_Created(object sender, FileSystemEventArgs e) { if (!Ruleset.ruleFileNames.Contains(e.Name)) { return; } var res = SearchIO.MessageBoxShow("It appears that you have created a rule that was a member of ruleset: " + Ruleset.name + ". Would you like to load it into the rule set?", "Rule Set Rule Created."); if (!res) { return; } fileChangedBypass = true; var i = Ruleset.ruleFileNames.FindIndex(a => a.Equals(e.Name)); Ruleset.filer.ReloadSpecificRule(Ruleset, i); }
private void watch_Deleted(object sender, FileSystemEventArgs e) { if (!Ruleset.ruleFileNames.Contains(e.Name)) { return; } var res = SearchIO.MessageBoxShow("It appears that you have deleted a rule that was a member of ruleset: " + Ruleset.name + ". Would you like to delete the rule from the set?", "Rule Set Rule Deleted."); if (!res) { return; } fileChangedBypass = true; var i = Ruleset.ruleFileNames.FindIndex(a => a.Equals(e.Name)); Ruleset.ruleFileNames.RemoveAt(i); Ruleset.rules.RemoveAt(i); }
private void watch_Renamed(object sender, RenamedEventArgs e) { var oldName = Path.GetFileName(e.OldFullPath); var newName = Path.GetFileName(e.FullPath); if (!Ruleset.ruleFileNames.Contains(oldName)) { return; } var res = SearchIO.MessageBoxShow("It appears that you have renamed a rule that was a member of ruleset: " + Ruleset.name + ". Would you like to keep the rule in this set?", "Rule Set Rule Renamed."); if (!res) { return; } fileChangedBypass = true; var i = Ruleset.ruleFileNames.FindIndex(a => a.Equals(oldName)); Ruleset.ruleFileNames[i] = newName; }