From e9bae0328801d5a056f33beb0f764c6d35e518a2 Mon Sep 17 00:00:00 2001 From: Dustin Mierau Date: Mon, 8 Jan 2024 14:45:58 -0800 Subject: Move to a standard SwiftUI window for preview windows so I can add toolbar items from SwiftUI. Not ideal. Added support for previewing text files too. --- Hotline/Models/PreviewFileInfo.swift | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'Hotline/Models/PreviewFileInfo.swift') diff --git a/Hotline/Models/PreviewFileInfo.swift b/Hotline/Models/PreviewFileInfo.swift index 9a4c980..7dd692f 100644 --- a/Hotline/Models/PreviewFileInfo.swift +++ b/Hotline/Models/PreviewFileInfo.swift @@ -1,3 +1,10 @@ +import UniformTypeIdentifiers + +enum PreviewFileType: Equatable { + case unknown + case image + case text +} struct PreviewFileInfo: Identifiable, Codable { var id: UInt32 @@ -5,6 +12,19 @@ struct PreviewFileInfo: Identifiable, Codable { var port: Int var size: Int var name: String + + var previewType: FilePreviewType { + let fileExtension = (self.name as NSString).pathExtension + if let fileType = UTType(filenameExtension: fileExtension) { + if fileType.isSubtype(of: .image) { + return .image + } + else if fileType.isSubtype(of: .text) { + return .text + } + } + return .unknown + } } extension PreviewFileInfo: Equatable { -- cgit