예제 #1
0
        private void _backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            var fileList = e.Result as IList <StatusEntry>;

            if (fileList == null || e.Error != null)
            {
                EmptyCommitList.Text = "Error occured during update file status :(";
                if (e.Error != null)
                {
                    ExceptionMessageBox.Show(e.Error);
                }

                return;
            }

            foreach (var stat in fileList)
            {
                if (stat.State == FileStatus.Ignored)
                {
                    continue;
                }

                ListViewItem       item    = new ListViewItem();
                ListViewItemObject itemTag = new ListViewItemObject();

                var ext           = Path.GetExtension(stat.FilePath);
                var componentName = Path.GetFileNameWithoutExtension(stat.FilePath);

                if (_gitCommand.Components != null)
                {
                    if (!_gitCommand.Components.Contains(componentName))
                    {
                        continue;
                    }
                    else
                    {
                        item.Checked = true;
                    }
                }

                switch (ext)
                {
                case VBComponentExtensions.DocClassExtension:
                    item.ImageIndex = 3;
                    item.Group      = _groups.ElementAt(0);
                    itemTag.Files.Add(stat.FilePath);
                    break;

                case VBComponentExtensions.ClassExtesnion:
                    item.ImageIndex = 2;
                    item.Group      = _groups.ElementAt(3);
                    itemTag.Files.Add(stat.FilePath);
                    break;

                case VBComponentExtensions.FormExtension:
                case VBComponentExtensions.FormBinaryExtension:
                    ext             = string.Format("{0}, {1}", VBComponentExtensions.FormExtension, VBComponentExtensions.FormBinaryExtension);
                    item.ImageIndex = 0;
                    item.Group      = _groups.ElementAt(1);
                    itemTag.Files.Add(componentName + VBComponentExtensions.FormExtension);
                    itemTag.Files.Add(componentName + VBComponentExtensions.FormBinaryExtension);
                    break;

                case VBComponentExtensions.StandardExtension:
                    item.ImageIndex = 1;
                    item.Group      = _groups.ElementAt(2);
                    itemTag.Files.Add(stat.FilePath);
                    break;
                }

                if (!_items.Exists(_item => _item.Name == componentName))
                {
                    item.Name = componentName;
                    item.Text = componentName;
                    item.SubItems.Add(ext);
                    item.SubItems.Add(stat.State.AsString());

                    itemTag.Group      = item.Group;
                    itemTag.FileStatus = stat.State;
                    item.Tag           = itemTag;

                    _items.Add(item);
                }
            }

            AddItems();
            UseWaitCursor = false;
        }
예제 #2
0
        private void FillRevertList()
        {
            RevertList.Items.Clear();

            var fileList = _gitCommand.Provider.Status().ToList();

            foreach (var stat in fileList)
            {
                ListViewItem       item    = new ListViewItem();
                ListViewItemObject itemTag = new ListViewItemObject();

                var ext           = Path.GetExtension(stat.FilePath);
                var componentName = Path.GetFileNameWithoutExtension(stat.FilePath);

                if (_gitCommand.Components != null)
                {
                    if (!_gitCommand.Components.Contains(componentName))
                    {
                        continue;
                    }
                    else
                    {
                        item.Checked = true;
                    }
                }

                if (stat.State == FileStatus.NewInIndex ||
                    stat.State == FileStatus.ModifiedInWorkdir)
                {
                    switch (ext)
                    {
                    case VBComponentExtensions.DocClassExtension:
                        item.ImageIndex = 3;
                        item.Group      = _groups.ElementAt(0);
                        itemTag.Files.Add(stat.FilePath);
                        break;

                    case VBComponentExtensions.ClassExtesnion:
                        item.ImageIndex = 2;
                        item.Group      = _groups.ElementAt(3);
                        itemTag.Files.Add(stat.FilePath);
                        break;

                    case VBComponentExtensions.FormExtension:
                    case VBComponentExtensions.FormBinaryExtension:
                        ext             = string.Format("{0}, {1}", VBComponentExtensions.FormExtension, VBComponentExtensions.FormBinaryExtension);
                        item.ImageIndex = 0;
                        item.Group      = _groups.ElementAt(1);
                        itemTag.Files.Add(componentName + VBComponentExtensions.FormExtension);
                        itemTag.Files.Add(componentName + VBComponentExtensions.FormBinaryExtension);
                        break;

                    case VBComponentExtensions.StandardExtension:
                        item.ImageIndex = 1;
                        item.Group      = _groups.ElementAt(2);
                        itemTag.Files.Add(stat.FilePath);
                        break;
                    }

                    item.Name = componentName;
                    item.Text = componentName;
                    item.SubItems.Add(ext);
                    item.SubItems.Add(stat.State.AsString());

                    itemTag.Group      = item.Group;
                    itemTag.FileStatus = stat.State;
                    item.Tag           = itemTag;

                    RevertList.Items.Add(item);
                }
            }
        }