Refactor tag file, remove subtitle
This commit is contained in:
@@ -63,34 +63,43 @@ final class FileResource: Item {
|
||||
return imageDimensions.width / imageDimensions.height
|
||||
}
|
||||
|
||||
private func update(imageDimensions size: CGSize?) {
|
||||
guard let imageDimensions, let size else {
|
||||
// First computation
|
||||
DispatchQueue.main.async {
|
||||
self.imageDimensions = size
|
||||
}
|
||||
return
|
||||
}
|
||||
guard imageDimensions != size else {
|
||||
return
|
||||
}
|
||||
// Image must have changed, so force regeneration
|
||||
DispatchQueue.main.async {
|
||||
self.imageDimensions = size
|
||||
self.didChange()
|
||||
self.removeGeneratedImages()
|
||||
}
|
||||
}
|
||||
|
||||
var imageToDisplay: Image {
|
||||
guard let imageData = content.storage.fileData(for: id) else {
|
||||
print("Failed to load data for image \(id)")
|
||||
return failureImage
|
||||
}
|
||||
if fileSize == nil {
|
||||
DispatchQueue.main.async {
|
||||
self.fileSize = imageData.count
|
||||
}
|
||||
}
|
||||
update(fileSize: imageData.count)
|
||||
guard let loadedImage = NSImage(data: imageData) else {
|
||||
print("Failed to create image \(id)")
|
||||
return failureImage
|
||||
}
|
||||
if loadedImage.size != imageDimensions {
|
||||
DispatchQueue.main.async {
|
||||
self.imageDimensions = loadedImage.size
|
||||
}
|
||||
}
|
||||
update(imageDimensions: loadedImage.size)
|
||||
|
||||
return .init(nsImage: loadedImage)
|
||||
}
|
||||
|
||||
func determineImageDimensions() {
|
||||
let size = getImageDimensions()
|
||||
|
||||
DispatchQueue.main.async {
|
||||
self.imageDimensions = size
|
||||
}
|
||||
self.update(imageDimensions: size)
|
||||
}
|
||||
|
||||
private func getImageDimensions() -> CGSize? {
|
||||
@@ -106,16 +115,34 @@ final class FileResource: Item {
|
||||
return loadedImage.size
|
||||
}
|
||||
|
||||
func determineFileSize() {
|
||||
DispatchQueue.global(qos: .userInitiated).async {
|
||||
let size = self.content.storage.size(of: self.id)
|
||||
func update(fileSize size: Int?) {
|
||||
guard let fileSize, let size else {
|
||||
// First computation
|
||||
DispatchQueue.main.async {
|
||||
self.fileSize = size
|
||||
}
|
||||
return
|
||||
}
|
||||
guard fileSize != size else {
|
||||
return
|
||||
}
|
||||
// File must have changed
|
||||
DispatchQueue.main.async {
|
||||
self.fileSize = size
|
||||
self.didChange()
|
||||
self.removeGeneratedImages()
|
||||
}
|
||||
}
|
||||
|
||||
func determineFileSize() {
|
||||
DispatchQueue.global(qos: .userInitiated).async {
|
||||
let size = self.content.storage.size(of: self.id)
|
||||
self.update(fileSize: size)
|
||||
}
|
||||
}
|
||||
|
||||
func removeGeneratedImages() {
|
||||
guard type.isImage else { return }
|
||||
content.imageGenerator.removeVersions(of: id)
|
||||
content.storage.deleteInOutputFolder(path: outputImageFolder)
|
||||
}
|
||||
|
Reference in New Issue
Block a user