aboutsummaryrefslogtreecommitdiff
path: root/Hotline/Models
diff options
context:
space:
mode:
authorDustin Mierau <dustin@mierau.me>2025-11-11 15:39:02 -0800
committerDustin Mierau <dustin@mierau.me>2025-11-11 15:39:02 -0800
commitf87ff05d17cedf21845abbb8d750759ba725a263 (patch)
tree154feff5eed1b3f7787eeb2f743ffe6602b6cd31 /Hotline/Models
parentcdaff85ac22f45e39ab1f02474beaa7aada9ad9b (diff)
Folder download logic cleanup. Display folder icon on folder download transfers with small icon for the current file. Fix progress for folder downloads.
Diffstat (limited to 'Hotline/Models')
-rw-r--r--Hotline/Models/TransferInfo.swift24
1 files changed, 18 insertions, 6 deletions
diff --git a/Hotline/Models/TransferInfo.swift b/Hotline/Models/TransferInfo.swift
index 10535bf..ebe9f64 100644
--- a/Hotline/Models/TransferInfo.swift
+++ b/Hotline/Models/TransferInfo.swift
@@ -7,23 +7,35 @@ class TransferInfo: Identifiable, Equatable, Hashable {
var referenceNumber: UInt32
var title: String
var size: UInt
- var progress: Double = 0.0
- var speed: Double? = nil
- var timeRemaining: TimeInterval? = nil
+
+ // Status
var completed: Bool = false
var failed: Bool = false
var cancelled: Bool = false
- var isFolder: Bool = false
-
var done: Bool {
self.completed || self.failed || self.cancelled
}
+
+ var progress: Double = 0.0
+ var speed: Double? = nil
+ var timeRemaining: TimeInterval? = nil
+
+ var isUpload: Bool = false
+ var isDownload: Bool {
+ get { !self.isUpload }
+ set { self.isUpload = !newValue }
+ }
+
+ // Folder transfers
+ var isFolder: Bool = false
+ var folderName: String? = nil
+ var fileName: String? = nil
// Server association - tracks which HotlineState this transfer belongs to
var serverID: UUID
var serverName: String?
- // For file based transfers (i.e. not previews)
+ // For file based transfers
var fileURL: URL? = nil
var progressCallback: ((TransferInfo) -> Void)? = nil