public CirclePanel(string url, UI.JoinCircleForm.CircleType circleType) { InitializeComponent(); setupUserList(); if (url.ToLower() == "http://lan/" || circleType == JoinCircleForm.CircleType.LAN) { initLAN(); return; } this.circleType = circleType; this.url = url; System.Security.Cryptography.SHA512Managed sha = new System.Security.Cryptography.SHA512Managed(); circleHash = BitConverter.ToUInt64(sha.ComputeHash(Encoding.UTF8.GetBytes(url.ToLower())), 0); App.theCore.joinCircle(url); App.theCore.chatReceivedEvent += chatReceived; MainForm.colorChange += colorChanged; ((MainForm)App.mainForm).setColors(); System.Threading.Thread t = new System.Threading.Thread(joinLoop); t.IsBackground = true; t.Name = "Circle join loop"; t.Start(); if (circleType == JoinCircleForm.CircleType.bootstrap) { App.settings.addStringToArrayNoDup("Bootstrap Circles Open", url); } else if (circleType == JoinCircleForm.CircleType.kademlia) { App.settings.addStringToArrayNoDup("Kademlia Circles Open", url); } if (isMono) { userListView.OwnerDraw = true; } }
public void addInternetCircle(System.Net.IPEndPoint[] endpoints, string url, UI.JoinCircleForm.CircleType circleType) { for (int i = 0; i < windowToolStrip.Items.Count; i++) { if (windowToolStrip.Items[i].Tag is UI.CirclePanel) { if (((UI.CirclePanel)windowToolStrip.Items[i].Tag).url.ToLower() == url.ToLower()) { select((ToolStripButton)windowToolStrip.Items[i]); return; } } } TabPage p = new TabPage("Internet Circle"); if (url.StartsWith("#")) { p.Text = url; } else { string s = url; if (s.Contains("//")) { s = s.Substring(s.IndexOf("//") + 2); } if (s.Contains("/")) { s = s.Substring(0, s.IndexOf("/")); } p.Text = s; } UI.CirclePanel c = new UI.CirclePanel(url, circleType); c.Dock = DockStyle.Fill; addOrSelectPanel(p.Text, c, url); }