private void contextMenu_Opening(object sender, CancelEventArgs e) { if (_currentItem == null) { //e.Cancel = true; return; } for (int i = _contextMenu.Items.Count - 1; i >= 0; i--) { if (_contextMenu.Items[i] is ToolStripSeparator) { break; } _contextMenu.Items.RemoveAt(i); } if (_currentItem != null && _currentItem.Tag is IssueItemView) { IssueItemView issue = (IssueItemView)_currentItem.Tag; foreach (IIssueAction action in issue.GetActions()) { ActionMenuItem menu = new ActionMenuItem(issue, action); menu.Click += new EventHandler(RefreshContents); _contextMenu.Items.Add(menu); } } }
private void listView_ItemChecked(object sender, ItemCheckedEventArgs e) { IssueItemView issue = e.Item.Tag as IssueItemView; if (issue != null) { issue.Selected = e.Item.Checked; } }
public ActionMenuItem(IssueItemView item, IIssueAction action) : base(action.Name) { _issue = item; _action = action; ToolTipText = String.Format("{0} and assign to {1}.", _action.Name, _issue.ReportedBy.Name); base.Click += new EventHandler(DoClick); }
bool MatchesCurrentFilter(IssueItemView item) { IIssueUser byAssignee; if (_assignedFilter.TryGetSelection(out byAssignee) && byAssignee.Id != AllUsersFilter.Instance.Id) { if (item.AssignedTo.Id != byAssignee.Id) { return(false); } } IIssueState byStatus; if (_statusFilter.TryGetSelection(out byStatus) && byStatus.Id != AllStatusFilter.Instance.Id) { if (item.CurrentState.Id != byStatus.Id) { return(false); } } if (!String.IsNullOrEmpty(_textFilter)) { foreach (string part in _textFilter.Split(' ', '\t')) { string phrase = part.Trim(); if (String.IsNullOrEmpty(phrase)) { continue; } if (item.Name.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0 && item.DisplayId.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0 && item.FullDescription.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0 && item.CurrentState.Name.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0 && item.AssignedTo.Name.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0 && item.ReportedBy.Name.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0) { return(false); } } } return(true); }
bool MatchesCurrentFilter(IssueItemView item) { IIssueUser byAssignee; if (_assignedFilter.TryGetSelection(out byAssignee) && byAssignee.Id != AllUsersFilter.Instance.Id) { if (item.AssignedTo.Id != byAssignee.Id) return false; } IIssueState byStatus; if (_statusFilter.TryGetSelection(out byStatus) && byStatus.Id != AllStatusFilter.Instance.Id) { if (item.CurrentState.Id != byStatus.Id) return false; } if (!String.IsNullOrEmpty(_textFilter)) { foreach (string part in _textFilter.Split(' ', '\t')) { string phrase = part.Trim(); if (String.IsNullOrEmpty(phrase)) continue; if (item.Name.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0 && item.DisplayId.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0 && item.FullDescription.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0 && item.CurrentState.Name.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0 && item.AssignedTo.Name.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0 && item.ReportedBy.Name.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0) return false; } } return true; }
public void Refresh(bool applyLocal) { IIssueFilter filter; List<IssueItemView> found = new List<IssueItemView>(); Dictionary<string, IIssueUser> distinct = new Dictionary<string, IIssueUser>(); Dictionary<string, IIssueUser> assigned = new Dictionary<string, IIssueUser>(); assigned[AllUsersFilter.Instance.Id] = AllUsersFilter.Instance; Dictionary<string, IIssueState> statuses = new Dictionary<string, IIssueState>(); statuses[AllStatusFilter.Instance.Id] = AllStatusFilter.Instance; if (_filters.TryGetSelection(out filter)) { IIssue[] items; if (filter is IIssueFilterWithSearch) items = ((IIssueFilterWithSearch)filter).GetIssues(_textFilter); else items = filter.GetIssues(); foreach (IIssue issue in items) { IssueItemView item = new IssueItemView(this, issue); found.Add(item); distinct[item.AssignedTo.Id] = item.AssignedTo; distinct[item.ReportedBy.Id] = item.ReportedBy; assigned[item.AssignedTo.Id] = item.AssignedTo; statuses[item.CurrentState.Id] = item.CurrentState; } } _found = found.ToArray(); _assignees.AddRange(distinct.Values); _assignedFilter.ReplaceContents(assigned.Values); if (_assignedFilter.SelectedItem == null) { _assignedFilter.SelectedItem = AllUsersFilter.Instance; if (_assignedFilter.IsSelectionDirty) OnPropertyChanged("SelectedAssignmentFilter"); } _statusFilter.ReplaceContents(statuses.Values); if (_statusFilter.SelectedItem == null) { _statusFilter.SelectedItem = AllStatusFilter.Instance; if (_statusFilter.IsSelectionDirty) OnPropertyChanged("SelectedStatusFilter"); } if(applyLocal) LocalFilterChanged(); }
public void Refresh(bool applyLocal) { IIssueFilter filter; List <IssueItemView> found = new List <IssueItemView>(); Dictionary <string, IIssueUser> distinct = new Dictionary <string, IIssueUser>(); Dictionary <string, IIssueUser> assigned = new Dictionary <string, IIssueUser>(); assigned[AllUsersFilter.Instance.Id] = AllUsersFilter.Instance; Dictionary <string, IIssueState> statuses = new Dictionary <string, IIssueState>(); statuses[AllStatusFilter.Instance.Id] = AllStatusFilter.Instance; if (_filters.TryGetSelection(out filter)) { IIssue[] items; if (filter is IIssueFilterWithSearch) { items = ((IIssueFilterWithSearch)filter).GetIssues(_textFilter); } else { items = filter.GetIssues(); } foreach (IIssue issue in items) { IssueItemView item = new IssueItemView(this, issue); found.Add(item); distinct[item.AssignedTo.Id] = item.AssignedTo; distinct[item.ReportedBy.Id] = item.ReportedBy; assigned[item.AssignedTo.Id] = item.AssignedTo; statuses[item.CurrentState.Id] = item.CurrentState; } } _found = found.ToArray(); _assignees.AddRange(distinct.Values); _assignedFilter.ReplaceContents(assigned.Values); if (_assignedFilter.SelectedItem == null) { _assignedFilter.SelectedItem = AllUsersFilter.Instance; if (_assignedFilter.IsSelectionDirty) { OnPropertyChanged("SelectedAssignmentFilter"); } } _statusFilter.ReplaceContents(statuses.Values); if (_statusFilter.SelectedItem == null) { _statusFilter.SelectedItem = AllStatusFilter.Instance; if (_statusFilter.IsSelectionDirty) { OnPropertyChanged("SelectedStatusFilter"); } } if (applyLocal) { LocalFilterChanged(); } }