Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
        private void listView_ItemChecked(object sender, ItemCheckedEventArgs e)
        {
            IssueItemView issue = e.Item.Tag as IssueItemView;

            if (issue != null)
            {
                issue.Selected = e.Item.Checked;
            }
        }
Exemplo n.º 3
0
		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);
		}
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
		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;
		}
Exemplo n.º 7
0
		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();
		}
Exemplo n.º 8
0
        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();
            }
        }