Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }