Ejemplo n.º 1
0
        private void SetFolderListViewItemGroup(FolderListViewItem item, ItemOrderType order)
        {
            item.Group = null;
            switch (order)
            {
                case ItemOrderType.Location:
                    foreach (ListViewGroup group in listViewLearningModules.Groups)
                    {
                        if (group.Header == item.Folder.Connection.Name)
                        {
                            item.Group = group;
                            break;
                        }
                    }

                    if (item.Group == null)
                    {
                        ListViewGroup grp = new ListViewGroup(item.Folder.Connection.Name);
                        listViewLearningModules.Groups.Add(grp);
                        item.Group = grp;
                    }
                    break;
                case ItemOrderType.Category:
                case ItemOrderType.Author:
                    foreach (ListViewGroup group in listViewLearningModules.Groups)
                    {
                        if (group.Header == Resources.GROUP_FOLDER_NAME)
                        {
                            item.Group = group;
                            break;
                        }
                    }

                    if (item.Group == null)
                    {
                        ListViewGroup grp = new ListViewGroup(Resources.GROUP_FOLDER_NAME);
                        listViewLearningModules.Groups.Insert(0, grp);
                        item.Group = grp;
                    }
                    break;
                default:
                    throw new ArgumentException();
            }
        }
Ejemplo n.º 2
0
        /// <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();
        }
Ejemplo n.º 3
0
 private void SetFolderListViewItemGroup(FolderListViewItem item)
 {
     if (locationToolStripMenuItem.Checked)
     {
         SetFolderListViewItemGroup(item, ItemOrderType.Location);
     }
     else if (categoryToolStripMenuItem.Checked)
     {
         SetFolderListViewItemGroup(item, ItemOrderType.Category);
     }
     else if (authorToolStripMenuItem.Checked)
     {
         SetFolderListViewItemGroup(item, ItemOrderType.Author);
     }
 }
Ejemplo n.º 4
0
        /// <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();
                });
            }
        }