Fix broken DockProgress Bar

Update DockProgress and adopt the new Concurrency Model
This commit is contained in:
Kyle 2024-03-31 01:44:34 +08:00
parent 21c26c9793
commit 348c89871e
No known key found for this signature in database
GPG key ID: 7056354A082F5CC2
3 changed files with 17 additions and 12 deletions

View file

@ -1529,7 +1529,7 @@
repositoryURL = "https://github.com/sindresorhus/DockProgress";
requirement = {
kind = upToNextMinorVersion;
minimumVersion = 3.2.0;
minimumVersion = 4.3.1;
};
};
E84E4F552B335094003F3959 /* XCRemoteSwiftPackageReference "swift-collections" */ = {

View file

@ -33,8 +33,8 @@
"repositoryURL": "https://github.com/sindresorhus/DockProgress",
"state": {
"branch": null,
"revision": "7100b68571e2dafe3a06ad5905b80fc3b0107b4b",
"version": "3.2.0"
"revision": "d4f23b5a8f5ca0fac393eb7ba78c2fe3e32e52da",
"version": "4.3.1"
}
},
{

View file

@ -473,19 +473,24 @@ extension AppState {
// MARK: - Dock Progress Tracking
private func setupDockProgress() {
DockProgress.progressInstance = nil
DockProgress.style = .bar
Task { @MainActor in
DockProgress.progressInstance = nil
DockProgress.style = .bar
let progress = Progress(totalUnitCount: AppState.totalProgressUnits)
progress.kind = .file
progress.fileOperationKind = .downloading
overallProgress = progress
DockProgress.progressInstance = overallProgress
}
let progress = Progress(totalUnitCount: AppState.totalProgressUnits)
progress.kind = .file
progress.fileOperationKind = .downloading
overallProgress = progress
DockProgress.progressInstance = overallProgress
}
func resetDockProgressTracking() {
DockProgress.progress = 1 // Only way to completely remove overlay with DockProgress is setting progress to complete
Task { @MainActor in
DockProgress.progress = 1 // Only way to completely remove overlay with DockProgress is setting progress to complete
}
}
// MARK: -