Exemple #1
0
 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();
 }
Exemple #2
0
        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));
        }