+ Marking of already installed packages

This commit is contained in:
buresdv 2023-02-05 17:50:52 +01:00
parent 26af63a418
commit 20c02f7f80
5 changed files with 50 additions and 3 deletions

View File

@ -34,6 +34,7 @@
639A7D862871D78C00B50280 /* Package Details.swift in Sources */ = {isa = PBXBuildFile; fileRef = 639A7D852871D78C00B50280 /* Package Details.swift */; };
63A87465298FE7FC009F9533 /* Search for Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63A87464298FE7FC009F9533 /* Search for Package.swift */; };
63A87468298FE811009F9533 /* Package Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63A87467298FE811009F9533 /* Package Types.swift */; };
63A8746A2990127D009F9533 /* PillText.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63A874692990127D009F9533 /* PillText.swift */; };
63CD0276288B22D9004AE2EC /* View - New Windows.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63CD0275288B22D9004AE2EC /* View - New Windows.swift */; };
63CD0279288B2316004AE2EC /* Package Detail Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63CD0278288B2316004AE2EC /* Package Detail Window.swift */; };
63D8C955287A15C300483A52 /* Load up Installed Packages.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63D8C954287A15C300483A52 /* Load up Installed Packages.swift */; };
@ -69,6 +70,7 @@
639A7D852871D78C00B50280 /* Package Details.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Package Details.swift"; sourceTree = "<group>"; };
63A87464298FE7FC009F9533 /* Search for Package.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Search for Package.swift"; sourceTree = "<group>"; };
63A87467298FE811009F9533 /* Package Types.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Package Types.swift"; sourceTree = "<group>"; };
63A874692990127D009F9533 /* PillText.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PillText.swift; sourceTree = "<group>"; };
63CD0275288B22D9004AE2EC /* View - New Windows.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View - New Windows.swift"; sourceTree = "<group>"; };
63CD0278288B2316004AE2EC /* Package Detail Window.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Package Detail Window.swift"; sourceTree = "<group>"; };
63D8C954287A15C300483A52 /* Load up Installed Packages.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Load up Installed Packages.swift"; sourceTree = "<group>"; };
@ -225,6 +227,7 @@
637E006C28734189005C9890 /* Installation */,
6371EA1C2871D96800300E1B /* Packages */,
63D8C956287A1D0800483A52 /* Loading View.swift */,
63A874692990127D009F9533 /* PillText.swift */,
);
path = Views;
sourceTree = "<group>";
@ -348,6 +351,7 @@
63D8C957287A1D0800483A52 /* Loading View.swift in Sources */,
6340657F2871AF68001A2178 /* App Constants.swift in Sources */,
634065672871AA42001A2178 /* ContentView.swift in Sources */,
63A8746A2990127D009F9533 /* PillText.swift in Sources */,
63A87468298FE811009F9533 /* Package Types.swift in Sources */,
6340657D2871AC65001A2178 /* Brew Package.swift in Sources */,
637E00642872F3CE005C9890 /* Upgrade Packages.swift in Sources */,

View File

@ -8,7 +8,7 @@
import Foundation
@MainActor
func installSelectedPackages(packageArray: [String], tracker: InstallationProgressTracker, brewData _: BrewDataStorage)
func installSelectedPackages(packageArray: [String], tracker: InstallationProgressTracker, brewData: BrewDataStorage)
{
let progressSteps = Float(1) / Float(packageArray.count)
@ -32,6 +32,7 @@ func installSelectedPackages(packageArray: [String], tracker: InstallationProgre
tracker.isShowingInstallationFailureAlert = true
}
print("Installing \(tracker.packageBeingCurrentlyInstalled) at \(tracker.progressNumber)")
}
}
}

View File

@ -30,5 +30,9 @@ func searchForPackage(packageName: String, packageType: PackageType) async throw
finalPackageArray = try foundCasks.get().components(separatedBy: "\n")
}
finalPackageArray.removeLast()
print("Search found these: \(finalPackageArray)")
return finalPackageArray
}

View File

@ -64,7 +64,14 @@ struct AddFormulaView: View
{
ForEach(searchResultTracker.foundFormulae)
{ formula in
Text(formula.packageName)
HStack
{
Text(formula.packageName)
if brewData.installedFormulae.contains(where: { $0.name == formula.packageName })
{
PillText(text: "Already Installed")
}
}
}
}
}
@ -75,7 +82,16 @@ struct AddFormulaView: View
{
ForEach(searchResultTracker.foundCasks)
{ cask in
Text(cask.packageName)
HStack
{
Text(cask.packageName)
if brewData.installedCasks.contains(where: { $0.name == cask.packageName })
{
PillText(text: "Already Installed")
}
}
}
}
}

22
Cork/Views/PillText.swift Normal file
View File

@ -0,0 +1,22 @@
//
// PillText.swift
// Cork
//
// Created by David Bureš on 05.02.2023.
//
import SwiftUI
struct PillText: View
{
@State var text: String
var body: some View
{
Text(text)
.font(.caption2)
.padding(.horizontal, 4)
.background(Color(NSColor.tertiaryLabelColor))
.foregroundColor(.white)
.clipShape(Capsule())
}
}