private void ElementRenamedHandler(object source, RenamedEventArgs e) { if (!ChildrenInitialized) { return; } IFileSystemElement element = FileSystemFacade.Instance.GetElementFromPath(e.FullPath); IFileSystemElement oldElement; if (element.ElementType == FileSystemFacade.ElementType.Directory) { oldElement = new SFMDirectory(e.OldFullPath); } else { oldElement = new SFMFile(e.OldFullPath); } App.Current.Dispatcher.Invoke(() => RemoveChildFromNode(oldElement)); App.Current.Dispatcher.Invoke(() => AddChildToNode(element)); Console.WriteLine("File was renamed: " + e.FullPath); }
public void PasteFromClipboardToDirectory(SFMDirectory targetDirectory) { string targetPath = targetDirectory.ElementPath; var dataObject = Clipboard.GetDataObject(); if (!dataObject.GetDataPresent(DataFormats.FileDrop)) { return; } string[] sourcePathes = (string[])dataObject.GetData(DataFormats.FileDrop); var targetDirectoryCopy = new SFMDirectory(targetDirectory.ElementPath); Task.Run(() => { List <(string, string)> exeptionLogs = new List <(string, string)>(); foreach (var path in sourcePathes) { CopyPathToSource(path, targetDirectoryCopy, exeptionLogs); } ShowPastSummery(exeptionLogs); }); }
internal DynamicFileSystemTree(SFMDirectory root) { Root = new FileTreeNode(this, null, root); }
public DynamicFileSystemTree CreateFileSystemTree(SFMDirectory rootDirectory) { return(new DynamicFileSystemTree(rootDirectory)); }
private void CopyPathToSource(string path, SFMDirectory targetDirectory, List <(string, string)> exeptionLogs)