private void lstViewFiles_DoubleClick(object sender, System.EventArgs e) { sFile item = (sFile)lstViewFiles.SelectedItems[0].Tag; if (GotoFile != null) { GotoFile(item); } }
public void UpdateFileInfo(int index, Info info) { sFile nf = m_file[index]; nf.file.info.PackedSize = info.PackedSize; nf.file.info.IsPacked = info.IsPacked; nf.file.info.Size = info.Size; m_file[index] = nf; }
// Drop from List private void filesListView_ItemDrag(object sender, ItemDragEventArgs e) { if (e.Button == MouseButtons.Left) { List <String> dropSelected = new List <String>(); foreach (ListViewItem item in filesListView.SelectedItems) { if (item.Tag != null) { sFile file = (sFile)item.Tag; if (!file.isVirtual) { dropSelected.Add(file.path); } } else // for selected folder { GetFolderFiles(dropSelected, item.Name); } } if (dropSelected.Count == 0) { filesListView.DoDragDrop(new DataObject(DataFormats.FileDrop, ""), DragDropEffects.None); return; } dragListActive = true; dropExtractPath = string.Empty; String[] dummyDropFile = new String[] { String.Empty }; dragDropFileWatcher.StartWatcher(ref dummyDropFile[0]); IDataObject obj = new DataObject(DataFormats.FileDrop, dummyDropFile); DragDropEffects result = filesListView.DoDragDrop(obj, DragDropEffects.Copy); if (dragDropFileWatcher.IsRunning) { dragDropFileWatcher.StopWatcher(); } dragListActive = false; if (dropExtractPath == string.Empty) { return; } string fullPath = (folderTreeView.SelectedNode.Parent != null) ? folderTreeView.SelectedNode.Name : String.Empty; ExtractFiles(dropSelected.ToArray(), dropExtractPath, fullPath); } }
public sFile RenameFile(string filePath, string newName) { for (int i = 0; i < m_file.Count; i++) { if (m_file[i].path == filePath) { sFile file = m_file[i]; int n = file.path.Length; file.path = file.path.Remove(n - file.file.name.Length) + newName.ToLowerInvariant(); file.file.name = newName; m_file[i] = file; return(file); } } return(new sFile()); }
internal sFile RenameFile(string pathFile, string newName) { sFile file = new sFile(); int i = pathFile.LastIndexOf('\\') + 1; string folderFile = pathFile.Remove(i); foreach (var folder in treeFiles.Keys) { if (folderFile == folder) { file = treeFiles[folder].RenameFile(pathFile, newName); break; } } dat.RenameFile(pathFile, newName); if (shouldSave == SaveType.None) { shouldSave = SaveType.DirTree; } return(file); }
private void OpenFile() { if (filesListView.SelectedItems.Count == 0) { return; } var item = filesListView.SelectedItems[0]; if (item.Tag != null) // open file { sFile sfile = (sFile)item.Tag; if (sfile.isVirtual) { string realfile = ControlDat.GetDat(currentDat).GetFile(sfile.path).RealFile; if (File.Exists(realfile)) { System.Diagnostics.Process.Start("explorer", realfile); } return; } var file = new string[1] { sfile.path }; if (sfile.file.info.Size > 1048576) // 1mb { new WaitForm(this).UnpackFile(tmpAppFolder, file, currentDat); } else { DATManage.ExtractFile(tmpAppFolder, sfile.path, currentDat); } string ofile = tmpAppFolder + file[0]; if (File.Exists(ofile)) { System.Diagnostics.Process.Start("explorer", ofile); } } else // folder { foreach (TreeNode node in folderTreeView.SelectedNode.Nodes) { if (node.Text == item.Text) { folderTreeView.SelectedNode = node; break; } } if (currentNode != null) { currentNode.ForeColor = Color.White; } currentNode = folderTreeView.SelectedNode; currentNode.ForeColor = Color.Yellow; FindFiles(currentDat, item.Name); upToolStripButton.Enabled = (currentNode.Parent != null); } }
public void AddFile(sFile file) { m_file.Add(file); }
public sFile(sFile file, string newPath) { this.file = file.file; this.file.pathTree = newPath; this.path = (this.file.pathTree + this.file.name).ToLowerInvariant();; }