Skip to content

Commit 677b27b

Browse files
David Bureš - Virtualburesdv
authored andcommitted
+ Displayable installed packages
1 parent eb66e81 commit 677b27b

2 files changed

Lines changed: 35 additions & 13 deletions

File tree

Cork/Models/Trackers/Brew Packages Tracker.swift

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import Foundation
99
import SwiftUI
10+
import Defaults
1011

1112
@Observable @MainActor
1213
class BrewPackagesTracker
@@ -31,6 +32,21 @@ class BrewPackagesTracker
3132
})
3233
}
3334

35+
/// Formulae than can be displayed, depending on whether the user set only to display intentionally installed packages
36+
var displayableSuccessfullyLoadedFormulae: Set<BrewPackage>
37+
{
38+
let displayOnlyIntentionallyInstalledPackagesByDefault: Bool = Defaults[.displayOnlyIntentionallyInstalledPackagesByDefault]
39+
40+
if displayOnlyIntentionallyInstalledPackagesByDefault
41+
{
42+
return self.successfullyLoadedFormulae.filter(\.installedIntentionally)
43+
}
44+
else
45+
{
46+
return self.successfullyLoadedFormulae
47+
}
48+
}
49+
3450
/// Collected errors from failed Formulae loading
3551
var unsuccessfullyLoadedFormulaeErrors: [PackageLoadingError]
3652
{
@@ -62,6 +78,20 @@ class BrewPackagesTracker
6278
})
6379
}
6480

81+
var displayableSuccessfullyLoadedCasks: Set<BrewPackage>
82+
{
83+
let displayOnlyIntentionallyInstalledPackagesByDefault: Bool = Defaults[.displayOnlyIntentionallyInstalledPackagesByDefault]
84+
85+
if displayOnlyIntentionallyInstalledPackagesByDefault
86+
{
87+
return self.successfullyLoadedCasks.filter(\.installedIntentionally)
88+
}
89+
else
90+
{
91+
return self.successfullyLoadedCasks
92+
}
93+
}
94+
6595
/// Collected errors from failed Casks loading
6696
var unsuccessfullyLoadedCasksErrors: [PackageLoadingError]
6797
{
@@ -93,23 +123,15 @@ class BrewPackagesTracker
93123

94124
extension BrewPackagesTracker
95125
{
126+
96127
var numberOfInstalledFormulae: Int
97128
{
98-
let displayOnlyIntentionallyInstalledPackagesByDefault: Bool = UserDefaults.standard.bool(forKey: "displayOnlyIntentionallyInstalledPackagesByDefault")
99-
100-
if displayOnlyIntentionallyInstalledPackagesByDefault
101-
{
102-
return self.successfullyLoadedFormulae.filter(\.installedIntentionally).count
103-
}
104-
else
105-
{
106-
return self.successfullyLoadedFormulae.count
107-
}
129+
return self.displayableSuccessfullyLoadedFormulae.count
108130
}
109131

110132
var numberOfInstalledCasks: Int
111133
{
112-
return self.successfullyLoadedCasks.count
134+
return self.displayableSuccessfullyLoadedCasks.count
113135
}
114136

115137
var numberOfInstalledPackages: Int

Cork/Views/Start Page/Sub-Views/Package And Tap Overview Box.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ struct PackageAndTapOverviewBox: View
2222
{
2323
GroupBoxHeadlineGroup(
2424
image: "terminal",
25-
title: LocalizedStringKey("start-page.installed-formulae.count-\(displayOnlyIntentionallyInstalledPackagesByDefault ? brewPackagesTracker.successfullyLoadedFormulae.filter(\.installedIntentionally).count : brewPackagesTracker.installedFormulae.count)"),
25+
title: LocalizedStringKey("start-page.installed-formulae.count-\(brewPackagesTracker.numberOfInstalledFormulae)"),
2626
mainText: "start-page.installed-formulae.description",
2727
animateNumberChanges: true
2828
)
@@ -38,7 +38,7 @@ struct PackageAndTapOverviewBox: View
3838

3939
GroupBoxHeadlineGroup(
4040
image: "macwindow",
41-
title: LocalizedStringKey("start-page.installed-casks.count-\(brewPackagesTracker.installedCasks.count)"),
41+
title: LocalizedStringKey("start-page.installed-casks.count-\(brewPackagesTracker.numberOfInstalledCasks)"),
4242
mainText: "start-page.installed-casks.description",
4343
animateNumberChanges: true
4444
)

0 commit comments

Comments
 (0)