/// <summary> /// Loads the list into the ListView. /// </summary> /// <param name="items">The items.</param> /// <param name="groupsOnly">if set to <c>true</c> [groups only].</param> /// <remarks>Documented by Dev05, 2008-12-10</remarks> private void LoadLearningModulesList(List<IIndexEntry> items, bool groupsOnly) { listViewLearningModules.BeginUpdate(); if (!groupsOnly) { listViewLearningModules.Items.Clear(); foreach (FolderIndexEntry entry in items.FindAll(en => en is FolderIndexEntry)) { FolderListViewItem item = new FolderListViewItem(entry); listViewLearningModules.Items.Add(item); item.UpdateImage(); item.UpdateDetails(); } foreach (LearningModulesIndexEntry entry in items.FindAll(en => en is LearningModulesIndexEntry)) { LearningModuleListViewItem item = new LearningModuleListViewItem(entry); listViewLearningModules.Items.Add(item); item.UpdateDetails(); } if (listViewLearningModules.Items.Count > 0 && !FeedIsVisible) listViewLearningModules.SelectedIndices.Add(0); } listViewLearningModules.Groups.Clear(); foreach (ListViewItem item in listViewLearningModules.Items) { if (item is LearningModuleListViewItem) SetLearningModuleListViewItemGroup(item as LearningModuleListViewItem); else SetFolderListViewItemGroup(item as FolderListViewItem); } listViewLearningModules.EndUpdate(); }
/// <summary> /// Handles the LearningModuleAdded event of the lmIndex control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="MLifter.BusinessLayer.LearningModuleAddedEventArgs"/> instance containing the event data.</param> /// <remarks>Documented by Dev05, 2009-03-07</remarks> private void lmIndex_LearningModuleAdded(object sender, LearningModuleAddedEventArgs e) { if (selectedTreeViewNode == null || (selectedTreeViewNode.Folder == null && !selectedTreeViewNode.IsMainNode) || e.LearningModule == null) return; LearningModulesIndexEntry entry = e.LearningModule; if (selectedTreeViewNode.IsMainNode || entry.Connection == selectedTreeViewNode.Folder.Connection && (!(entry.Connection is UncConnectionStringBuilder) || learningModulesTreeViewControl.ShowLearningModulesOfSubFolder || selectedTreeViewNode.Folder.Path == entry.ConnectionString.ConnectionString.Substring(0, entry.ConnectionString.ConnectionString.LastIndexOf('\\')))) { lock (actualItems) { if (!actualItems.Contains(entry)) actualItems.Add(entry); } listViewLearningModules.Invoke((MethodInvoker)delegate { LearningModuleListViewItem item = new LearningModuleListViewItem(entry); listViewLearningModules.BeginUpdate(); listViewLearningModules.Items.Add(item); if (listViewLearningModules.SelectedItems.Count == 0) item.Selected = true; item.UpdateDetails(); lmEntryListItemList[entry] = item; //entry.IsVerifiedChanged += new EventHandler(LearningModule_IsVerifiedChanged); SetLearningModuleListViewItemGroup(item); listViewLearningModules.EndUpdate(); }); } }