/// <summary> /// Updates list item depending on specified properties. /// </summary> private void UpdateListItem(ListViewItem lvi) { SettingTag tag = (SettingTag)lvi.Tag; ListViewItem.ListViewSubItem sub = lvi.SubItems[1]; sub.Font = tag.Modified ? m_bold : m_regular; sub.Text = NamingSettings.GetPreviewText(tag.SettingName, tag.MergedValue); string settingName = tag.SettingName; bool enabled = !String.IsNullOrEmpty(tag.MergedValue); lvi.ImageKey = NamingSettings.GetImageKey(settingName, enabled); }
/// <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]; SettingTag tag = (SettingTag)lvi.Tag; if (tag.Modified) { return(true); } return(false); }
/// <summary> /// Apply the modifications to the StyleCop settings file. /// </summary> public bool Apply() { foreach (ListViewItem lvi in listRules.Items) { SettingTag tag = (SettingTag)lvi.Tag; if (tag.Modified) { SettingsManager.SetLocalValue(Page, tag.SettingName, tag.MergedValue); } else { SettingsManager.ClearLocalValue(Page, tag.SettingName); } } return(true); }
/// <summary> /// Refreshes the state of the settings override. /// </summary> public void RefreshSettingsOverrideState() { foreach (ListViewItem lvi in listRules.Items) { SettingTag tag = (SettingTag)lvi.Tag; if (tag.Modified) { tag.InheritedValue = SettingsManager.GetInheritedValue(Page, tag.SettingName); Page.Dirty = true; } else { tag.InheritedValue = SettingsManager.GetInheritedValue(Page, tag.SettingName); tag.MergedValue = SettingsManager.GetMergedValue(Page, tag.SettingName); } UpdateListItem(lvi); } UpdateControls(); }
/// <summary> /// Rebuilds rule list. /// </summary> private void RebuildRuleList() { listRules.BeginUpdate(); listRules.Groups.Clear(); listRules.Items.Clear(); foreach (string group in NamingSettings.GetGroups()) { ListViewGroup lvg = new ListViewGroup(group); listRules.Groups.Add(lvg); foreach (string setting in NamingSettings.GetByGroup(group)) { string friendlyName = SettingsManager.GetFriendlyName(Page, setting); string mergedValue = SettingsManager.GetMergedValue(Page, setting); string inheritedValue = SettingsManager.GetInheritedValue(Page, setting); SettingTag tag = new SettingTag(); tag.SettingName = setting; tag.MergedValue = mergedValue; tag.InheritedValue = inheritedValue; ListViewItem lvi = new ListViewItem(); lvi.Group = lvg; lvi.UseItemStyleForSubItems = false; lvi.Text = friendlyName; lvi.Tag = tag; ListViewItem.ListViewSubItem sub = new ListViewItem.ListViewSubItem(); lvi.SubItems.Add(sub); UpdateListItem(lvi); listRules.Items.Add(lvi); } } listRules.EndUpdate(); }
/// <summary> /// Does action "Reset". /// </summary> private void Action_Reset_Do() { if (!Action_Reset_IsAvailable()) { return; } ListViewItem lvi = listRules.SelectedItems[0]; SettingTag tag = (SettingTag)lvi.Tag; string preview = NamingSettings.GetPreviewText(tag.SettingName, tag.InheritedValue); if (Messages.ShowWarningYesNo(this, Resources.ResetSettingQuestion, preview) != DialogResult.Yes) { return; } tag.MergedValue = tag.InheritedValue; UpdateListItem(lvi); Page.Dirty = true; UpdateControls(); }
/// <summary> /// Does action "Edit". /// </summary> private void Action_Edit_Do() { if (!Action_Edit_IsAvailable()) { return; } ListViewItem lvi = listRules.SelectedItems[0]; SettingTag tag = (SettingTag)lvi.Tag; using (IAdvancedNamingEditor dialog = NamingSettings.GetEditor(tag.SettingName)) { dialog.ObjectName = lvi.Text; dialog.TargetRule = tag.MergedValue; if (dialog.ShowDialog(this) == DialogResult.OK) { tag.MergedValue = dialog.TargetRule; UpdateListItem(lvi); Page.Dirty = true; UpdateControls(); } } }