private void iExtractAll_ItemClick(object sender, ItemClickEventArgs e) { if (filelistview.Items.Count > 0) { List <fileSystemObject> objectList = new List <fileSystemObject>(); using (var frm = new OpenFolderDialog()) { if (frm.ShowDialog(this) == DialogResult.OK) { try { using (Cursors.WaitCursor) { objectList.Add(archiveFile.RootDirectory); if (objectList.Count > 0) { form_extract extract_form = new form_extract(objectList, frm.Folder); extract_form.ShowDialog(); extract_form.Dispose(); } else { MessageBox.Show("Failed to find root Dir", "Extract Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } catch { MessageBox.Show("Failed to extract files", "Extract Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } }
private void btn_extract_Click(object sender, EventArgs e) { if (filelistview.SelectedObjects.Count < 1) return; List<fileSystemObject> objectList = new List<fileSystemObject>(); if (filelistview.SelectedObjects.Count == 1) { // Handle single Dir if (filelistview.SelectedObject is RPFLib.Common.Directory) { using (var sfrm = new OpenFolderDialog()) { if (sfrm.ShowDialog(this) == DialogResult.OK) { try { using (Cursors.WaitCursor) { objectList.Add(filelistview.SelectedObject as fileSystemObject); form_extract extract_form = new form_extract(objectList, Path.GetFullPath(sfrm.Folder)); extract_form.ShowDialog(); extract_form.Dispose(); } } catch { MessageBox.Show("Failed to extract files", "Extract Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } else { // Handle single file using (var sfrm = new SaveFileDialog()) { var file = filelistview.SelectedObject as RPFLib.Common.File; sfrm.FileName = file.Name; if (sfrm.ShowDialog(this) == DialogResult.OK) { byte[] data = file.GetData(false); System.IO.File.WriteAllBytes(sfrm.FileName, data); } } } } //Handle multiple files/folders else if (filelistview.SelectedObjects.Count > 1) { using (var frm = new OpenFolderDialog()) { if (frm.ShowDialog(this) == DialogResult.OK) { try { using (Cursors.WaitCursor) { foreach (object item in filelistview.SelectedObjects) { objectList.Add(item as fileSystemObject); } form_extract extract_form = new form_extract(objectList, frm.Folder); extract_form.ShowDialog(); extract_form.Dispose(); } } catch { MessageBox.Show("Failed to extract files", "Extract Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } else return; }
private void iExtractAll_ItemClick(object sender, ItemClickEventArgs e) { if (filelistview.Items.Count > 0) { List<fileSystemObject> objectList = new List<fileSystemObject>(); using (var frm = new OpenFolderDialog()) { if (frm.ShowDialog(this) == DialogResult.OK) { try { using (Cursors.WaitCursor) { objectList.Add(archiveFile.RootDirectory); if (objectList.Count > 0) { form_extract extract_form = new form_extract(objectList, frm.Folder); extract_form.ShowDialog(); extract_form.Dispose(); } else MessageBox.Show("Failed to find root Dir", "Extract Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch { MessageBox.Show("Failed to extract files", "Extract Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } }
private void btn_extract_Click(object sender, EventArgs e) { if (filelistview.SelectedObjects.Count < 1) { return; } List <fileSystemObject> objectList = new List <fileSystemObject>(); if (filelistview.SelectedObjects.Count == 1) { // Handle single Dir if (filelistview.SelectedObject is RPFLib.Common.Directory) { using (var sfrm = new OpenFolderDialog()) { if (sfrm.ShowDialog(this) == DialogResult.OK) { try { using (Cursors.WaitCursor) { objectList.Add(filelistview.SelectedObject as fileSystemObject); form_extract extract_form = new form_extract(objectList, Path.GetFullPath(sfrm.Folder)); extract_form.ShowDialog(); extract_form.Dispose(); } } catch { MessageBox.Show("Failed to extract files", "Extract Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } else { // Handle single file using (var sfrm = new SaveFileDialog()) { var file = filelistview.SelectedObject as RPFLib.Common.File; sfrm.FileName = file.Name; if (sfrm.ShowDialog(this) == DialogResult.OK) { byte[] data = file.GetData(false); System.IO.File.WriteAllBytes(sfrm.FileName, data); } } } } //Handle multiple files/folders else if (filelistview.SelectedObjects.Count > 1) { using (var frm = new OpenFolderDialog()) { if (frm.ShowDialog(this) == DialogResult.OK) { try { using (Cursors.WaitCursor) { foreach (object item in filelistview.SelectedObjects) { objectList.Add(item as fileSystemObject); } form_extract extract_form = new form_extract(objectList, frm.Folder); extract_form.ShowDialog(); extract_form.Dispose(); } } catch { MessageBox.Show("Failed to extract files", "Extract Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } else { return; } }