コード例 #1
0
ファイル: BuddyViewer.cs プロジェクト: radtek/mcebuddyviewer
        public void AddFileCmd()
        {
            EditableItem.Value = ViewerSettings.Language.Translate["FileName"];
            string[] drives = Environment.GetLogicalDrives();
            TreeViewVideoFile.ChildNodes.Clear();
            TreeViewVideoFile.CheckedNodes.Clear();
            TreeViewVideoFile.CheckedNode = null;
            string VideoFilesFilter = "*.wtv;*.dvr-ms;*.asf;*.avi;*.divx;*.dv;*.flv;*.gxf;*.m1v;*.m2v;*.m2ts;*.m4v;*.mkv;*.mov;*.mp2;*.mp4;*.mpeg;*.mpeg1;*.mpeg2;*.mpeg4;*.mpg;*.mts;*.mxf;*.ogm;*.ts;*.vob;*.wmv;*.tp";

            foreach (string curdrive in drives)
            {
                FileTreeNode nodefile = new FileTreeNode(curdrive, curdrive, VideoFilesFilter, TreeViewVideoFile);
                nodefile.Selectable = false;
                TreeViewVideoFile.ChildNodes.Add(nodefile);
            }
            Dictionary <string, object> properties = new Dictionary <string, object>();

            properties["BuddyViewer"] = this;

            if (session != null)
            {
                session.GoToPage("resx://MceBuddyViewer/MceBuddyViewer.Resources/SelectVideoFile", properties);
            }
            else
            {
                Debug.WriteLine("GoToMenu");
            }
        }
コード例 #2
0
        public override void GetChildNodes()
        {
            if (!String.IsNullOrEmpty(FullPath))
            {
                ChildNodes.Clear();
                string[] directories = Directory.GetDirectories(FullPath);
                string[] files       = FileTreeNode.GetFiles(FullPath, Filter);

                foreach (string directory in directories)
                {
                    try
                    {
                        string        folder = Path.Combine(FullPath, directory);
                        DirectoryInfo info   = new DirectoryInfo(folder);
                        if ((info.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
                        {
                            FileTreeNode node = new FileTreeNode(Path.GetFileName(directory), directory, Filter, TreeView);
                            node.Level                   = Level + 1;
                            node.TreeView                = TreeView;
                            node.Selectable              = false;
                            TreeView.CheckedNodeChanged += new EventHandler <TreeNodeEventArgs>(TreeView_OnCheckedNodeChanged);
                            node.HasChildNodes           = ((Directory.GetDirectories(node.FullPath).Length > 0) || (FileTreeNode.GetFiles(node.FullPath, Filter).Length > 0));
                            ChildNodes.Add(node);
                        }
                    }
                    catch (UnauthorizedAccessException ex)
                    {
                        Debug.WriteLine(ex);
                    }
                    catch (DriveNotFoundException ex)
                    {
                        Debug.WriteLine(ex);
                    }
                    catch (IOException ex)
                    {
                        Debug.WriteLine(ex);
                    }
                }

                foreach (string thefile in files)
                {
                    try
                    {
                        string   hfile = Path.Combine(FullPath, thefile);
                        FileInfo info  = new FileInfo(hfile);
                        if ((info.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
                        {
                            FileTreeNode node = new FileTreeNode(Path.GetFileName(thefile), thefile, Filter, TreeView);
                            node.Level     = Level + 1;
                            node.TreeView  = TreeView;
                            node.NodeColor = new Color(Colors.YellowGreen);
                            TreeView.CheckedNodeChanged += new EventHandler <TreeNodeEventArgs>(TreeView_OnCheckedNodeChanged);
                            node.HasChildNodes           = false;
                            ChildNodes.Add(node);
                        }
                    }
                    catch (UnauthorizedAccessException ex)
                    {
                        Debug.WriteLine(ex);
                    }
                    catch (DriveNotFoundException ex)
                    {
                        Debug.WriteLine(ex);
                    }
                    catch (IOException ex)
                    {
                        Debug.WriteLine(ex);
                    }
                }

                HasChildNodes = (ChildNodes.Count > 0);
            }

            base.GetChildNodes();
        }