예제 #1
0
        /// <summary>
        /// Add all the messages in the specified list to the current thread being displayed.
        /// </summary>
        public void FillCanvas()
        {
            frmCanvas.BeginUpdate();
            frmCanvas.Items.Clear();

            ForumPage folderItem = new ForumPage(frmCanvas, false)
            {
                Folder          = _currentFolder.Folder,
                Forum           = _thisForum,
                NameFont        = _nameFont,
                TitleFont       = _titleFont,
                DescriptionFont = _descriptionFont,
                Font            = UI.System.Font,
                BackColor       = UI.Forums.CommentColour
            };

            frmCanvas.Items.Add(folderItem);

            StringCollection strings = new StringCollection();

            if (_thisForum != null)
            {
                strings.AddRange(_thisForum.Moderators());
            }
            ProfileGroupItem moderatorsItem = new ProfileGroupItem(frmCanvas, true)
            {
                Title = Resources.Moderators,
                Items = strings
            };

            frmCanvas.Items.Add(moderatorsItem);

            frmCanvas.EndUpdate(null);
        }
예제 #2
0
 /// <summary>
 /// Handle mugshot change events. We pass this through to the moderator component to
 /// refresh any that are affected.
 /// </summary>
 private void OnMugshotUpdated(object sender, MugshotEventArgs e)
 {
     Platform.UIThread(this, delegate
     {
         if (frmCanvas.Items.Count > 1)
         {
             ProfileGroupItem moderatorsItem = (ProfileGroupItem)frmCanvas.Items[1];
             moderatorsItem.Refresh(e.Mugshot.Username);
         }
     });
 }
예제 #3
0
        /// <summary>
        /// Update the list of moderators
        /// </summary>
        private void OnModeratorsUpdated(object sender, DirForum forum)
        {
            Platform.UIThread(this, delegate
            {
                if (forum == _thisForum && frmCanvas.Items.Count > 1)
                {
                    ForumPage forumFolderItem = (ForumPage)frmCanvas.Items[0];
                    forumFolderItem.Forum     = _thisForum;
                    forumFolderItem.InvalidateItem();

                    ProfileGroupItem moderatorsItem = (ProfileGroupItem)frmCanvas.Items[1];
                    moderatorsItem.Items            = new StringCollection();
                    if (_thisForum != null)
                    {
                        moderatorsItem.Items.AddRange(_thisForum.Moderators());
                    }
                    moderatorsItem.InvalidateItem();
                }
            });
        }