Beispiel #1
0
        bool ShouldCreateItem(ShellItem folder)
        {
            FilterItemEventArgs e          = new FilterItemEventArgs(folder);
            ShellItem           myComputer = new ShellItem(Environment.SpecialFolder.MyComputer);

            e.Include = false;

            if (ShellItem.Desktop.IsImmediateParentOf(folder) ||
                m_Computer.IsImmediateParentOf(folder))
            {
                e.Include = folder.IsFileSystemAncestor;
            }
            else if ((folder == m_SelectedFolder) ||
                     folder.IsParentOf(m_SelectedFolder))
            {
                e.Include = true;
            }

            if (FilterItem != null)
            {
                FilterItem(this, e);
            }

            return(e.Include);
        }
        void SelectItem(TreeNode node, ShellItem value)
        {
            CreateChildren(node);

            foreach (TreeNode child in node.Nodes)
            {
                ShellItem folder = (ShellItem)child.Tag;

                if (folder == value)
                {
                    m_TreeView.SelectedNode = child;
                    child.EnsureVisible();
                    child.Expand();
                    return;
                }
                else if (folder.IsParentOf(value))
                {
                    SelectItem(child, value);
                    return;
                }
            }
        }
Beispiel #3
0
        private bool ShouldCreateItem(ShellItem folder)
        {
            var e = new FilterItemEventArgs(folder);
            // ReSharper disable once UnusedVariable
            var myComputer = new ShellItem(Environment.SpecialFolder.MyComputer);

            e.Include = false;

            if (ShellItem.Desktop.IsImmediateParentOf(folder) ||
                _mComputer.IsImmediateParentOf(folder))
            {
                e.Include = folder.IsFileSystemAncestor;
            }
            else if ((folder == _mSelectedFolder) ||
                     folder.IsParentOf(_mSelectedFolder))
            {
                e.Include = true;
            }

            FilterItem?.Invoke(this, e);

            return(e.Include);
        }
Beispiel #4
0
 bool ShouldCreateChildren(ShellItem folder)
 {
     return((folder == m_Computer) ||
            (folder == ShellItem.Desktop) ||
            folder.IsParentOf(m_SelectedFolder));
 }