示例#1
0
        async Task <ITeamExplorerPage> GetTeamExplorerPage(IUIProvider uiProvider)
        {
            var te = uiProvider?.GetService(typeof(ITeamExplorer)) as ITeamExplorer;

            if (te != null)
            {
                var page = te.NavigateToPage(new Guid(TeamExplorerPageIds.Connect), null);

                if (page == null)
                {
                    var tcs = new TaskCompletionSource <ITeamExplorerPage>();
                    PropertyChangedEventHandler handler = null;

                    handler = new PropertyChangedEventHandler((s, e) =>
                    {
                        if (e.PropertyName == "CurrentPage")
                        {
                            tcs.SetResult(te.CurrentPage);
                            te.PropertyChanged -= handler;
                        }
                    });

                    te.PropertyChanged += handler;

                    page = await tcs.Task;
                }

                return(page);
            }
            else
            {
                // TODO: Log
                return(null);
            }
        }
示例#2
0
        public void Clone(string cloneUrl, string clonePath, bool recurseSubmodules)
        {
            var gitExt = serviceProvider.GetService <IGitRepositoriesExt>();

            gitExt.Clone(cloneUrl, clonePath, recurseSubmodules ? CloneOptions.RecurseSubmodule : CloneOptions.None);
        }
 public ConnectionRepositoryHostMap(IUIProvider provider, IRepositoryHosts hosts)
     : this(provider.GetService <IConnection>(), hosts)
 {
 }
示例#4
0
 public object GetService(Type serviceType) => theRealProvider.GetService(serviceType);
 public ConnectionRepositoryHostMap(IUIProvider provider, IRepositoryHosts hosts)
     : this(provider.GetService<IConnection>(), hosts)
 {
 }