private void btn_apply_Click(object sender, EventArgs e)
{
//save rules
//clear rules (instead of checking for changes we just overwrite the whole ruleset)
Settings.Default.AutoBrowser.Clear();
foreach (var rule in rules)
{
//check if rule has both pattern and browser defined
if (rule.valid())
//add it to rule list
Settings.Default.AutoBrowser.Add(rule.ToString());
else
{
//ignore rule if both pattern and browser is empty otherwise inform user of missing part
var err = rule.error();
if (err.Length > 0)
{
MessageBox.Show("Invalid Rule: " + err);
}
}
}
//save rules
Settings.Default.Save();
//Enabled property of apply button is used as a flag for unsaved changes
btn_apply.Enabled = false;
btn_cancel.Text = "Close";
}