private void DoFileMove( ListViewItem item ) { FileBrowserNode node = base.TreeNode as FileBrowserNode; string destination = ""; // Determine destingation to move to SelectDestinationDialog destinationDialog = new SelectDestinationDialog(node.Path, SelectDestinationDialog.SELECT_DESTINATION_OPERATION.MOVE_FILE, plugin); if (destinationDialog.ShowDialog() == DialogResult.OK) { destination = destinationDialog.GetPath() + PathSeparator + item.Text; string path = node.Path + PathSeparator + item.Text; WinError error = FileClient.FileClient.MoveFile(path, destination); if (error == WinError.NO_ERROR) { lvFilePage.BeginUpdate(); lvFilePage.Items.Remove(item); lvFilePage.EndUpdate(); Refresh(); } else { string message = "Move file operation failed. Error: " + error.ToString(); MessageBox.Show(message, "Could not move file", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private void DoDirectoryDelete( ListViewItem item ) { FileBrowserNode node = base.TreeNode as FileBrowserNode; DialogResult result = MessageBox.Show("Are you sure that you want to delete the directory called: " + item.Text + "?", "File Browser", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { string path = node.Path + PathSeparator + item.Text; WinError error = FileClient.FileClient.DeleteDirectory(path); if (error == WinError.NO_ERROR) { TreeNode[] removedItem = node.Nodes.Find(item.Text, false); if (removedItem.Length > 0) { removedItem[0].Remove(); } lvFilePage.BeginUpdate(); lvFilePage.Items.Remove(item); lvFilePage.EndUpdate(); Refresh(); } else { string message = "Delete directory operation failed. Error: " + error.ToString(); MessageBox.Show(message, "Could not remove directory", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private void DoFileCopy( ListViewItem item ) { FileBrowserNode node = base.TreeNode as FileBrowserNode; string destination = ""; // Determine destingation to copy to SelectDestinationDialog destinationDialog = new SelectDestinationDialog(node.Path, SelectDestinationDialog.SELECT_DESTINATION_OPERATION.COPY_FILE, plugin); if (destinationDialog.ShowDialog() == DialogResult.OK) { destination = destinationDialog.GetPath() + PathSeparator + item.Text; string path = node.Path + PathSeparator + item.Text; WinError error = FileClient.FileClient.CopyFile(path, destination, true); if (error == WinError.ERROR_FILE_EXISTS) { destination = destinationDialog.GetPath() + PathSeparator + "Copy of " + item.Text; error = FileClient.FileClient.CopyFile(path, destination, true); } if (error == WinError.NO_ERROR) { Refresh(); } else { string message = "Copy file operation failed. Error: " + error.ToString(); MessageBox.Show(message, "Could not copy file", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private void cm_OnRename(object sender, EventArgs e) { if (_currentNode != null && _selectedNode != null && _currentNode == _selectedNode) { FileBrowserNode node = _currentNode as FileBrowserNode; FileBrowserNode parent = _currentNode.Parent as FileBrowserNode; string newName = ""; if (node != null && parent != null) { // Determine destingation to copy to RenameDialog renameDialog = new RenameDialog(node.Name, RenameDialog.RENAME_OPERATION.RENAME_DIRECTORY, this); if (renameDialog.ShowDialog() == DialogResult.OK) { newName = renameDialog.GetName(); WinError error = FileClient.FileClient.MoveDirectory(parent.Path, parent.Path, node.Name, newName, true); if (error != WinError.NO_ERROR) { string message = "Rename directory operation failed. Error: " + error.ToString(); MessageBox.Show(message, "Could not rename directory", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } }
private void cm_OnCreateFolder(object sender, EventArgs e) { if (_currentNode != null && _selectedNode != null && _currentNode == _selectedNode) { FileBrowserNode node = _currentNode as FileBrowserNode; string newName = ""; if (node != null) { // Determine destingation to copy to RenameDialog renameDialog = new RenameDialog("New Folder", RenameDialog.RENAME_OPERATION.NEW_FOLDER_NAME, this); if (renameDialog.ShowDialog() == DialogResult.OK) { newName = node.Path + PathSeparator + renameDialog.GetName(); WinError error = FileClient.FileClient.CreateDirectory(newName); if (error != WinError.NO_ERROR) { string message = "Create directory operation failed. Error: " + error.ToString(); MessageBox.Show(message, "Could not create new directory", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } }
private void DoDirectoryCopy( ListViewItem item ) { FileBrowserNode node = base.TreeNode as FileBrowserNode; // Determine destingation to copy to SelectDestinationDialog destinationDialog = new SelectDestinationDialog(node.Path, SelectDestinationDialog.SELECT_DESTINATION_OPERATION.COPY_DIRECTORY, plugin); if (destinationDialog.ShowDialog() == DialogResult.OK) { WinError error = FileClient.FileClient.CopyDirectory(node.Path, destinationDialog.GetPath(), item.Text, item.Text, true); if (error == WinError.ERROR_FILE_EXISTS || error == WinError.ERROR_ALREADY_EXISTS) { error = FileClient.FileClient.CopyDirectory(node.Path, destinationDialog.GetPath(), item.Text, "Copy of " + item.Text, true); } if (error == WinError.NO_ERROR) { Refresh(); } else { string message = "Copy directory operation failed. Error: " + error.ToString(); MessageBox.Show(message, "Could not copy directory", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private void cm_OnDelete(object sender, EventArgs e) { if (_currentNode != null && _selectedNode != null && _currentNode == _selectedNode) { FileBrowserNode node = _currentNode as FileBrowserNode; DialogResult result = MessageBox.Show("Are you sure that you want to delete the directory called: " + node.Name + "?", "File Browser", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { WinError error = FileClient.FileClient.DeleteDirectory(node.Path); if (error != WinError.NO_ERROR) { string message = "Delete directory operation failed. Error: " + error.ToString(); MessageBox.Show(message, "Could not remove directory", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { node.Remove(); } } } }
public void EnumChildren(LACTreeNode parentNode) { List <NETRESOURCE> NetResources = new List <NETRESOURCE>(); FileBrowserNode node = parentNode as FileBrowserNode; if (node == null) { return; } if (node.FBNodeType == FileBrowserNode.FileBrowserNopeType.ROOT) { // Enumerate the child nodes of "File Browser" tree root BuildNodesToPlugin(); return; } if (node.Name.Equals("Network")) { // Enumerate the child nodes of the "Network" tree node if (platform == LikewiseTargetPlatform.Windows) { NetResources = GetNetworkConnections(); AddShareNodes(parentNode, NetResources); } else { AddShareNodes(parentNode, RemoteShares); } return; } if (node.Name.Equals("Computer")) { return; } if (node.FBNodeType == FileBrowserNode.FileBrowserNopeType.SHARE || node.FBNodeType == FileBrowserNode.FileBrowserNopeType.DIRECTORY) { // Enum files and directories under share/directory path. List <FileItem> FileList = FileClient.FileClient.EnumFiles(node.Path, false); if (FileList == null || FileList.Count == 0) { return; } foreach (FileItem File in FileList) { if (File.IsDirectory) { AddDirFolderNodes(node, File.FileName); } } } }
private FileBrowserNode GetFileBrowserNode() { if (_pluginNode == null) { Icon ic = Resources.Library; _pluginNode = new FileBrowserNode("File Browser", ic, typeof(FilesBrowserPluginPage), this); _pluginNode.ImageIndex = (int)Manage.ManageImageType.Generic; _pluginNode.SelectedImageIndex = (int)Manage.ManageImageType.Generic; _pluginNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.ROOT; _pluginNode.IsPluginNode = true; } return(_pluginNode); }
private void AddDirFolderNodes( FileBrowserNode parentNode, string folderName ) { TreeNode[] found = parentNode.Nodes.Find(folderName, false); if (found == null || found.Length == 0) { FileBrowserNode node = new FileBrowserNode(folderName, Resources.Folder, null, null); node.FBNodeType = FileBrowserNode.FileBrowserNopeType.DIRECTORY; node.Path = parentNode.Path + _pathSeparator + folderName; parentNode.Nodes.Add(node); } }
private void DoDirectoryMove( ListViewItem item ) { FileBrowserNode node = base.TreeNode as FileBrowserNode; // Determine destingation to move to SelectDestinationDialog destinationDialog = new SelectDestinationDialog(node.Path, SelectDestinationDialog.SELECT_DESTINATION_OPERATION.MOVE_DIRECTORY, plugin); if (destinationDialog.ShowDialog() == DialogResult.OK) { string path = node.Path + PathSeparator + item.Text; WinError error = FileClient.FileClient.MoveDirectory(node.Path, destinationDialog.GetPath(), item.Text, item.Text, true); if (error == WinError.ERROR_FILE_EXISTS || error == WinError.ERROR_ALREADY_EXISTS) { error = FileClient.FileClient.MoveDirectory(node.Path, destinationDialog.GetPath(), item.Text, "Copy of " + item.Text, true); } if (error == WinError.NO_ERROR) { TreeNode[] removedItem = node.Nodes.Find(item.Text, false); if (removedItem.Length > 0) { removedItem[0].Remove(); } lvFilePage.BeginUpdate(); lvFilePage.Items.Remove(item); lvFilePage.EndUpdate(); Refresh(); } else { string message = "Move directory operation failed. Error: " + error.ToString(); MessageBox.Show(message, "Could not move directory", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private void lvFilePage_DoubleClick( object sender, EventArgs e) { FileBrowserNode parent = base.TreeNode as FileBrowserNode; int count = lvFilePage.SelectedItems.Count; if (parent == null) { return; } if (count != 1) { return; } TreeNode[] nodes = base.TreeNode.Nodes.Find(lvFilePage.SelectedItems[0].Text, true); if (nodes == null || nodes.Length == 0) { return; } LACTreeNode node = nodes[0] as LACTreeNode; plugin.EnumChildren(node); if (node != null) { if (node.TreeView != null) { parent.TreeView.SelectedNode = node; treeNode = node; if (node.Nodes.Count > 0) { node.Expand(); } Refresh(); } } }
private void AddShareNodes( FileBrowserNode parentNode, List <string> Shares ) { foreach (string Share in Shares) { TreeNode[] found = parentNode.Nodes.Find(Share, false); if (found == null || found.Length == 0) { FileBrowserNode node = new FileBrowserNode(Share, Resources.Share, null, null); node.FBNodeType = FileBrowserNode.FileBrowserNopeType.SHARE; node.Path = Share; parentNode.Nodes.Add(node); } } }
private void AddShareNodes( FileBrowserNode parentNode, List <NETRESOURCE> NetResources ) { foreach (NETRESOURCE NetResource in NetResources) { TreeNode[] found = parentNode.Nodes.Find(NetResource.pRemoteName, false); if (found == null || found.Length == 0) { FileBrowserNode node = new FileBrowserNode(NetResource.pRemoteName, Resources.Share, null, null); node.FBNodeType = FileBrowserNode.FileBrowserNopeType.SHARE; node.Path = NetResource.pRemoteName; parentNode.Nodes.Add(node); } } }
private void cm_OnMove(object sender, EventArgs e) { if (_currentNode != null && _selectedNode != null && _currentNode == _selectedNode) { FileBrowserNode node = _currentNode as FileBrowserNode; FileBrowserNode parent = _currentNode.Parent as FileBrowserNode; // Determine destingation to copy to SelectDestinationDialog destinationDialog = new SelectDestinationDialog(node.Path, SelectDestinationDialog.SELECT_DESTINATION_OPERATION.MOVE_DIRECTORY, this); if (destinationDialog.ShowDialog() == DialogResult.OK) { WinError error = FileClient.FileClient.MoveDirectory(parent.Path, destinationDialog.GetPath(), node.Name, node.Name, true); if (error == WinError.ERROR_FILE_EXISTS || error == WinError.ERROR_ALREADY_EXISTS) { error = FileClient.FileClient.MoveDirectory(parent.Path, destinationDialog.GetPath(), node.Name, "Copy of " + node.Name, true); } if (error != WinError.NO_ERROR) { string message = "Move directory operation failed. Error: " + error.ToString(); MessageBox.Show(message, "Could not move directory", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { _currentNode.Remove(); } } } }
private void AddDirFolderNodes( FileBrowserNode parentNode, string folderName ) { TreeNode[] found = parentNode.Nodes.Find(folderName, false); if (found == null || found.Length == 0) { FileBrowserNode node = new FileBrowserNode(folderName, Resources.Folder, typeof(FilesDetailPage), this); node.FBNodeType = FileBrowserNode.FileBrowserNopeType.DIRECTORY; if (parentNode.Path.Equals("/")) { node.Path = parentNode.Path + folderName; } else { node.Path = parentNode.Path + PathSeparator + folderName; } parentNode.Nodes.Add(node); } }
private void AddShareNodes( LACTreeNode parentNode, List<NETRESOURCE> NetResources ) { foreach (NETRESOURCE NetResource in NetResources) { TreeNode[] found = parentNode.Nodes.Find(NetResource.pRemoteName, false); if (found == null || found.Length == 0) { FileBrowserNode node = new FileBrowserNode(NetResource.pRemoteName, Resources.Share, typeof(FilesDetailPage), this); node.FBNodeType = FileBrowserNode.FileBrowserNopeType.SHARE; node.Path = NetResource.pRemoteName; parentNode.Nodes.Add(node); } } }
private void AddShareNodes( LACTreeNode parentNode, List<string> Shares ) { foreach (string Share in Shares) { TreeNode[] found = parentNode.Nodes.Find(Share, false); if (found == null || found.Length == 0) { FileBrowserNode node = new FileBrowserNode(Share, Resources.Share, typeof(FilesDetailPage), this); node.FBNodeType = FileBrowserNode.FileBrowserNopeType.SHARE; node.Path = Share; parentNode.Nodes.Add(node); } } }
public ContextMenu GetTreeContextMenu(LACTreeNode nodeClicked) { FileBrowserNode node = nodeClicked as FileBrowserNode; ContextMenu fileBrowserContextMenu = null; MenuItem menuItem = null; StandardPage fileBrowserPage = (StandardPage)nodeClicked.PluginPage; _selectedNode = _pluginNode.TreeView.SelectedNode as LACTreeNode; _currentNode = nodeClicked; if (fileBrowserPage == null) { Type type = nodeClicked.NodeType; object o = Activator.CreateInstance(type); if (o is IPlugInPage) { ((IPlugInPage)o).SetPlugInInfo(_container, nodeClicked.Plugin, nodeClicked, (LWTreeView)nodeClicked.TreeView, nodeClicked.sc); } } if (node == null) { return(fileBrowserContextMenu); } if (node.FBNodeType == FileBrowserNode.FileBrowserNopeType.ROOT) { fileBrowserContextMenu = new ContextMenu(); menuItem = new MenuItem("View Details", cm_OnSetView_Detail); if (_currentView == View.Details) { menuItem.Checked = true; } fileBrowserContextMenu.MenuItems.Add(menuItem); menuItem = new MenuItem("View Large Icons", cm_OnSetView_LargeIcon); if (_currentView == View.LargeIcon) { menuItem.Checked = true; } fileBrowserContextMenu.MenuItems.Add(menuItem); menuItem = new MenuItem("View Small Icons", cm_OnSetView_SmallIcon); if (_currentView == View.SmallIcon) { menuItem.Checked = true; } fileBrowserContextMenu.MenuItems.Add(menuItem); menuItem = new MenuItem("View List", cm_OnSetView_List); if (_currentView == View.List) { menuItem.Checked = true; } fileBrowserContextMenu.MenuItems.Add(menuItem); return(fileBrowserContextMenu); } fileBrowserContextMenu = new ContextMenu(); menuItem = new MenuItem("Expand", cm_OnExpand); fileBrowserContextMenu.MenuItems.Add(0, menuItem); if (node.Name.Equals(Resources.String_Network)) { menuItem = new MenuItem("Connect share", new EventHandler(cm_OnConnectToShare)); fileBrowserContextMenu.MenuItems.Add(menuItem); } else if (node.Parent.Name.Equals(Resources.String_Network)) { menuItem = new MenuItem("Disconnect share", new EventHandler(cm_OnDisconnectShare)); fileBrowserContextMenu.MenuItems.Add(menuItem); } if (node.FBNodeType == FileBrowserNode.FileBrowserNopeType.SHARE || node.FBNodeType == FileBrowserNode.FileBrowserNopeType.DIRECTORY) { menuItem = new MenuItem("Refresh", cm_OnRefresh); fileBrowserContextMenu.MenuItems.Add(menuItem); menuItem = new MenuItem("New folder", new EventHandler(cm_OnCreateFolder)); fileBrowserContextMenu.MenuItems.Add(menuItem); menuItem = new MenuItem("Copy", new EventHandler(cm_OnCopy)); fileBrowserContextMenu.MenuItems.Add(menuItem); } if (node.FBNodeType == FileBrowserNode.FileBrowserNopeType.DIRECTORY) { menuItem = new MenuItem("Move", new EventHandler(cm_OnMove)); fileBrowserContextMenu.MenuItems.Add(menuItem); menuItem = new MenuItem("Delete", new EventHandler(cm_OnDelete)); fileBrowserContextMenu.MenuItems.Add(menuItem); menuItem = new MenuItem("Rename", new EventHandler(cm_OnRename)); fileBrowserContextMenu.MenuItems.Add(menuItem); } return(fileBrowserContextMenu); }
public override void Refresh( ) { List <FileItem> FileList = null; base.Refresh(); FileBrowserNode node = base.TreeNode as FileBrowserNode; if (lvFilePage.Items.Count != 0) { lvFilePage.Items.Clear(); } if (node.FBNodeType == FileBrowserNode.FileBrowserNopeType.CATEGORY || node.FBNodeType == FileBrowserNode.FileBrowserNopeType.ROOT) { this.lblCaption.Text = node.Text; } if (node.FBNodeType == FileBrowserNode.FileBrowserNopeType.SHARE || node.FBNodeType == FileBrowserNode.FileBrowserNopeType.DIRECTORY) { if (String.IsNullOrEmpty(node.Path)) { // Local HD root scenario this.lblCaption.Text = node.Text; FileList = FileClient.FileClient.EnumFiles("", false); } else { this.lblCaption.Text = string.Format(this.lblCaption.Text, node.Path); FileList = FileClient.FileClient.EnumFiles(node.Path, false); } } if (FileList == null || FileList.Count == 0) { return; } foreach (FileItem File in FileList) { string creation = ""; string modified = ""; string size = ""; string type = "Directory"; int imageIndex = FOLDER_INDEX; if (!File.IsDirectory) { type = "File"; imageIndex = FILE_INDEX; } if (File.CreationTime != new DateTime()) { creation = File.CreationTime.ToString(); } if (File.LastWriteTime != new DateTime()) { modified = File.LastWriteTime.ToString(); } if (File.FileSizeInKB > 0) { size = File.FileSizeInKB.ToString() + " KB"; } else { size = File.FileSmallSizeInBytes.ToString() + " Bytes"; } string[] file = { File.FileName, creation, modified, type, size }; ListViewItem lvItem = new ListViewItem(file, imageIndex); lvFilePage.Items.Add(lvItem); } lvFilePage.Sort(); lvFilePage.View = plugin.GetCurrentViewStyle(); }
private void BuildNodesToPlugin() { if (_pluginNode != null) { Icon iconNetShare = Resources.Share; Icon iconFolder = Resources.Folder; Icon iconComputer = Resources.Computer_48; Icon iconHome = Resources.Home; if (_pluginNode.Nodes.Find(Resources.String_Network, false).Length == 0) { FileBrowserNode networkNode = new FileBrowserNode(Resources.String_Network, iconNetShare, typeof(FilesDetailPage), this); networkNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; _pluginNode.Nodes.Add(networkNode); } if (_pluginNode.Nodes.Find(Resources.String_Computer, false).Length == 0) { FileBrowserNode computerNode = new FileBrowserNode(Resources.String_Computer, iconComputer, typeof(FilesDetailPage), this); computerNode.Path = ""; computerNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; _pluginNode.Nodes.Add(computerNode); FileBrowserNode localDiskRootNode = new FileBrowserNode("[HD]", iconFolder, typeof(FilesDetailPage), this); localDiskRootNode.Path = ""; localDiskRootNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.DIRECTORY; computerNode.Nodes.Add(localDiskRootNode); /* Disabled for now - These could be suitable common local user paths that are worth browsing. * if (platform != LikewiseTargetPlatform.Windows) * { * FileBrowserNode homeNode = new FileBrowserNode(Resources.String_Home, iconHome, typeof(FilesDetailPage), this); * computerNode.Path = "~/"; * homeNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; * computerNode.Nodes.Add(homeNode); * * FileBrowserNode deskNode = new FileBrowserNode(Resources.String_Desktop, iconFolder, typeof(FilesDetailPage), this); * deskNode.Path = "~/Desktop/"; * deskNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; * computerNode.Nodes.Add(deskNode); * * FileBrowserNode docNode = new FileBrowserNode(Resources.String_Documents, iconFolder, typeof(FilesDetailPage), this); * docNode.Path = "~/Documents/"; * docNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; * computerNode.Nodes.Add(docNode); * * FileBrowserNode musicNode = new FileBrowserNode(Resources.String_Music, iconFolder, typeof(FilesDetailPage), this); * musicNode.Path = "~/Music/"; * musicNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; * computerNode.Nodes.Add(musicNode); * * FileBrowserNode pictNode = new FileBrowserNode(Resources.String_Pictures, iconFolder, typeof(FilesDetailPage), this); * pictNode.Path = "~/Photos/"; * pictNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; * computerNode.Nodes.Add(pictNode); * * FileBrowserNode videoNode = new FileBrowserNode(Resources.String_Videos, iconFolder, typeof(FilesDetailPage), this); * videoNode.Path = "~/Movies/"; * videoNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; * computerNode.Nodes.Add(videoNode); * } */ } } }
private void contextMenuStrip_ItemClicked( object sender, ToolStripItemClickedEventArgs e ) { FileBrowserNode node = base.TreeNode as FileBrowserNode; int count = lvFilePage.SelectedItems.Count; string option = e.ClickedItem.Text; FileBrowserNode.FileBrowserNopeType fbtype = FileBrowserNode.FileBrowserNopeType.UNKNOWN; if (node == null) { return; } contextMenuStrip.Hide(); if (count != 1) { return; } ListViewItem item = lvFilePage.SelectedItems[0]; if (item.SubItems[3].Text == "Directory") { fbtype = FileBrowserNode.FileBrowserNopeType.DIRECTORY; } if (item.SubItems[3].Text == "File") { fbtype = FileBrowserNode.FileBrowserNopeType.FILE; } switch (option) { case "Properties": if (fbtype == FileBrowserNode.FileBrowserNopeType.DIRECTORY) { ShowDirectoryProperties(item); } if (fbtype == FileBrowserNode.FileBrowserNopeType.FILE) { ShowFileProperties(item); } break; case "Delete": if (fbtype == FileBrowserNode.FileBrowserNopeType.DIRECTORY) { DoDirectoryDelete(item); } if (fbtype == FileBrowserNode.FileBrowserNopeType.FILE) { DoFileDelete(item); } break; case "Move": if (fbtype == FileBrowserNode.FileBrowserNopeType.DIRECTORY) { DoDirectoryMove(item); } if (fbtype == FileBrowserNode.FileBrowserNopeType.FILE) { DoFileMove(item); } break; case "Copy": if (fbtype == FileBrowserNode.FileBrowserNopeType.DIRECTORY) { DoDirectoryCopy(item); } if (fbtype == FileBrowserNode.FileBrowserNopeType.FILE) { DoFileCopy(item); } break; default: break; } }
public void EnumChildren(FileBrowserNode parentNode) { List<NETRESOURCE> NetResources = new List<NETRESOURCE>(); FileBrowserNode node = parentNode as FileBrowserNode; if (node == null) { return; } tbPath.Text = ""; if (node.FBNodeType == FileBrowserNode.FileBrowserNopeType.ROOT) { // Enumerate the child nodes of "File Browser" tree root BuildTopNodes(); return; } if (node.Name.Equals("Network")) { // Enumerate the child nodes of the "Network" tree node if (_platform == LikewiseTargetPlatform.Windows) { NetResources = GetNetworkConnections(); AddShareNodes(parentNode, NetResources); } else { AddShareNodes(parentNode, _activeShares); } return; } if (node.Name.Equals("Computer")) { return; } if (node.FBNodeType == FileBrowserNode.FileBrowserNopeType.SHARE || node.FBNodeType == FileBrowserNode.FileBrowserNopeType.DIRECTORY) { // Enum files and directories under share/directory path. List<FileItem> FileList = FileClient.FileClient.EnumFiles(node.Path, false); // Update the text box with the current item path value tbPath.Text = parentNode.Path; if (FileList == null || FileList.Count == 0) { return; } foreach (FileItem File in FileList) { if (File.IsDirectory) { AddDirFolderNodes(node, File.FileName); } } } }
private void BuildTopNodes() { if (tvDestinationTree != null) { Icon iconNetShare = Resources.Share; Icon iconFolder = Resources.Folder; Icon iconComputer = Resources.Computer_48; Icon iconHome = Resources.Home; if (tvDestinationTree.Nodes.Find(Resources.String_Network, false).Length == 0) { FileBrowserNode networkNode = new FileBrowserNode(Resources.String_Network, iconNetShare, null, null); networkNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; tvDestinationTree.Nodes.Add(networkNode); } if (tvDestinationTree.Nodes.Find(Resources.String_Computer, false).Length == 0) { FileBrowserNode computerNode = new FileBrowserNode(Resources.String_Computer, iconComputer, null, null); computerNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; tvDestinationTree.Nodes.Add(computerNode); FileBrowserNode localDiskRootNode = new FileBrowserNode("[HD]", iconFolder, null, null); localDiskRootNode.Path = ""; localDiskRootNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.DIRECTORY; computerNode.Nodes.Add(localDiskRootNode); /* Disabled for now - These could be suitable common local user paths that are worth browsing. FileBrowserNode homeNode = new FileBrowserNode(Resources.String_Home, iconHome, null, null); computerNode.Path = "~/"; homeNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; computerNode.Nodes.Add(homeNode); FileBrowserNode deskNode = new FileBrowserNode(Resources.String_Desktop, iconFolder, null, null); deskNode.Path = "~/Desktop/"; deskNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; computerNode.Nodes.Add(deskNode); FileBrowserNode docNode = new FileBrowserNode(Resources.String_Documents, iconFolder, null, null); docNode.Path = "~/Documents/"; docNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; computerNode.Nodes.Add(docNode); FileBrowserNode musicNode = new FileBrowserNode(Resources.String_Music, iconFolder, null, null); musicNode.Path = "~/Music/"; musicNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; computerNode.Nodes.Add(musicNode); FileBrowserNode pictNode = new FileBrowserNode(Resources.String_Pictures, iconFolder, null, null); pictNode.Path = "~/Photos/"; pictNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; computerNode.Nodes.Add(pictNode); FileBrowserNode videoNode = new FileBrowserNode(Resources.String_Videos, iconFolder, null, null); videoNode.Path = "~/Movies/"; videoNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; computerNode.Nodes.Add(videoNode); */ } } }
private FileBrowserNode GetFileBrowserNode() { if (_pluginNode == null) { Icon ic = Resources.Library; _pluginNode = new FileBrowserNode("File Browser", ic, typeof(FilesBrowserPluginPage), this); _pluginNode.ImageIndex = (int)Manage.ManageImageType.Generic; _pluginNode.SelectedImageIndex = (int)Manage.ManageImageType.Generic; _pluginNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.ROOT; _pluginNode.IsPluginNode = true; } return _pluginNode; }
private void lwDestinationTree_AfterSelect(object sender, TreeViewEventArgs e) { FileBrowserNode node = e.Node as FileBrowserNode; EnumChildren(node); }
private void BuildNodesToPlugin() { if (_pluginNode != null) { Icon iconNetShare = Resources.Share; Icon iconFolder = Resources.Folder; Icon iconComputer = Resources.Computer_48; Icon iconHome = Resources.Home; if (_pluginNode.Nodes.Find(Resources.String_Network, false).Length == 0) { FileBrowserNode networkNode = new FileBrowserNode(Resources.String_Network, iconNetShare, typeof(FilesDetailPage), this); networkNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; _pluginNode.Nodes.Add(networkNode); } if (_pluginNode.Nodes.Find(Resources.String_Computer, false).Length == 0) { FileBrowserNode computerNode = new FileBrowserNode(Resources.String_Computer, iconComputer, typeof(FilesDetailPage), this); computerNode.Path = ""; computerNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; _pluginNode.Nodes.Add(computerNode); FileBrowserNode localDiskRootNode = new FileBrowserNode("[HD]", iconFolder, typeof(FilesDetailPage), this); localDiskRootNode.Path = ""; localDiskRootNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.DIRECTORY; computerNode.Nodes.Add(localDiskRootNode); /* Disabled for now - These could be suitable common local user paths that are worth browsing. if (platform != LikewiseTargetPlatform.Windows) { FileBrowserNode homeNode = new FileBrowserNode(Resources.String_Home, iconHome, typeof(FilesDetailPage), this); computerNode.Path = "~/"; homeNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; computerNode.Nodes.Add(homeNode); FileBrowserNode deskNode = new FileBrowserNode(Resources.String_Desktop, iconFolder, typeof(FilesDetailPage), this); deskNode.Path = "~/Desktop/"; deskNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; computerNode.Nodes.Add(deskNode); FileBrowserNode docNode = new FileBrowserNode(Resources.String_Documents, iconFolder, typeof(FilesDetailPage), this); docNode.Path = "~/Documents/"; docNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; computerNode.Nodes.Add(docNode); FileBrowserNode musicNode = new FileBrowserNode(Resources.String_Music, iconFolder, typeof(FilesDetailPage), this); musicNode.Path = "~/Music/"; musicNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; computerNode.Nodes.Add(musicNode); FileBrowserNode pictNode = new FileBrowserNode(Resources.String_Pictures, iconFolder, typeof(FilesDetailPage), this); pictNode.Path = "~/Photos/"; pictNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; computerNode.Nodes.Add(pictNode); FileBrowserNode videoNode = new FileBrowserNode(Resources.String_Videos, iconFolder, typeof(FilesDetailPage), this); videoNode.Path = "~/Movies/"; videoNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; computerNode.Nodes.Add(videoNode); } */ } } }
private void BuildTopNodes() { if (tvDestinationTree != null) { Icon iconNetShare = Resources.Share; Icon iconFolder = Resources.Folder; Icon iconComputer = Resources.Computer_48; Icon iconHome = Resources.Home; if (tvDestinationTree.Nodes.Find(Resources.String_Network, false).Length == 0) { FileBrowserNode networkNode = new FileBrowserNode(Resources.String_Network, iconNetShare, null, null); networkNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; tvDestinationTree.Nodes.Add(networkNode); } if (tvDestinationTree.Nodes.Find(Resources.String_Computer, false).Length == 0) { FileBrowserNode computerNode = new FileBrowserNode(Resources.String_Computer, iconComputer, null, null); computerNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; tvDestinationTree.Nodes.Add(computerNode); FileBrowserNode localDiskRootNode = new FileBrowserNode("[HD]", iconFolder, null, null); localDiskRootNode.Path = ""; localDiskRootNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.DIRECTORY; computerNode.Nodes.Add(localDiskRootNode); /* Disabled for now - These could be suitable common local user paths that are worth browsing. * FileBrowserNode homeNode = new FileBrowserNode(Resources.String_Home, iconHome, null, null); * computerNode.Path = "~/"; * homeNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; * computerNode.Nodes.Add(homeNode); * * FileBrowserNode deskNode = new FileBrowserNode(Resources.String_Desktop, iconFolder, null, null); * deskNode.Path = "~/Desktop/"; * deskNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; * computerNode.Nodes.Add(deskNode); * * FileBrowserNode docNode = new FileBrowserNode(Resources.String_Documents, iconFolder, null, null); * docNode.Path = "~/Documents/"; * docNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; * computerNode.Nodes.Add(docNode); * * FileBrowserNode musicNode = new FileBrowserNode(Resources.String_Music, iconFolder, null, null); * musicNode.Path = "~/Music/"; * musicNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; * computerNode.Nodes.Add(musicNode); * * FileBrowserNode pictNode = new FileBrowserNode(Resources.String_Pictures, iconFolder, null, null); * pictNode.Path = "~/Photos/"; * pictNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; * computerNode.Nodes.Add(pictNode); * * FileBrowserNode videoNode = new FileBrowserNode(Resources.String_Videos, iconFolder, null, null); * videoNode.Path = "~/Movies/"; * videoNode.FBNodeType = FileBrowserNode.FileBrowserNopeType.CATEGORY; * computerNode.Nodes.Add(videoNode); */ } } }