Example #1
0
        private void treeListView1_SelectionChanged(object sender, EventArgs e)
        {
            changesetCtrl1.reset();

            if (treeListView1.SelectedIndices.Count > 0 && treeListView1.SelectedIndices.Count < 2)
            {
                /* only one item is selected... */
                Revision p = treeListView1.GetModelObject(treeListView1.SelectedIndex) as Revision;

                changesetCtrl1.ID           = p.ID;
                changesetCtrl1.Owner        = p.User;
                changesetCtrl1.Comment      = p.Comment;
                changesetCtrl1.CreationDate = p.CreationDate;

                if (p.ChangesCount < _changeCntNUD.Value)
                {
                    /* do the whole thing here. */
                    tables.Changes cngs = new tfs_fullhistory.tables.Changes();

                    foreach (Change cng in p.Changes)
                    {
                        cngs.add(cng);
                    }
                    changesetCtrl1.Changes = cngs;
                }
                else
                {
                    /* background it. */
                    tables.Changes cngs = new tfs_fullhistory.tables.Changes();
                    cngs.add(string.Format("found {0} items, not listing them.", p.ChangesCount),
                             string.Empty, string.Empty);
                    changesetCtrl1.Changes = cngs;
                }
                /* provide a way to view some of the changes. */

                /* just background this.
                 * i'm thinking this is the culprit in the long pauses,
                 * (especially for short change lists)
                 */
                if (_getWIData == null)
                {
                    _getWIData = new tfs_fullhistory.BackgroundJobs.GetWorkItemData(changesetCtrl1, p.cs);
                    _getWIData.RunWorkerCompleted += new RunWorkerCompletedEventHandler(_getWIData_RunWorkerCompleted);
                    _getWIData.RunWorkerAsync();
                }
            }
        }
Example #2
0
 private void  _getWIData_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
 {
     _getWIData = null;
 }