public DirectoryComparison(IDirectoryViewItem left, IDirectoryViewItem right, DirectoryComparisonResult result) { Left = left; Right = right; Result = result; synchronize = true; }
public override void Execute(object parameter) { var active = MainViewModel.ActiveDirectoryContainer.ActiveView; //get data from clipboard var data = Clipboard.GetDataObject(); //files var paths = (string[])data.GetData(DataFormats.FileDrop, true); if (paths == null) { MessageBox.Show("Schowek jest pusty"); return; } //get flag indicating whether it is copy or cut var stream = (MemoryStream)data.GetData("Preferred DropEffect", true); bool copyFlag = stream.ReadByte() == 5 ? true : false; //change paths into IDirectoryViewItems var items = new IDirectoryViewItem[paths.Length]; for (int i = 0; i < paths.Length; i++) items[i] = WindowsFile.CreateFromPath(paths[i]); MultiFileOperation operation; if (copyFlag) operation = new CopyOperation(items, active.FullPath, new WindowsFileSystem(), active.FileSystem); else operation = new MoveOperation(items, active.FullPath, new WindowsFileSystem(), active.FileSystem); OperationManager.ExecuteOperation(operation); }
public FileExistDialog(IDirectoryViewItem existingFile, string destination) { InitializeComponent(); Result = DefaultResult; tInfo.Text = CreateInfoMessage(existingFile, destination); }
public override void Delete(IDirectoryViewItem toDelete) { if (toDelete.IsDirectory) Directory.Delete(toDelete.FullName, true); else File.Delete(toDelete.FullName); }
private void ThreeColumnView_MouseDoubleClick(object sender, RoutedEventArgs e) { ListBoxItem clicked = (ListBoxItem)sender; IDirectoryViewItem item = (IDirectoryViewItem)clicked.Content; OnItemExecuted(item); }
public override IEnumerable <IDirectoryViewItem> GetDirectoryContent(string path) { DirectoryInfo di = new DirectoryInfo(path); FileSystemInfo[] infos = di.GetFileSystemInfos(); int lengthWithoutHidden = infos.Count(inf => (inf.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden); int addUp = Convert.ToInt32(!PathExt.IsDriveRoot(path)); IDirectoryViewItem[] adapters = new IDirectoryViewItem[lengthWithoutHidden + addUp]; if (addUp == 1) { adapters[0] = new MoveUpObject(); } int i = addUp; foreach (FileSystemInfo info in infos) { if ((info.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden) { adapters[i] = new WindowsFile(info); i++; } } CurrentPlace = new WindowsFile(di); return(adapters.Cast <IDirectoryViewItem>()); }
private void ExecuteFile(IDirectoryViewItem item) { DisableSimpleSearch(); ProcessStartInfo psi = new ProcessStartInfo(item.FullName); Process.Start(psi); }
public DirectorySynchronizeOperation(DirectorySynchronizeResult syncRes, IDirectoryViewItem[] items, FileSystemBase leftSystem, FileSystemBase rightSystem) : base(items, leftSystem) { SyncResult = syncRes; LeftSystem = leftSystem; RightSystem = rightSystem; OperationName = "Synchronizacja katalogów"; }
public CopyOperation(IDirectoryViewItem[] items, string destPath, FileSystemBase sourceFileSystem, FileSystemBase destFileSystem) : base(items, sourceFileSystem) { DestinationPath = destPath; DestFileSystem = destFileSystem; ProcessedItems = new List<IDirectoryViewItem>(items.Length); SizeInBytes = ItemsSize.ToBytes(); }
protected void OnItemExecuted(IDirectoryViewItem item) { var handler = ItemExecuted; if (handler != null) { handler(item, null); } }
/// <summary> /// Returns safe, unchanchable array of selected items /// </summary> /// <returns>Safe, unchanchable array of selected items</returns> private IDirectoryViewItem[] GetSelectedItems() { DirectoryViewContainer source = GetActiveDV(); IDirectoryViewItem[] items = new IDirectoryViewItem[source.SelectedItemsCount]; source.SelectedItems.CopyTo(items, 0); return(items.Where(i => !i.IsMoveUp).ToArray());//OPT: Find better solution }
private void LoadDirectory(IDirectoryViewItem file) { gContent.Children.Clear(); DirectoryPreview dirPreview = new DirectoryPreview(); dirPreview.LoadDirectory(file.CreateFileSystem().GetDirectoryContent(file.FullName)); gContent.Children.Add(dirPreview); }
public RenameOperation(IDirectoryViewItem objectToRename, string newName, FileSystemBase fileSystem) : base(fileSystem) { ObjectToRename = objectToRename; OldName = ObjectToRename.Name; OldPath = ObjectToRename.FullName; NewName = newName; NewPath = PathExt.Combine(PathExt.GetDirectoryName(ObjectToRename.FullName, ObjectToRename.IsWindowsFile), NewName, ObjectToRename.IsWindowsFile); OperationName = "Zmiana nazwy z " + OldName + " na " + NewName; }
public override void Delete(IDirectoryViewItem toDelete) { if (toDelete.IsDirectory) { connection.DeleteDirectory(toDelete.FullName); } else { connection.DeleteFile(toDelete.FullName); } }
public override void Delete(IDirectoryViewItem toDelete) { if (toDelete.IsDirectory) { Directory.Delete(toDelete.FullName, true); } else { File.Delete(toDelete.FullName); } }
/// <summary> /// Ctor /// </summary> /// <param name="items">Items to work on</param> public MultiFileOperation(IDirectoryViewItem[] items, FileSystemBase fileSystem) : base(fileSystem) { //TODO: Files in folders should be diffirent objects ItemsSize = FileSize.Empty; System.Diagnostics.Debug.Assert(items.Length > 0, "Empty operation!"); Items = items; //CurrentItem = items[0]; CountSize(); }
private string CreateInfoMessage(IDirectoryViewItem existingFile, string destination) { StringBuilder sb = new StringBuilder(); sb.Append(existingFile.IsDirectory ? "Katalog " : "Plik "); sb.Append("o nazwie "); sb.Append(existingFile.Name); sb.Append(" już istnieje w katalogu "); sb.Append(destination); sb.Append("! Co chcesz teraz zrobić?"); return sb.ToString(); }
private string CreateInfoMessage(IDirectoryViewItem existingFile, string destination) { StringBuilder sb = new StringBuilder(); sb.Append(existingFile.IsDirectory ? "Katalog " : "Plik "); sb.Append("o nazwie "); sb.Append(existingFile.Name); sb.Append(" już istnieje w katalogu "); sb.Append(destination); sb.Append("! Co chcesz teraz zrobić?"); return(sb.ToString()); }
/// <summary> /// Serve the event of changing selected item in middle ListBox - lbContent2 /// </summary> private void lbContent2_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (SelectedItemsCount > 0) { lbContent3.ItemsSource = null;//clear items IDirectoryViewItem item = (IDirectoryViewItem)SelectedItems[0]; if (item.IsDirectory) { fileSystem3.LoadDirectory(item.FullName); lbContent3.ItemsSource = fileSystem3.Items; } //TODO: Do preview for files } }
/// <summary> /// Load file to preview /// </summary> /// <param name="file">File to preview</param> private void LoadItem(IDirectoryViewItem file) { if (file.IsMoveUp) { LoadMoveUp(); } else if (file.IsDirectory) { LoadDirectory(file); } else { LoadFile(file.FullName); } }
private void LoadPath(IDirectoryViewItem toLoad) { if (toLoad == null) { return; } if (!ActiveView.FileSystem.IsWindowsFileSystem) { ActiveView.ChangeFileSystem(new WindowsFileSystem(toLoad.FullName)); } else { ActiveView.LoadDirectory(toLoad.FullName); } }
private void ActiveView_ItemExecuted(object sender, EventArgs e) { IDirectoryViewItem item = (IDirectoryViewItem)sender; Debug.Assert(item != null, "Empty call"); if (item.IsDirectory) { LoadDir(item.FullName, true); } else if (item.IsMoveUp) { MoveUp(); } else { ExecuteFile(item); } }
public override void Execute(object parameter) { var active = MainViewModel.ActiveDirectoryContainer.ActiveView; //get data from clipboard var data = Clipboard.GetDataObject(); //files var paths = (string[])data.GetData(DataFormats.FileDrop, true); if (paths == null) { MessageBox.Show("Schowek jest pusty"); return; } //get flag indicating whether it is copy or cut var stream = (MemoryStream)data.GetData("Preferred DropEffect", true); bool copyFlag = stream.ReadByte() == 5 ? true : false; //change paths into IDirectoryViewItems var items = new IDirectoryViewItem[paths.Length]; for (int i = 0; i < paths.Length; i++) { items[i] = WindowsFile.CreateFromPath(paths[i]); } MultiFileOperation operation; if (copyFlag) { operation = new CopyOperation(items, active.FullPath, new WindowsFileSystem(), active.FileSystem); } else { operation = new MoveOperation(items, active.FullPath, new WindowsFileSystem(), active.FileSystem); } OperationManager.ExecuteOperation(operation); }
public void ExecuteFile(IDirectoryViewItem item) { var proccessStartInfo = new ProcessStartInfo(item.FullName); Process.Start(proccessStartInfo); }
public MultiRenameItem(IDirectoryViewItem item) { Item = item; OldName = item.Name; }
public void RemoveFavorite(IDirectoryViewItem toRemove) { Favorites.Remove(toRemove); }
public void AddFavorite(IDirectoryViewItem toAdd) { Favorites.Add(toAdd); }
private void LoadPath(IDirectoryViewItem toLoad) { if (toLoad == null) return; if (!ActiveView.FileSystem.IsWindowsFileSystem) ActiveView.ChangeFileSystem(new WindowsFileSystem(toLoad.FullName)); else ActiveView.LoadDirectory(toLoad.FullName); }
//OPT: Make this ctor in more elegant way public MultiRenameOperation(IEnumerable<MultiRenameItem> mrItems, IDirectoryViewItem[] dvItems, FileSystemBase fileSystem) : base(dvItems, fileSystem) { MRItems = mrItems; OperationName = string.Format("Zmiana nazwy {0} obiektów", mrItems.Count()); }
public override IEnumerable<IDirectoryViewItem> GetDirectoryContent(string path) { DirectoryInfo di = new DirectoryInfo(path); FileSystemInfo[] infos = di.GetFileSystemInfos(); int lengthWithoutHidden = infos.Count(inf => (inf.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden); int addUp = Convert.ToInt32(!PathExt.IsDriveRoot(path)); IDirectoryViewItem[] adapters = new IDirectoryViewItem[lengthWithoutHidden + addUp]; if (addUp == 1) adapters[0] = new MoveUpObject(); int i = addUp; foreach (FileSystemInfo info in infos) { if ((info.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden) { adapters[i] = new WindowsFile(info); i++; } } CurrentPlace = new WindowsFile(di); return adapters.Cast<IDirectoryViewItem>(); }
/// <summary> /// Load file to preview /// </summary> /// <param name="file">File to preview</param> private void LoadItem(IDirectoryViewItem file) { if (file.IsMoveUp) LoadMoveUp(); else if (file.IsDirectory) LoadDirectory(file); else LoadFile(file.FullName); }
public void LoadFile(IDirectoryViewItem file) { pvContainer.Item = file; }
public static void AddItem(IDirectoryViewItem item) { history.AddItem(item, true); }
public bool IsFavorite(IDirectoryViewItem toCheck) { return Favorites.Contains(toCheck); }
public abstract void Delete(IDirectoryViewItem toDelete);
public bool IsFavorite(IDirectoryViewItem toCheck) { return(Favorites.Contains(toCheck)); }
public DeleteOperation(FileSystemBase fileSystem, IDirectoryViewItem[] items) : base(items, fileSystem) { }
public override void Delete(IDirectoryViewItem toDelete) { if (toDelete.IsDirectory) connection.DeleteDirectory(toDelete.FullName); else connection.DeleteFile(toDelete.FullName); }
/// <summary> /// Returns safe, unchanchable array of selected items /// </summary> /// <returns>Safe, unchanchable array of selected items</returns> private IDirectoryViewItem[] GetSelectedItems() { DirectoryViewContainer source = GetActiveDV(); IDirectoryViewItem[] items = new IDirectoryViewItem[source.SelectedItemsCount]; source.SelectedItems.CopyTo(items, 0); return items.Where(i => !i.IsMoveUp).ToArray();//OPT: Find better solution }
protected void OnItemExecuted(IDirectoryViewItem item) { var handler = ItemExecuted; if (handler != null) handler(item, null); }