public ImageForm(KoreFileInfo kfi, TabPage tabPage, IArchiveAdapter parentAdapter, TabPage parentTabPage) { InitializeComponent(); Kfi = kfi; _currentTab = tabPage; _parentTab = parentTabPage; _parentAdapter = parentAdapter; _bestBitmaps = _imageAdapter.BitmapInfos.Select(x => (Bitmap)x.Image.Clone()).ToArray(); imbPreview.Image = _imageAdapter.BitmapInfos.FirstOrDefault()?.Image; tsbFormat.DropDownItems.AddRange(_imageAdapter.FormatInfos?.Select(f => new ToolStripMenuItem { Text = f.FormatName, Tag = f, Checked = f.FormatIndex == _selectedBitmapInfo.FormatInfo.FormatIndex }).ToArray()); if (tsbFormat.DropDownItems.Count > 0) { foreach (var tsb in tsbFormat.DropDownItems) { ((ToolStripMenuItem)tsb).Click += tsbFormat_Click; } } tsbImageBorderStyle.DropDownItems.AddRange(Enum.GetNames(typeof(ImageBoxBorderStyle)).Select(s => new ToolStripMenuItem { Image = (Image)Resources.ResourceManager.GetObject(_stylesImages[s]), Text = _stylesText[s], Tag = s }).ToArray()); foreach (var tsb in tsbImageBorderStyle.DropDownItems) { ((ToolStripMenuItem)tsb).Click += tsbImageBorderStyle_Click; } UpdateForm(); UpdatePreview(); UpdateImageList(); }
public LayoutForm(KoreFileInfo kfi, TabPage tabPage, IArchiveAdapter parentAdapter, TabPage parentTabPage) { InitializeComponent(); Kfi = kfi; _currentTab = tabPage; _parentTab = parentTabPage; _parentAdapter = parentAdapter; imgLayout.Image = new Bitmap(500, 500); UpdateForm(); UpdateLayout(); }
public TextForm(KoreFileInfo kfi, TabPage tabPage, IArchiveAdapter parentAdapter, TabPage parentTabPage, IList <IGameAdapter> gameAdapters) { InitializeComponent(); Kfi = kfi; _currentTab = tabPage; _parentTab = parentTabPage; _parentAdapter = parentAdapter; LoadGameAdapters(gameAdapters); LoadEntries(_textAdapter.Entries); UpdatePreview(); UpdateForm(); }
private void ReplaceFilesInAdapter(IArchiveAdapter parentAdapter, BaseReadOnlyDirectoryNode physicalFs, string root) { // Loop through all directories foreach (var dir in physicalFs.EnumerateDirectories()) { ReplaceFilesInAdapter(parentAdapter, physicalFs.GetDirectoryNode(dir.RelativePath), root); } // Update files of this directory foreach (var file in physicalFs.EnumerateFiles()) { var openedFile = file.Open(); var afi = parentAdapter.Files.FirstOrDefault(x => Common.UnifyPath(x.FileName) == file.RelativePath); if (afi != null) { afi.FileData.Dispose(); afi.FileData = openedFile; afi.State = ArchiveFileState.Replaced; } } }
private void ReplaceFilesInAdapter(IArchiveAdapter parentAdapter, IFileSystem physicalFS, string root) { // Loop through all directories foreach (var dir in physicalFS.EnumerateDirectories(true)) { ReplaceFilesInAdapter(parentAdapter, physicalFS.GetDirectory(dir), root); } // Update files of this directory foreach (var file in physicalFS.EnumerateFiles()) { var openedFile = physicalFS.OpenFile(file.Remove(0, root.Length + 1)); var afi = parentAdapter.Files.FirstOrDefault(x => UnifyPathDelimiters(x.FileName) == UnifyPathDelimiters(file.Remove(0, root.Length + 1))); if (afi != null) { afi.FileData.Dispose(); afi.FileData = openedFile; afi.State = ArchiveFileState.Replaced; } } }
public ArchiveForm(KoreFileInfo kfi, TabPage tabPage, IArchiveAdapter parentAdapter, TabPage parentTabPage, string tempFolder, PluginLoader pluginLoader) { InitializeComponent(); // Overwrite window themes //Win32.SetWindowTheme(treDirectories.Handle, "explorer", null); //Win32.SetWindowTheme(lstFiles.Handle, "explorer", null); // Populate image list imlFiles.Images.Add("tree-directory", Resources.tree_directory); imlFiles.Images.Add("tree-directory-open", Resources.tree_directory_open); imlFiles.Images.Add("tree-text-file", Resources.tree_text_file); imlFiles.Images.Add("tree-image-file", Resources.tree_image_file); imlFiles.Images.Add("tree-archive-file", Resources.tree_archive_file); imlFilesLarge.Images.Add("tree-directory", Resources.tree_directory_32); imlFilesLarge.Images.Add("tree-directory-open", Resources.tree_directory_open); imlFilesLarge.Images.Add("tree-text-file", Resources.tree_text_file_32); imlFilesLarge.Images.Add("tree-image-file", Resources.tree_image_file_32); imlFilesLarge.Images.Add("tree-archive-file", Resources.tree_archive_file_32); Kfi = kfi; Kfi.PropertyChanged += Kfi_PropertyChanged; _currentTab = tabPage; _parentTab = parentTabPage; _tempFolder = tempFolder; _subFolder = Guid.NewGuid().ToString(); _childTabs = new List <TabPage>(); _pluginLoader = pluginLoader; if (!Directory.Exists(Path.Combine(tempFolder, _subFolder))) { Directory.CreateDirectory(Path.Combine(tempFolder, _subFolder)); } LoadDirectories(); UpdateForm(); }
public VirtualFileSystem(IArchiveAdapter adapter, string tempFolder, string root = "") { if (string.IsNullOrEmpty(tempFolder)) { throw new InvalidOperationException("Temporary Folder path was not given."); } if (root == null) { throw new ArgumentNullException("Root directory was null."); } _adapter = adapter ?? throw new ArgumentNullException("Archive Adapter was null."); _files = adapter.Files; RootDirectory = UnifyPathDelimiters(root); _tempFolder = Path.GetFullPath(tempFolder); if (!Directory.Exists(_tempFolder)) { Directory.CreateDirectory(_tempFolder); } }
public ImageForm(KoreFileInfo kfi, TabPage tabPage, IArchiveAdapter parentAdapter, TabPage parentTabPage) { InitializeComponent(); Kfi = kfi; _currentTab = tabPage; _parentTab = parentTabPage; _parentAdapter = parentAdapter; try { if (_imageAdapter.BitmapInfos == null) { throw new ArgumentNullException(nameof(_imageAdapter.BitmapInfos)); } if (_imageAdapter.ImageEncodingInfos == null) { throw new ArgumentNullException(nameof(_imageAdapter.ImageEncodingInfos)); } if (_imageAdapter is IIndexedImageAdapter indexAdapter) { if (indexAdapter.PaletteEncodingInfos == null) { throw new ArgumentNullException(nameof(indexAdapter.PaletteEncodingInfos)); } } } catch { throw new InvalidOperationException($"The plugin missed to implement a property."); } _bestBitmaps = _imageAdapter.BitmapInfos.Select(x => (Bitmap)x.Image.Clone()).ToArray(); imbPreview.Image = _imageAdapter.BitmapInfos.FirstOrDefault()?.Image; // Populate format dropdown tsbFormat.DropDownItems.AddRange(_imageAdapter.ImageEncodingInfos?.Select(f => new ToolStripMenuItem { Text = f.EncodingName, Tag = f, Checked = f.EncodingIndex == _selectedBitmapInfo.ImageEncoding.EncodingIndex }).ToArray()); if (tsbFormat.DropDownItems.Count > 0) { foreach (var tsb in tsbFormat.DropDownItems) { ((ToolStripMenuItem)tsb).Click += tsbFormat_Click; } } // populate palette format dropdown if (_imageAdapter is IIndexedImageAdapter indexAdapter2 && _selectedBitmapInfo is IndexedBitmapInfo indexInfo) { tsbPalette.DropDownItems.AddRange(indexAdapter2.PaletteEncodingInfos?.Select(f => new ToolStripMenuItem { Text = f.EncodingName, Tag = f, Checked = f.EncodingIndex == indexInfo.PaletteEncoding.EncodingIndex }).ToArray()); if (tsbPalette.DropDownItems.Count > 0) { foreach (var tsb in tsbPalette.DropDownItems) { ((ToolStripMenuItem)tsb).Click += tsbPalette_Click; } } } tsbImageBorderStyle.DropDownItems.AddRange(Enum.GetNames(typeof(ImageBoxBorderStyle)).Select(s => new ToolStripMenuItem { Image = (Image)Resources.ResourceManager.GetObject(_stylesImages[s]), Text = _stylesText[s], Tag = s }).ToArray()); foreach (var tsb in tsbImageBorderStyle.DropDownItems) { ((ToolStripMenuItem)tsb).Click += tsbImageBorderStyle_Click; } UpdateForm(); UpdatePreview(); UpdateImageList(); }
public void Dispose() { _adapter = null; _files = null; }