From f7cec0566ea043aa86d6612370e4c7201f017027 Mon Sep 17 00:00:00 2001 From: Khan Winter <35942988+thecoolwinter@users.noreply.github.com> Date: Mon, 7 Jul 2025 14:57:29 -0500 Subject: [PATCH] Fix Image Previews Have Constant Size --- .../Features/Editor/Views/ImageFileView.swift | 53 ------------------- .../Editor/Views/NonTextFileView.swift | 11 +--- 2 files changed, 2 insertions(+), 62 deletions(-) delete mode 100644 CodeEdit/Features/Editor/Views/ImageFileView.swift diff --git a/CodeEdit/Features/Editor/Views/ImageFileView.swift b/CodeEdit/Features/Editor/Views/ImageFileView.swift deleted file mode 100644 index 3f9a160df..000000000 --- a/CodeEdit/Features/Editor/Views/ImageFileView.swift +++ /dev/null @@ -1,53 +0,0 @@ -// -// ImageFileView.swift -// CodeEdit -// -// Created by Paul Ebose on 2024/5/9. -// - -import SwiftUI - -/// A view for previewing an image, while respecting its dimensions. -/// -/// It receives a URL to an image file and attempts to preview it. -/// -/// ```swift -/// ImageFileView(imageURL) -/// ``` -/// This implementation allows for proper image scaling, especially when the image dimensions are smaller than -/// the size of the image view area. -/// -/// If the preview image cannot be created, it shows a *"Cannot preview image"* text. -struct ImageFileView: View { - - /// URL of the image you want to preview. - private let imageURL: URL - - init(_ imageURL: URL) { - self.imageURL = imageURL - } - - var body: some View { - if let nsImage = NSImage(contentsOf: imageURL), - let imageReps = nsImage.representations.first { - - let pixelWidth = CGFloat(imageReps.pixelsWide) - let pixelHeight = CGFloat(imageReps.pixelsHigh) - - GeometryReader { proxy in - ZStack { - AnyFileView(imageURL) - .frame( - maxWidth: min(pixelWidth, proxy.size.width, nsImage.size.width), - maxHeight: min(pixelHeight, proxy.size.height, nsImage.size.height) - ) - - } - .frame(width: proxy.size.width, height: proxy.size.height) - } - } else { - Text("Cannot preview image") - } - } - -} diff --git a/CodeEdit/Features/Editor/Views/NonTextFileView.swift b/CodeEdit/Features/Editor/Views/NonTextFileView.swift index 36ca0cf5e..5448da87c 100644 --- a/CodeEdit/Features/Editor/Views/NonTextFileView.swift +++ b/CodeEdit/Features/Editor/Views/NonTextFileView.swift @@ -20,15 +20,8 @@ struct NonTextFileView: View { var body: some View { Group { if let fileURL = fileDocument.fileURL { - - if let utType = fileDocument.utType { - if utType.conforms(to: .image) { - ImageFileView(fileURL) - } else if utType.conforms(to: .pdf) { - PDFFileView(fileURL) - } else { - AnyFileView(fileURL) - } + if let utType = fileDocument.utType, utType.conforms(to: .pdf) { + PDFFileView(fileURL) } else { AnyFileView(fileURL) }