/// <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 AddFolder event of the lmIndex control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="MLifter.BusinessLayer.FolderAddedEventArgs"/> instance containing the event data.</param> /// <remarks>Documented by Dev05, 2009-03-07</remarks> private void lmIndex_FolderAdded(object sender, FolderAddedEventArgs e) { if (e.Folder == null) return; learningModulesTreeViewControl.AddFolder(e.Folder); if (selectedTreeViewNode == null || selectedTreeViewNode.Folder == null) return; FolderIndexEntry entry = e.Folder; if ((selectedTreeViewNode.IsMainNode && entry.Connection.ConnectionString == entry.Path) || entry.Connection == selectedTreeViewNode.Folder.Connection && (!(entry.Connection is UncConnectionStringBuilder) || !learningModulesTreeViewControl.ShowLearningModulesOfSubFolder && selectedTreeViewNode.Folder.Path == entry.Path.Substring(0, entry.Path.Length - 1 - entry.DisplayName.Length))) { lock (actualItems) { if (!actualItems.Contains(entry)) actualItems.Add(entry); } listViewLearningModules.Invoke((MethodInvoker)delegate { FolderListViewItem item = new FolderListViewItem(entry); listViewLearningModules.BeginUpdate(); listViewLearningModules.Items.Insert(0, item); item.UpdateImage(); item.UpdateDetails(); SetFolderListViewItemGroup(item); listViewLearningModules.EndUpdate(); }); } }