private void Extraction() { if (ExplorerForm.LocaleRU) { label1.Text = "Подождите идет извлечение файлов..."; } else { label1.Text = "Please wait extraction of files..."; } if (this.state == WorkState.ExtractSingle) { Application.DoEvents(); DATManage.ExtractFile(unpackPath, listFiles[0], nameDat); this.Dispose(); } else { WorkerRun(); } }
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); } }