示例#1
0
        private OricExplorer.MediaType DragDropGetMediaType(TreeNode fileNode)
        {
            // Initialise the media type
            OricExplorer.MediaType MediaType = OricExplorer.MediaType.UnknownMedia;

            // Determine the mediatype based on the Node tag
            if (fileNode.Tag.GetType().ToString().Equals("OricExplorer.TapeInfo"))
            {
                MediaType = OricExplorer.MediaType.OricTape;
            }
            else if (fileNode.Tag.GetType().ToString().Equals("OricExplorer.Catalog"))
            {
                OricFileInfo programInfo = new OricFileInfo();
                programInfo = (OricFileInfo)fileNode.Tag;

                if (programInfo.MediaType == OricExplorer.MediaType.TapeFile)
                {
                    MediaType = OricExplorer.MediaType.TapeFile;
                }
            }

            return(MediaType);
        }
示例#2
0
        private void treeFileList_DragDrop(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode", false))
            {
                Point pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));

                TreeNode DestinationNode = ((TreeView)sender).GetNodeAt(pt);
                TreeNode SourceNode      = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");

                // Obtain Source media type
                OricExplorer.MediaType SourceMediaType = DragDropGetMediaType(SourceNode);

                // Obtain Destination media type
                OricExplorer.MediaType DestinationMediaType = DragDropGetMediaType(DestinationNode);

                // Perform drag and drop if valid media
                switch (DestinationMediaType)
                {
                case OricExplorer.MediaType.OricTape:
                case OricExplorer.MediaType.TapeFile:
                    if (DestinationMediaType == OricExplorer.MediaType.TapeFile)
                    {
                        DestinationNode = DestinationNode.Parent;
                    }

                    if (SourceMediaType == OricExplorer.MediaType.TapeFile || SourceMediaType == OricExplorer.MediaType.OricTape)
                    {
                        CopyTapeFilesToTape(SourceNode, DestinationNode);
                    }
                    break;

                default:
                    break;
                }
            }
        }