private void listView_AfterLabelEdit(object sender, LabelEditEventArgs e) { MFSFile file = (MFSFile)listView.Items[e.Item].Tag; if (e.Label != null) { string _ext = Path.GetExtension(e.Label); if (_ext.StartsWith(".")) { _ext = _ext.Substring(1); } if (file.Ext != _ext) { if (MessageBox.Show("Are you sure to change the extension of the file? It may not work as intended.", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) { return; } } file.Ext = _ext; file.Name = Path.GetFileNameWithoutExtension(e.Label); } UpdateTreeView(current_dir); }
public static bool SaveFile(MFSFile file, string filepath) { if (disk == null || disk.Format == MFS.DiskFormat.Invalid) { return(false); } byte[] filedata = MFSRAMUtil.ReadFile(disk, file); FileStream fileout = new FileStream(filepath, FileMode.Create); fileout.Write(filedata, 0, filedata.Length); fileout.Close(); return(true); }
private void extractToolStripMenuItem_Click(object sender, EventArgs e) { if (listView.SelectedItems.Count > 1) { //More than one file FolderSelectDialog fsd = new FolderSelectDialog(); fsd.Title = "Export Files..."; if (fsd.ShowDialog()) { List <MFSFile> files = new List <MFSFile>(); foreach (ListViewItem item in listView.SelectedItems) { files.Add((MFSFile)item.Tag); } if (Program.SaveFiles(files.ToArray(), fsd.FileName)) { MessageBox.Show("Files are extracted successfully.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else if (listView.SelectedItems.Count == 1) { //Only one file MFSFile file = (MFSFile)listView.SelectedItems[0].Tag; SaveFileDialog sfd = new SaveFileDialog(); sfd.Title = "Export File..."; sfd.FileName = file.Name + (file.Ext != "" ? "." + file.Ext : ""); if (sfd.ShowDialog() == DialogResult.OK) { if (Program.SaveFile(file, sfd.FileName)) { MessageBox.Show("File is extracted successfully.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } }
public static byte[] LoadFileData(MFSFile file) { return(MFSRAMUtil.ReadFile(disk, file)); }