public static IItemNode GetListFileFolder(IItemNode node) { string path = node.GetFullPathString(); node.Childs.Clear(); foreach (string item in Directory.GetDirectories(path)) { DirectoryInfo info = new DirectoryInfo(item); if (CheckAttribute(info.Attributes, FileAttributes.System) | CheckAttribute(info.Attributes, FileAttributes.Offline)) { continue; } IItemNode f = new ItemNode(); f.Info.Name = info.Name; f.Info.Size = -1; f.Info.DateMod = info.LastWriteTime; node.AddChild(f); } foreach (string item in Directory.GetFiles(path)) { FileInfo info = new FileInfo(item); if (CheckAttribute(info.Attributes, FileAttributes.System) | CheckAttribute(info.Attributes, FileAttributes.Offline)) { continue; } IItemNode f = new ItemNode(); f.Info.Name = info.Name; f.Info.Size = info.Length; f.Info.DateMod = info.LastWriteTime; node.AddChild(f); } return(node); }
static void GetItems(MegaApiClient client, INode node, IItemNode Enode) { foreach (INode child in client.GetNodes(node)) { ItemNode c = new ItemNode(); c.Info.ID = child.Id; c.Info.Name = child.Name; c.Info.DateMod = child.LastModificationDate; c.Info.MegaCrypto = new MegaKeyCrypto(child as INodeCrypto); switch (child.Type) { case RootType.File: c.Info.Size = child.Size; Enode.AddChild(c); break; case RootType.Directory: c.Info.Size = -1; Enode.AddChild(c); break; default: break; } } }
void uploadfile() { OpenFileDialog ofd = new OpenFileDialog(); ofd.Multiselect = true; ofd.Filter = PCPath.FilterAllFiles; ofd.InitialDirectory = PCPath.Mycomputer; DialogResult result = ofd.ShowDialog(); if (result != DialogResult.OK | result != DialogResult.Yes) { return; } List <IItemNode> items = new List <IItemNode>(); IItemNode root = ItemNode.GetNodeFromDiskPath(System.IO.Path.GetDirectoryName(ofd.FileNames[0])); foreach (string s in ofd.SafeFileNames) { IItemNode n = new ItemNode(); n.Info.Name = s; root.AddChild(n); FileInfo info = new FileInfo(n.GetFullPathString()); n.Info.Size = info.Length; n.Info.DateMod = info.LastWriteTime; items.Add(n); } Setting_UI.reflection_eventtocore.ExplorerAndManagerFile.TransferItems(items, root, managerehistory_itemnodes.NodeWorking(), false); }
private void uploadFileToHereToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Multiselect = true; ofd.Filter = PCPath.FilterAllFiles; ofd.InitialDirectory = PCPath.Mycomputer; DialogResult result = ofd.ShowDialog(); if (result == DialogResult.OK | result == DialogResult.Yes) { List <IItemNode> list_item_from = new List <IItemNode>(); string root = Path.GetDirectoryName(ofd.FileNames[0]); IItemNode rootnode = ItemNode.GetNodeFromDiskPath(root); foreach (string a in ofd.SafeFileNames) { FileInfo info = new FileInfo(root + "\\" + a); IItemNode n = new ItemNode(); n.Info.Name = a; n.Info.Size = info.Length; rootnode.AddChild(n); list_item_from.Add(n); } Setting_UI.reflection_eventtocore.ExplorerAndManagerFile.TransferItems(list_item_from, rootnode, ((UC_LVitem)tabControl1.SelectedTab.Controls[0]).managerhistory_itemnodes.NodeWorking(), false); } }
void CreateFolder(object obj) { ItemNode n = new ItemNode(); n.Info.Name = (string)obj; parent.AddChild(n); Setting_UI.reflection_eventtocore.ExplorerAndManagerFile.CreateFolder(n); Dispatcher.Invoke(new Action(() => this.Close())); }
public IItemNode MakeNodeTo(IItemNode RootFrom, IItemNode RootTo) { List <IItemNode> FullPathRootFrom = RootFrom.GetFullPath(); List <IItemNode> NodeFullPath = this.GetFullPath(); CloudType type_rootto = RootTo.GetRoot.RootType.Type; for (int i = NodeFullPath.IndexOf(RootFrom) + 1; i < NodeFullPath.Count; i++) { ItemNode node = new ItemNode(); node.Info.Size = NodeFullPath[i].Info.Size; node.Info.Name = (type_rootto == CloudType.LocalDisk || type_rootto == CloudType.Dropbox) ? RemoveSpecialChar(NodeFullPath[i].Info.Name) : NodeFullPath[i].Info.Name; RootTo.AddChild(node); RootTo = node; } return(RootTo); }
//Rename: MoveItem(node,null,newname,false) //Cut: MoveItem(node,newparent,null,false) //Copy: MoveItem(node,newparent,null,true) // public bool MoveItem(IItemNode node, IItemNode newparent = null, string newname = null, bool Copy = false) { CheckThread(false); if ((newparent != null && node.GetRoot == newparent.GetRoot) | newparent == null) { bool flag = false; switch (node.GetRoot.RootType.Type) { case CloudType.Dropbox: flag = Dropbox.Move(node, newparent, newname); break; case CloudType.GoogleDrive: Drivev2_File item = GoogleDrive.MoveItem(node, newparent, newname); if (item.title == newname) { flag = true; } item.parents.ForEach(s => { if (!flag && newparent != null && s.id == newparent.Info.ID) { flag = true; } }); break; case CloudType.LocalDisk: flag = LocalDisk.Move(node, newparent, newname); break; case CloudType.Mega: default: throw new Exception("CloudType not support (" + node.GetRoot.RootType.Type.ToString() + ")."); } if (flag) { if (newparent != null) { node.Parent.RemoveChild(node); newparent.AddChild(node); } else { node.Info.Name = newname; } } return(flag); } else { throw new Exception("Root not match."); } }
public ItemNode(NodeInfo info, IItemNode parent) { this.Info = info; parent.AddChild(this); }