Esempio n. 1
0
 public StashStagedSectionViewModel(IServiceProvider serviceProvider, ITeamExplorerSection section)
 {
     _serviceProvider = serviceProvider;
     _section         = section;
     _teamExplorer    = _serviceProvider.GetService(typeof(ITeamExplorer)) as ITeamExplorer;
     _gitService      = new VisualStudioGitService(serviceProvider);
 }
        public TreeViewItemWithIconViewModel(FilesTreeViewItem model, int stashId, FileIconsService fileIconService, VisualStudioGitService gitService)
        {
            _internalModel   = model;
            _fileIconService = fileIconService;
            _gitService      = gitService;

            Source = IsFile ?
                     _fileIconService.GetFileIcon("." + FileExtension) :
                     _fileIconService.GetFolderIcon(IsExpanded);

            var childNodes = model.Items.Select(m => new TreeViewItemWithIconViewModel(m, stashId, fileIconService, gitService)).ToList();

            Items = new ObservableCollection <TreeViewItemWithIconViewModel>(childNodes);

            CompareWithPreviousVersionCommand = new DelegateCommand(o =>
            {
                var treeItem = o as TreeViewItemWithIconViewModel;
                var filePath = treeItem?.FullPath;
                var fileName = treeItem?.Text;
                var isNew    = treeItem?.IsNew ?? false;
                var isStaged = treeItem?.IsStaged ?? false;

                _gitService.RunDiff(stashId, filePath, fileName, isNew, isStaged);
            });
        }
 public StashListItemViewModel(Stash stash, IServiceProvider serviceProvider)
 {
     _stash           = stash;
     _serviceProvider = serviceProvider;
     _gitService      = new VisualStudioGitService(serviceProvider);
     _teamExplorer    = serviceProvider.GetService(typeof(ITeamExplorer)) as ITeamExplorer;
 }
        public CreateStashSectionViewModel(IServiceProvider serviceProvider)
        {
            _gitService = new VisualStudioGitService(serviceProvider);

            CreateStashCommand = new DelegateCommand(o => {
                Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();

                if (_gitService.TryCreateStash(Message, IncludeUntrackedFiles))
                {
                    Message = string.Empty;
                    IncludeUntrackedFiles = false;
                }
            });
        }
Esempio n. 5
0
        public StashInfoChangesSectionViewModel(Stash stash, IServiceProvider serviceProvider)
        {
            _stash      = stash;
            _gitService = new VisualStudioGitService(serviceProvider);

            if (stash?.ChangedFiles == null)
            {
                return;
            }

            var vsImageService   = serviceProvider.GetService(typeof(SVsImageService)) as IVsImageService2;
            var fileIconsService = new FileIconsService(vsImageService);

            var rootTreeViewItem = stash.ChangedFiles.ToTreeViewItemStructure();
            var rootViewModel    = new TreeViewItemWithIconViewModel(rootTreeViewItem, stash.Id, fileIconsService, _gitService);

            ChangeItems = rootViewModel.Items;
        }
Esempio n. 6
0
        public StashListSectionViewModel(IServiceProvider serviceProvider)
        {
            _serviceProvider    = serviceProvider;
            _teamExplorer       = _serviceProvider.GetService(typeof(ITeamExplorer)) as ITeamExplorer;
            _gitCommandExecuter = new GitCommandExecuter(serviceProvider);
            _gitService         = new VisualStudioGitService(_serviceProvider);

            UpdateStashList(string.Empty);
            RemovedStashesContainer.ResetContainer();

            PropertyChanged += (e, s) =>
            {
                if (s.PropertyName == nameof(SearchText))
                {
                    UpdateStashList(SearchText);
                }
            };
        }