aboutsummaryrefslogtreecommitdiff
path: root/Hotline/Models
diff options
context:
space:
mode:
authorDustin Mierau <dustin@mierau.me>2024-07-26 15:22:29 -0700
committerDustin Mierau <dustin@mierau.me>2024-07-26 15:22:29 -0700
commitd1cc8ee22acb8b8f378959ee3e618673b63f37d9 (patch)
treea00bdb3cde355d0429527e953379c436c3a2e2ce /Hotline/Models
parentf9e5f8a3a66df6e59726ca1659043fb54ed894e4 (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.swift3
-rw-r--r--Hotline/Models/Hotline.swift67
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]