private static void SendChannels(params Client[] clients) { ChannelList list = new ChannelList(GetChannels()); foreach (Client client in clients) if (client.Value.Authenticated) { list.CurrentChannel = client.Value.Channel; list.Execute(client); } list.Dispose(); }
internal void HandleChannelList(ChannelList list) { if (InvokeRequired) { Invoke(new MethodInvoker(() => HandleChannelList(list))); return; } treeUsers.BeginUpdate(); treeUsers.Nodes.Clear(); Users = new List<UserInfo>(); foreach (ChannelInfo channel in list.Channels) { TreeNode node = new TreeNode(channel.Name) { Tag = channel }; node.ImageIndex = 0; node.SelectedImageIndex = 0; node.ForeColor = Color.FromArgb(0, 120, 220); treeUsers.Nodes.Add(node); if (channel.Users != null) { foreach (UserInfo user in channel.Users) { if (user.Name.ToLower() == this.Username.ToLower()) this._currentChannel = node.Index; TreeNode childNode = node.Nodes.Add(user.Name); childNode.ImageIndex = user.Rank + 1; childNode.SelectedImageIndex = user.Rank + 1; Users.Add(user); } } } treeUsers.ExpandAll(); treeUsers.EndUpdate(); UpdateUserCount(Users.Count); UpdateStatus(string.Format("Status: Chatting in {0}", list.Channels.First(x => x.ID == list.CurrentChannel).Name)); }