mirror of
https://github.com/XcodesOrg/XcodesApp.git
synced 2026-02-02 11:33:02 +01:00
46 lines
1.2 KiB
Swift
46 lines
1.2 KiB
Swift
import Foundation
|
|
|
|
/// A numbered step
|
|
enum InstallationStep: Equatable, CustomStringConvertible {
|
|
case downloading(progress: Progress)
|
|
case unarchiving
|
|
case moving(destination: String)
|
|
case trashingArchive
|
|
case checkingSecurity
|
|
case finishing
|
|
|
|
var description: String {
|
|
"(\(stepNumber)/\(stepCount)) \(message)"
|
|
}
|
|
|
|
var message: String {
|
|
switch self {
|
|
case .downloading:
|
|
return "Downloading"
|
|
case .unarchiving:
|
|
return "Unarchiving (This can take a while)"
|
|
case .moving(let destination):
|
|
return "Moving to \(destination)"
|
|
case .trashingArchive:
|
|
return "Moving archive to the Trash"
|
|
case .checkingSecurity:
|
|
return "Security verification"
|
|
case .finishing:
|
|
return "Finishing"
|
|
}
|
|
}
|
|
|
|
var stepNumber: Int {
|
|
switch self {
|
|
case .downloading: return 1
|
|
case .unarchiving: return 2
|
|
case .moving: return 3
|
|
case .trashingArchive: return 4
|
|
case .checkingSecurity: return 5
|
|
case .finishing: return 6
|
|
}
|
|
}
|
|
|
|
var stepCount: Int { 6 }
|
|
}
|