/// <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); }
/// <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); } }); }
/// <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(); } }); }