diff options
| author | Dustin Mierau <dustin@mierau.me> | 2024-07-26 15:22:29 -0700 |
|---|---|---|
| committer | Dustin Mierau <dustin@mierau.me> | 2024-07-26 15:22:29 -0700 |
| commit | d1cc8ee22acb8b8f378959ee3e618673b63f37d9 (patch) | |
| tree | a00bdb3cde355d0429527e953379c436c3a2e2ce /Hotline/Models | |
| parent | f9e5f8a3a66df6e59726ca1659043fb54ed894e4 (diff) | |
Further work on uploads. Also properly reading and writing file HFS type/creator codes and finder comments.
Diffstat (limited to 'Hotline/Models')
| -rw-r--r-- | Hotline/Models/FilePreview.swift | 3 | ||||
| -rw-r--r-- | Hotline/Models/Hotline.swift | 67 |
2 files changed, 6 insertions, 64 deletions
diff --git a/Hotline/Models/FilePreview.swift b/Hotline/Models/FilePreview.swift index 3960a0d..e5f49a3 100644 --- a/Hotline/Models/FilePreview.swift +++ b/Hotline/Models/FilePreview.swift @@ -80,6 +80,9 @@ final class FilePreview: HotlineFilePreviewClientDelegate { case .failed(_): state = .failed progress = 0.0 + case .completing: + state = .loading + progress = 1.0 case .completed: state = .loaded progress = 1.0 diff --git a/Hotline/Models/Hotline.swift b/Hotline/Models/Hotline.swift index 69a11d3..e69116e 100644 --- a/Hotline/Models/Hotline.swift +++ b/Hotline/Models/Hotline.swift @@ -934,12 +934,13 @@ class Hotline: Equatable, HotlineClientDelegate, HotlineFileDownloadClientDelega b.delegate = nil self.bannerClient = nil } + case .completing: + break case .completed: if let transfer = self.transfers.first(where: { $0.id == reference }) { transfer.completed = true transfer.timeRemaining = 0.0 } - break } } @@ -949,48 +950,6 @@ class Hotline: Equatable, HotlineClientDelegate, HotlineFileDownloadClientDelega } } -// func hotlineFileReceivedInfo(client: HotlineFileClient, reference: UInt32, info: HotlineFileInfoFork) { -// if let transfer = self.transfers.first(where: { $0.id == reference }) { -// transfer.title = info.name -// } -// } - -// func hotlineTransferStatusChanged(client: HotlineTransferClient, status: HotlineTransferStatus, timeRemaining: TimeInterval) { -// switch status { -// case .unconnected: -// break -// case .connecting: -// break -// case .connected: -// break -// case .progress(let progress): -// if let transfer = self.transfers.first(where: { $0.id == client.referenceNumber }) { -// transfer.progress = progress -// transfer.timeRemaining = timeRemaining -// transfer.progressCallback?(transfer, progress) -// } -// case .failed(_): -// if let i = self.downloads.firstIndex(where: { $0.referenceNumber == client.referenceNumber }) { -// self.downloads.remove(at: i) -// } -// if let transfer = self.transfers.first(where: { $0.id == client.referenceNumber }) { -// transfer.failed = true -// transfer.timeRemaining = 0.0 -// } -// if let b = self.bannerClient, reference == b.referenceNumber { -// b.delegate = nil -// self.bannerClient = nil -// } -// case .completed: -// if let transfer = self.transfers.first(where: { $0.id == client.referenceNumber }) { -// transfer.completed = true -// transfer.timeRemaining = 0.0 -// } -// break -// } -// } - - func hotlineFilePreviewComplete(client: HotlineFilePreviewClient, reference: UInt32, data: Data) { if let b = self.bannerClient, b.referenceNumber == reference { #if os(macOS) @@ -1010,27 +969,7 @@ class Hotline: Equatable, HotlineClientDelegate, HotlineFileDownloadClientDelega self.downloads.remove(at: i) } } - -// func hotlineFileDownloadedData(client: HotlineFileClient, reference: UInt32, data: Data) { -// if let b = self.bannerClient, b.referenceNumber == reference { -// #if os(macOS) -// self.bannerImage = NSImage(data: data) -// #elseif os(iOS) -// self.bannerImage = UIImage(data: data) -// #endif -// } -// else -// if let i = self.transfers.firstIndex(where: { $0.id == reference }) { -// let transfer = self.transfers[i] -// transfer.previewCallback?(transfer, data) -// self.transfers.remove(at: i) -// } -// -// if let i = self.downloads.firstIndex(where: { $0.referenceNumber == reference }) { -// self.downloads.remove(at: i) -// } -// } - + func hotlineFileDownloadComplete(client: HotlineFileDownloadClient, reference: UInt32, at: URL) { if let i = self.transfers.firstIndex(where: { $0.id == reference }) { let transfer = self.transfers[i] |