Beispiel #1
0
        private void LoadSubFolders(FileSystemFolterTreeNode node, bool updateFlatList)
        {
            string[] directories = null;
            node.SubFoldersLoaded = true;

            try
            {
                directories = Directory.GetDirectories(node.Path);
            }
            catch (System.UnauthorizedAccessException)
            {
                return;
            }

            foreach (string dirPath in directories)
            {
                FileSystemFolterTreeNode dirNode = foltersTreeList.CreateNewNode();
                dirNode.Path = dirPath;
                dirNode.Name = new DirectoryInfo(dirPath).Name;
                foltersTreeList.AddNode(dirNode, node, TreeListNodeAttachMode.AddChild, false);

                //if (loadSubSubFolders == true)
                //  LoadSub Folders(dirNode, false);
            }

            if (updateFlatList)
            {
                RebuildFlatList();
            }
        }
Beispiel #2
0
        private void LoadSubSubFolders(FileSystemFolterTreeNode node)
        {
            foreach (FileSystemFolterTreeNode n in node.Items)
            {
                LoadSubFolders(n, false);
            }

            node.SubSubFoldersLoaded = true;
            RebuildFlatList();
        }
Beispiel #3
0
        private void dataGridEh1_TreeViewArea_NodeStateNeeded(object sender, DataGridTreeViewNodeStateNeededEventArgs e)
        {
            if (e.Row == null)
            {
                return;
            }
            FileSystemFolterTreeNode node = (FileSystemFolterTreeNode)e.Row.SourceItem;

            e.NodeLevel   = node.Level;
            e.HasChildren = node.HasChildren;
            e.Expanded    = node.Expanded;
            e.ParentItem  = node.Parent;
        }
Beispiel #4
0
        private void dataGridEh1_TreeViewArea_ExpandedStateSet(object sender, DataGridTreeViewNodeExpandedStateSetEventArgs e)
        {
            if (e.Row == null)
            {
                return;
            }
            FileSystemFolterTreeNode node = (FileSystemFolterTreeNode)e.Row.SourceItem;

            node.Expanded = e.Expanded;
            if (node.Expanded && !node.SubSubFoldersLoaded)
            {
                LoadSubSubFolders(node);
            }
            RebuildFlatList();
        }
Beispiel #5
0
        private void dataGridTextColumn4_DataCellFormatParamsNeeded(object sender, DataGridDataCellFormatParamsNeededEventArgs e)
        {
            if (e.Row == null)
            {
                return;
            }
            FileSystemFolterTreeNode node = (FileSystemFolterTreeNode)e.Row.SourceItem;

            if (node.Size == "?")
            {
                e.CellArgs.HorzAlign = HorizontalAlignment.Center;
            }
            else
            {
                e.CellArgs.HorzAlign = HorizontalAlignment.Right;
            }
        }
Beispiel #6
0
        public void LoadData()
        {
            string[] directories = Directory.GetDirectories(textBoxEh1.Text);

            foltersTreeList.Clear();

            foreach (string dirPath in directories)
            {
                FileSystemFolterTreeNode dirNode = foltersTreeList.CreateNewNode();
                dirNode.Path = dirPath;
                dirNode.Name = new DirectoryInfo(dirPath).Name;
                foltersTreeList.AddNode(dirNode, foltersTreeList.Root, TreeListNodeAttachMode.AddChild, false);

                LoadSubFolders(dirNode, false);
                //LoadSubSubFolders(dirNode);
            }

            RebuildFlatList();
        }
Beispiel #7
0
        private void dataGridTextColumn3_DataCellCustomAreaPaint(object sender, DataGridDataCellPaintEventArgs e)
        {
            if (e.Row == null)
            {
                return;
            }

            BasePaintCellStates cellPaintState = e.CellArgs.State;

            e.CellArgs.State = e.CellArgs.State & ~BasePaintCellStates.Current & ~BasePaintCellStates.Focused;
            Rectangle clientRect = e.CellArgs.ClientRect;

            Rectangle folderAreaRect = e.CellArgs.ClientRect;

            folderAreaRect.X     = e.CellArgs.CustomRect.Left;
            folderAreaRect.Width = e.CellArgs.ClientRect.Left - e.CellArgs.CustomRect.Left;

            e.CellArgs.ClientRect = folderAreaRect;
            e.PaintBackground(e);

            e.CellArgs.ClientRect = clientRect;
            e.CellArgs.State      = cellPaintState;

            FileSystemFolterTreeNode node = (FileSystemFolterTreeNode)e.Row.SourceItem;

            {
                Rectangle folderSignRect = folderAreaRect;
                Image     folderImage;
                if (node.Expanded || !node.HasChildren)
                {
                    folderImage = Properties.Resources.FolderOpen;
                }
                else
                {
                    folderImage = Properties.Resources.FolderClosed;
                }
                folderSignRect = new Rectangle(Point.Empty, folderImage.Size);
                folderSignRect = EhLibUtils.RectCenter(folderSignRect, folderAreaRect);
                //folderSignRect.X = folderSignRect.Left + 2;
                e.CellArgs.Graphics.DrawImage(folderImage, folderSignRect);
            }
        }
Beispiel #8
0
        private void dataGridTextColumn4_DataCellMouseClick(object sender, DataGridDataCellMouseEventArgs e)
        {
            if (e.Row == null)
            {
                return;
            }
            FileSystemFolterTreeNode node = (FileSystemFolterTreeNode)e.Row.SourceItem;
            long size = CalcFolderSize(node.Path);

            if (size > 1024 * 10)
            {
                size = size / 1024;

                if (size > 1024 * 10)
                {
                    size = size / 1024;

                    if (size > 1024 * 10)
                    {
                        size      = size / 1024;
                        node.Size = size.ToString("N0") + " Gb";
                    }
                    else
                    {
                        node.Size = size.ToString("N0") + " Mb";
                    }
                }
                else
                {
                    node.Size = size.ToString("N0") + " Kb";
                }
            }
            else
            {
                node.Size = size.ToString("N0") + " b";
            }
        }