private void AddQualityMetricItemToComboBox(Sdl.Community.Structures.QualityMetrics.QualityMetric qmM) { comboBox_qm.Items[0] = qmM.Name; comboBox_qm.SelectedIndex = 0; if (comboBox_severity.Items[0].ToString().Trim() == string.Empty) { comboBox_severity.Items.RemoveAt(0); comboBox_severity.SelectedIndex = 0; } comboBox_severity.Enabled = true; #region | check for default and set it | foreach (var qm in Tracked.Settings.QualityMetricGroup.Metrics) { if (string.Compare(qm.Name, comboBox_qm.SelectedItem.ToString(), StringComparison.OrdinalIgnoreCase) != 0) { continue; } for (var i = 0; i < comboBox_severity.Items.Count; i++) { if (string.Compare(qm.MetricSeverity.Name, comboBox_severity.Items[i].ToString(), StringComparison.OrdinalIgnoreCase) != 0) { continue; } comboBox_severity.SelectedIndex = i; break; } break; } #endregion }
private void QualityMetric_Load(object sender, EventArgs e) { IsLoading = true; Saved = false; try { #region | comboBox_qm | try { comboBox_qm.BeginUpdate(); comboBox_qm.Items.Clear(); comboBox_qm.Items.Add(string.Empty); Sdl.Community.Structures.QualityMetrics.QualityMetric qmItemInList = null; foreach (var qmIn in Tracked.Settings.QualityMetricGroup.Metrics) { if (qmIn.Name.Trim() == string.Empty) { continue; } if (qmIn.Name.IndexOf(">", StringComparison.Ordinal) > -1) { var name = qmIn.Name; var nameBefore = name.Substring(0, name.IndexOf(">", StringComparison.Ordinal)); var nameAfter = name.Substring(name.IndexOf(">", StringComparison.Ordinal) + 1); var tsiParent = GetParentMenuItem(nameBefore, contextMenuStrip2.Items); name = nameAfter; while (name.Trim() != string.Empty && name.IndexOf(">", StringComparison.Ordinal) > -1) { nameBefore = name.Substring(0, name.IndexOf(">", StringComparison.Ordinal)); nameAfter = name.Substring(name.IndexOf(">", StringComparison.Ordinal) + 1); tsiParent = GetParentMenuItem(nameBefore, tsiParent.DropDownItems); name = nameAfter; } var tsiItem = GetParentMenuItem(name, tsiParent.DropDownItems); tsiItem.Tag = qmIn; tsiItem.Click += tsi_item_Click; tsiParent.DropDownItems.Add(tsiItem); if (string.Compare(qmIn.Name, Metric.Name, StringComparison.OrdinalIgnoreCase) == 0) { qmItemInList = qmIn; } } else { var tsiParent = GetParentMenuItem(qmIn.Name, contextMenuStrip2.Items); tsiParent.Tag = qmIn; contextMenuStrip2.Items.Add(tsiParent); if (string.Compare(qmIn.Name, Metric.Name, StringComparison.OrdinalIgnoreCase) == 0) { qmItemInList = qmIn; } } } if (qmItemInList != null) { comboBox_qm.Items[0] = qmItemInList.Name; } else { comboBox_qm.Items[0] = Metric.Name; } comboBox_qm.SelectedIndex = 0; } finally { comboBox_qm.EndUpdate(); } #endregion #region | comboBox_severity | try { comboBox_severity.BeginUpdate(); comboBox_severity.Items.Clear(); var iIndex = 0; var iSelectedIndex = 0; foreach (var severity in Tracked.Settings.QualityMetricGroup.Severities) { if (string.Compare(Metric.SeverityName, severity.Name, StringComparison.OrdinalIgnoreCase) == 0) { iSelectedIndex = iIndex; } comboBox_severity.Items.Add(severity.Name + " {" + severity.Value + "}"); iIndex++; } if (comboBox_qm.SelectedItem.ToString().Trim() == string.Empty) { comboBox_severity.Items.Insert(0, string.Empty); comboBox_severity.SelectedIndex = 0; comboBox_severity.Enabled = false; } else { comboBox_severity.SelectedIndex = iSelectedIndex; comboBox_severity.Enabled = true; } } finally { comboBox_severity.EndUpdate(); } #endregion #region | comboBox_status | switch (Metric.Status) { case Sdl.Community.Structures.Documents.Records.QualityMetric.ItemStatus.Open: comboBox_status.SelectedIndex = 0; break; case Sdl.Community.Structures.Documents.Records.QualityMetric.ItemStatus.Resolved: comboBox_status.SelectedIndex = 1; break; case Sdl.Community.Structures.Documents.Records.QualityMetric.ItemStatus.Ignore: comboBox_status.SelectedIndex = 2; break; } #endregion textBox_content.Text = Metric.Content; textBox_comment.Text = Metric.Comment; if (Metric.Modified.HasValue) { label_status_text.Text = PluginResources.Modified_ + Metric.Modified.Value + "\r\n" + PluginResources.By_ + Metric.UserName; } label_status_text.Visible = IsEdit; comboBox_qm.Focus(); comboBox_qm.Select(); } catch (Exception ex) { //if there is an error while loading then close the dialog MessageBox.Show(this, ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); Close(); } finally { IsLoading = false; CheckEnabled(); } }