/// <summary> /// Checks whether action "Reset" is available. /// </summary> private bool Action_Reset_IsAvailable() { if (listRules.SelectedItems.Count != 1) { return(false); } ListViewItem lvi = listRules.SelectedItems[0]; CustomRuleTag tag = (CustomRuleTag)lvi.Tag; if (SettingsGrabber.IsRuleBold(Page.Analyzer.Id, tag.Rule.RuleName)) { return(true); } if (tag.SettingName != null) { if (tag.Modified) { return(true); } } return(false); }
/// <summary> /// Does action "Reset". /// </summary> private void Action_Reset_Do() { if (!Action_Reset_IsAvailable()) { return; } ListViewItem lvi = listRules.SelectedItems[0]; CustomRuleTag tag = (CustomRuleTag)lvi.Tag; bool inheritedEnabled = SettingsGrabber.IsRuleEnabled(Page.Analyzer.Id, tag.Rule.RuleName); if (SettingsGrabber.IsRuleBold(Page.Analyzer.Id, tag.Rule.RuleName)) { inheritedEnabled = !inheritedEnabled; } string preview = GetOptionsText(inheritedEnabled, tag.OptionsControl, tag.InheritedValue); if (Messages.ShowWarningYesNo(this, Resources.ResetSettingQuestion, preview) != DialogResult.Yes) { return; } if (inheritedEnabled) { SettingsGrabber.EnableRule(Page.Analyzer.Id, tag.Rule.RuleName); } else { SettingsGrabber.DisableRule(Page.Analyzer.Id, tag.Rule.RuleName); } if (tag.SettingName != null) { tag.MergedValue = tag.InheritedValue; } UpdateListItem(lvi); Page.Dirty = true; UpdateControls(); }
/// <summary> /// Updates list item depending on specified properties. /// </summary> private void UpdateListItem(ListViewItem lvi) { CustomRuleTag tag = (CustomRuleTag)lvi.Tag; ListViewItem.ListViewSubItem sub = lvi.SubItems[1]; bool enabled = SettingsGrabber.IsRuleEnabled(Page.Analyzer.Id, tag.Rule.RuleName); sub.Text = GetOptionsText(enabled, tag.OptionsControl, tag.MergedValue); lvi.ImageKey = enabled ? Pictures.RuleEnabled : Pictures.RuleDisabled; if (SettingsGrabber.IsRuleBold(Page.Analyzer.Id, tag.Rule.RuleName)) { sub.Font = m_bold; } else { sub.Font = tag.Modified ? m_bold : m_regular; } }