Nanook.QueenBee.EditorForm.mnuExtractFile_Click C# (CSharp) Method

mnuExtractFile_Click() private method

private mnuExtractFile_Click ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
        private void mnuExtractFile_Click(object sender, EventArgs e)
        {
            try
            {
                string qbname = lstPakContents.SelectedItems[0].SubItems[1].Text;
                string fname = qbname.Replace('\\', '#').Replace('/', '#');

                if (AppState.LastQbExtractPath.Length != 0)
                {
                    if (Directory.Exists(AppState.LastQbExtractPath))
                    {
                        saveQb.InitialDirectory = AppState.LastQbExtractPath;
                        fname = Path.Combine(AppState.LastQbExtractPath, fname);
                    }
                }

                fname = getBestFullFilename(fname);

                saveQb.Filter = string.Format("{0} (*.qb.{1})|*.qb.{1}|All files (*.*)|*.*", _pakFormat.PakFormatType.ToString(), _pakFormat.FileExtension);

                saveQb.FileName = fname;
                if (saveQb.ShowDialog(this) != DialogResult.Cancel)
                {
                    this.Cursor = Cursors.WaitCursor;
                    AppState.LastQbExtractPath = (new FileInfo(saveQb.FileName)).DirectoryName;

                    if (File.Exists(saveQb.FileName))
                        File.Delete(saveQb.FileName);
                    _pakFile.ExtractFile(qbname, saveQb.FileName);
                }
            }
            catch (Exception ex)
            {
                showException("Extract Error", ex);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }
EditorForm