Beispiel #1
0
        private RepositoryTreeNode EnsureServerOf(Uri uri)
        {
            Uri serverUri;
            RepositoryTreeNode serverNode = FindServer(uri, out serverUri);

            if (serverNode == null)
            {
                serverNode      = new RepositoryTreeNode(serverUri, true);
                serverNode.Text = serverUri.ToString();

                if (IconMapper != null)
                {
                    serverNode.IconIndex = IconMapper.GetSpecialIcon(SpecialIcon.Server);
                }


                if (serverNode.Text.ToString() == "file:///")
                {
                    serverNode.IconIndex = IconMapper.GetSpecialFolderIcon(Environment.SpecialFolder.MyComputer);
                    serverNode.Text      = RepositoryStrings.LocalRepositories;
                }

                SortedAddNode(RootNode.Nodes, serverNode);

                if (!RootNode.IsExpanded)
                {
                    RootNode.Expand();
                }
            }
            return(serverNode);
        }
Beispiel #2
0
        /// <summary>
        /// The ensure the repository root
        /// </summary>
        /// <param name="uri">Always the repository root</param>
        /// <returns></returns>
        private RepositoryTreeNode EnsureRoot(Uri uri)
        {
            EnsureServerOf(uri);

            Uri serverUri;
            Uri nUri = SvnTools.GetNormalizedUri(uri);

            RepositoryTreeNode serverNode = FindServer(uri, out serverUri);

            if (serverNode == null)
            {
                return(null);
            }

            if (!serverNode.IsExpanded && IsLoading(nUri))
            {
                serverNode.LoadExpand();
            }

            foreach (RepositoryTreeNode reposRoot in serverNode.Nodes)
            {
                if (reposRoot.NormalizedUri == nUri)
                {
                    return(reposRoot);
                }
            }

            // uri is always the repos root here
            RepositoryTreeNode rtn = new RepositoryTreeNode(new SvnOrigin(uri, uri));

            rtn.Text = uri.GetComponents(UriComponents.Path, UriFormat.SafeUnescaped);
            if (IconMapper != null)
            {
                rtn.IconIndex = IconMapper.GetSpecialIcon(SpecialIcon.Db);
            }

            serverNode.Nodes.Add(rtn);

            if (!_nodeMap.ContainsKey(rtn.NormalizedUri))
            {
                _nodeMap.Add(rtn.NormalizedUri, rtn);
            }

            if (!serverNode.IsExpanded || IsLoading(nUri))
            {
                serverNode.LoadExpand();
            }

            return(rtn);
        }
Beispiel #3
0
        private RepositoryTreeNode CreateRootNode()
        {
            RepositoryTreeNode rootNode;

            rootNode      = new RepositoryTreeNode(null, true);
            rootNode.Text = RepositoryStrings.RootName;

            if (IconMapper != null)
            {
                rootNode.IconIndex = IconMapper.GetSpecialIcon(SpecialIcon.Servers);
            }

            SortedAddNode(Nodes, rootNode);

            return(rootNode);
        }