diff options
| -rw-r--r-- | Hotline/Models/FileInfo.swift | 4 | ||||
| -rw-r--r-- | Hotline/Models/Hotline.swift | 1 | ||||
| -rw-r--r-- | Hotline/macOS/FilesView.swift | 24 |
3 files changed, 19 insertions, 10 deletions
diff --git a/Hotline/Models/FileInfo.swift b/Hotline/Models/FileInfo.swift index 5976b8f..9caa976 100644 --- a/Hotline/Models/FileInfo.swift +++ b/Hotline/Models/FileInfo.swift @@ -11,6 +11,7 @@ import SwiftUI let fileSize: UInt let isFolder: Bool + let isUnavailable: Bool var expanded: Bool = false var children: [FileInfo]? = nil @@ -22,6 +23,9 @@ import SwiftUI self.creator = hotlineFile.creator self.fileSize = UInt(hotlineFile.fileSize) self.isFolder = hotlineFile.isFolder + self.isUnavailable = (!self.isFolder && (self.fileSize == 0)) + + print(self.name, self.type, self.creator, self.isUnavailable) if self.isFolder { self.children = [] } diff --git a/Hotline/Models/Hotline.swift b/Hotline/Models/Hotline.swift index fa0128c..0e9ca9e 100644 --- a/Hotline/Models/Hotline.swift +++ b/Hotline/Models/Hotline.swift @@ -151,7 +151,6 @@ import SwiftUI } else if path.isEmpty { self?.filesLoaded = true - self?.files = newFiles } diff --git a/Hotline/macOS/FilesView.swift b/Hotline/macOS/FilesView.swift index 19dde94..ee5a310 100644 --- a/Hotline/macOS/FilesView.swift +++ b/Hotline/macOS/FilesView.swift @@ -34,7 +34,10 @@ struct FileView: View { .padding(.leading, 4) } HStack(alignment: .center) { - if file.isFolder { + if file.isUnavailable { + Image(systemName: "questionmark.app.fill").opacity(0.5) + } + else if file.isFolder { Image(systemName: "folder.fill") } else { @@ -46,18 +49,21 @@ struct FileView: View { } } .frame(width: 15) - Text(file.name).lineLimit(1).truncationMode(.tail) + Text(file.name).lineLimit(1).truncationMode(.tail).opacity(file.isUnavailable ? 0.5 : 1.0) + if file.isFolder && loading { ProgressView().controlSize(.small).padding([.leading, .trailing], 1) } Spacer() - if file.isFolder { - Text("^[\(file.fileSize) file](inflect: true)") - .foregroundStyle(.secondary) - .lineLimit(1) - } - else { - Text(formattedFileSize(file.fileSize)).foregroundStyle(.secondary).lineLimit(1) + if !file.isUnavailable { + if file.isFolder { + Text("^[\(file.fileSize) file](inflect: true)") + .foregroundStyle(.secondary) + .lineLimit(1) + } + else { + Text(formattedFileSize(file.fileSize)).foregroundStyle(.secondary).lineLimit(1) + } } } .frame(maxWidth: .infinity, maxHeight: .infinity) |