public void DeleteImages(List <EpubItem> items) { foreach (var item in items) { HashSet <EpubItem> usedChapters = null; if (ImagesUsedIndex.TryGetValue(item.AbsolutePath, out usedChapters)) { foreach (var chapter in usedChapters) { chapter.RemoveImageLink(item.AbsolutePath); } } ImagesUsedIndex.Remove(item.AbsolutePath); Opf.DeleteImage(item); } }
public void RebuildImageUseIndexes() { UnusedImages.Clear(); ImagesUsedIndex.Clear(); foreach (var item in Opf.GetPageItems()) { item.AddImagesTo(ImagesUsedIndex); } MissingImages = new HashSet <string>(ImagesUsedIndex.Keys); foreach (var item in Opf.GetImageItems()) { if (ImagesUsedIndex.ContainsKey(item.AbsolutePath)) { MissingImages.Remove(item.AbsolutePath); } else { UnusedImages.Add(item); } } }