Beispiel #1
0
 public void CopyFileTo(IVirtualFile target, CopyFileMode mode)
 {
     GetFile().CopyFileTo(target, mode);
     foreach (IVirtualFile subfile in GetSubFiles())
     {
         string       postfix = subfile.Name.Substring(GetFile().Name.Length);
         IVirtualFile newsub  = target.Parent.GetFile(target.Name + postfix);
         subfile.CopyFileTo(newsub, mode);
     }
     foreach (IVirtualFolder subfolder in GetSubFolders())
     {
         string         postfix = subfolder.Name.Substring(GetFile().Name.Length);
         IVirtualFolder newsub  = target.Parent.GetFolder(target.Name + postfix);
         subfolder.CopyResursiveFolderTo(newsub, mode);
         //subfile.CopyFileTo(newsub, mode);
     }
 }
Beispiel #2
0
        public static void CopyFile(string srcfile, string dstfile, CopyFileMode mode)
        {
            try { Directory.CreateDirectory(Path.GetDirectoryName(dstfile)); }
            catch { }
            switch (mode)
            {
            case CopyFileMode.Copy:
                File.Copy(srcfile, dstfile, true);
                break;

            case CopyFileMode.Move:
                if (File.Exists(dstfile))
                {
                    File.Delete(dstfile);
                }
                File.Move(srcfile, dstfile);
                break;
            }
        }
Beispiel #3
0
 private void DragDropFile(AppObject appobj, CopyFileMode mode)
 {
     if (appobj is FileAppObjectBase)
     {
         var ao      = (FileAppObjectBase)appobj;
         var src     = ao.GetFile();
         var newfile = Folder.GetFile(src.Name);
         if (newfile.Exists())
         {
             if (!StdDialog.ReallyOverwriteFile(newfile.Name))
             {
                 return;
             }
         }
         ao.CopyFileTo(newfile, mode);
         //src.CopyFileTo(newfile, mode);
         //CopyVirtualFileTo(src, newfile, mode);
         CallCompleteChanged();
     }
 }
Beispiel #4
0
        private object CopyTo(object item, CopyFileMode mode)
        {
            string file    = GetFileName(item);
            string oldname = GetItemName(file);
            string newname = InputBox.Run(Texts.Get("s_new_name"), oldname);

            if (newname != null)
            {
                string newfile = System.IO.Path.Combine(
                    System.IO.Path.GetDirectoryName(file),
                    System.IO.Path.ChangeExtension(newname, System.IO.Path.GetExtension(file)));

                if (File.Exists(newfile))
                {
                    if (!StdDialog.ReallyOverwriteFile(newfile))
                    {
                        return(null);
                    }
                }

                if (mode == CopyFileMode.Copy)
                {
                    File.Copy(file, newfile, true);
                }
                if (mode == CopyFileMode.Move)
                {
                    File.Move(file, newfile);
                }
                var res = CreateNewAddon();
                res.LoadFromFile(newfile);
                if (res is IFileBasedAddonInstance)
                {
                    ((IFileBasedAddonInstance)res).AddonFileName = newfile;
                }
                return(res);
                //return GetItemName(newfile);
            }
            return(null);
        }
Beispiel #5
0
 public static void CopyFile(string srcfile, string dstfile, CopyFileMode mode)
 {
     try { Directory.CreateDirectory(Path.GetDirectoryName(dstfile)); }
     catch { }
     switch (mode)
     {
         case CopyFileMode.Copy:
             File.Copy(srcfile, dstfile, true);
             break;
         case CopyFileMode.Move:
             if (File.Exists(dstfile)) File.Delete(dstfile);
             File.Move(srcfile, dstfile);
             break;
     }
 }
 public static void CopyResursiveFolderTo(this IVirtualFolder folder, IVirtualFolder dstfolder, CopyFileMode mode)
 {
     if (!dstfolder.Exists())
     {
         dstfolder.Create();
     }
     folder.CopyFolderContent(dstfolder, mode);
 }
 public static void CopyFolderContent(this IVirtualFolder folder, IVirtualFolder dstfolder, CopyFileMode mode)
 {
     foreach (var file in folder.LoadFiles())
     {
         file.CopyFileTo(dstfolder.GetFile(file.Name), mode);
     }
     foreach (var fld in folder.LoadFolders())
     {
         fld.CopyResursiveFolderTo(dstfolder.GetFolder(fld.Name), mode);
     }
 }
        public static void CopyFileTo(this IVirtualFile srcfile, IVirtualFile dstfile, CopyFileMode mode)
        {
            if (srcfile.DiskPath != null && dstfile.DiskPath != null && IOTool.FileIsLink(srcfile.DiskPath))
            {
                IOTool.CopyFile(srcfile.DiskPath, dstfile.DiskPath, mode);
                return;
            }
            if (srcfile.DataDiskPath != null && dstfile.DataDiskPath != null)
            {
                IOTool.CopyFile(srcfile.DataDiskPath, dstfile.DataDiskPath, mode);
                return;
            }

            string text = null;

            byte[] data = null;
            try
            {
                text = srcfile.GetText();
            }
            catch (Exception)
            {
                data = srcfile.GetBinary();
            }
            if (text != null)
            {
                dstfile.SaveText(text);
            }
            else
            {
                dstfile.SaveBinary(data);
            }
            if (mode == CopyFileMode.Move)
            {
                srcfile.Remove();
            }
        }