diff --git a/CHDataManagement/Model/FileType.swift b/CHDataManagement/Model/FileType.swift index adab248..045db3d 100644 --- a/CHDataManagement/Model/FileType.swift +++ b/CHDataManagement/Model/FileType.swift @@ -235,3 +235,10 @@ enum FileType: String { } } } + +extension FileType: CustomStringConvertible { + + var description: String { + rawValue + } +} diff --git a/CHDataManagement/Views/Files/AddFileView.swift b/CHDataManagement/Views/Files/AddFileView.swift index 9446b4d..b93ffb8 100644 --- a/CHDataManagement/Views/Files/AddFileView.swift +++ b/CHDataManagement/Views/Files/AddFileView.swift @@ -108,6 +108,9 @@ struct AddFileView: View { content.add(resource) selectedFile = resource } + // We need to ensure that the metadata file is written to disk directly + content.saveUnconditionally() + content.generateMissingVideoThumbnails() dismiss() } diff --git a/CHDataManagement/Views/Files/FileDetailView.swift b/CHDataManagement/Views/Files/FileDetailView.swift index 432f60a..f97a851 100644 --- a/CHDataManagement/Views/Files/FileDetailView.swift +++ b/CHDataManagement/Views/Files/FileDetailView.swift @@ -181,6 +181,7 @@ struct FileDetailView: View { markFileAsChanged() if file.isExternallyStored { DispatchQueue.main.async { + // This will also trigger a save file.isExternallyStored = false } } @@ -215,6 +216,7 @@ struct FileDetailView: View { return } DispatchQueue.main.async { + // This will also trigger a save file.fileSize = nil file.isExternallyStored = true } @@ -225,6 +227,7 @@ struct FileDetailView: View { print("File '\(file.identifier)': Failed to delete file in content folder") return } + // This will also trigger a save content.remove(file) selection.remove(file) }