/// <summary> /// Adds a HistoryDiskInfo. /// </summary> /// <param name="siteUri"> The site uri.</param> /// <param name="siteData"> The ResponseBuffer data.</param> public void AddHistoryNodeDisk(Uri siteUri, ResponseBuffer siteData) { this.SuspendLayout(); //string folderName = string.Empty; string uriAndPort = string.Empty; if ( siteUri.Port == 80 ) { //folderName = siteUri.Authority + siteUri.Port; uriAndPort = siteUri.Authority + ":" + siteUri.Port; } else { //folderName = siteUri.Authority.Replace(":",""); uriAndPort = siteUri.Authority; } // string dir = recentSitesDir + @"\" + folderName; // // if ( !Directory.Exists(dir) ) // { // Directory.CreateDirectory(dir); // } // search index data for site root existence HistoryDiskInfo diskInfo = (HistoryDiskInfo)sitesIndex[uriAndPort]; int index = sitesIndex.IndexOfKey(uriAndPort); // add new to disk if ( diskInfo != null ) { HistoryTreeNode node = (HistoryTreeNode)this.Nodes[index]; // add node to tree HistoryTreeNode tn = new HistoryTreeNode(siteUri.AbsolutePath,siteUri,null); tn.ImageIndex = this.IconNodeIndex; tn.SelectedImageIndex = this.IconNodeIndex; //int i = node.Nodes.IndexOf(tn); HistoryDiskInfo hdi = new HistoryDiskInfo(); hdi.Url = uriAndPort + siteUri.AbsolutePath; if ( !diskInfo.ContainsNodeKey(hdi.Url) ) { node.Nodes.Add(tn); diskInfo.AddHistoryDiskInfo(hdi.Url, hdi); } } else { // add as root node HistoryTreeNode tn = new HistoryTreeNode(uriAndPort,siteUri,null); tn.ImageIndex = this.IconSiteIndex; tn.SelectedImageIndex = this.IconSiteIndex; // add file to disk //string filePath = UpdateRecentSite(dir,siteUri.AbsolutePath,siteData); // add node to tree HistoryTreeNode newNode = new HistoryTreeNode(siteUri.AbsolutePath,siteUri,null); newNode.ImageIndex = this.IconNodeIndex; newNode.SelectedImageIndex = this.IconNodeIndex; tn.Nodes.Add(newNode); int i = tn.Nodes.IndexOf(newNode); HistoryDiskInfo child = new HistoryDiskInfo(); child.Url = uriAndPort + siteUri.AbsolutePath; // add reference to Index data //sitesIndex.Add(uriAndPort + siteUri.AbsolutePath,hdi); this.Nodes.Add(tn); // add root reference to Index data HistoryDiskInfo parent = new HistoryDiskInfo(); parent.Url = uriAndPort; parent.Type = HistoryDiskInfo.NodeType.Parent; parent.AddHistoryDiskInfo(child.Url, child); sitesIndex.Add(uriAndPort, parent); } UpdateIndexData(); this.ResumeLayout(); }
/// <summary> /// Creates a new HistoryDiskInfo. /// </summary> /// <param name="path"> The file path of the history file.</param> /// <param name="index"> The index.</param> // public HistoryDiskInfo(string path, int index) // { // this.Path = path; // this.Index = index; // } public void AddHistoryDiskInfo(string url, HistoryDiskInfo diskInfo) { list.Add(url, diskInfo); }