From 70872f441a768c5b7bc5abffa05a9fafe08d491f Mon Sep 17 00:00:00 2001 From: Brandon Evans Date: Thu, 4 Feb 2021 21:03:47 -0700 Subject: [PATCH] Make XcodeListViewRow.appState a normal property It doesn't need to be a DynamicProperty because it only invokes its methods. --- Xcodes/Frontend/XcodeList/XcodeListView.swift | 2 +- .../Frontend/XcodeList/XcodeListViewRow.swift | 24 +++++++++++++------ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Xcodes/Frontend/XcodeList/XcodeListView.swift b/Xcodes/Frontend/XcodeList/XcodeListView.swift index f88d71c..b790988 100644 --- a/Xcodes/Frontend/XcodeList/XcodeListView.swift +++ b/Xcodes/Frontend/XcodeList/XcodeListView.swift @@ -32,7 +32,7 @@ struct XcodeListView: View { var body: some View { List(visibleXcodes, selection: $selectedXcodeID) { xcode in - XcodeListViewRow(xcode: xcode, selected: selectedXcodeID == xcode.id) + XcodeListViewRow(xcode: xcode, selected: selectedXcodeID == xcode.id, appState: appState) } } } diff --git a/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift b/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift index 1d7f099..68c4c3d 100644 --- a/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift +++ b/Xcodes/Frontend/XcodeList/XcodeListViewRow.swift @@ -3,9 +3,9 @@ import SwiftUI import Version struct XcodeListViewRow: View { - @EnvironmentObject var appState: AppState let xcode: Xcode let selected: Bool + let appState: AppState var body: some View { HStack { @@ -112,29 +112,39 @@ struct XcodeListViewRow_Previews: PreviewProvider { Group { XcodeListViewRow( xcode: Xcode(version: Version("12.3.0")!, installState: .installed(Path("/Applications/Xcode-12.3.0.app")!), selected: true, icon: nil), - selected: false + selected: false, + appState: AppState() ) XcodeListViewRow( xcode: Xcode(version: Version("12.2.0")!, installState: .notInstalled, selected: false, icon: nil), - selected: false + selected: false, + appState: AppState() ) XcodeListViewRow( xcode: Xcode(version: Version("12.1.0")!, installState: .installing(.downloading(progress: configure(Progress(totalUnitCount: 100)) { $0.completedUnitCount = 40 })), selected: false, icon: nil), - selected: false + selected: false, + appState: AppState() ) XcodeListViewRow( xcode: Xcode(version: Version("12.0.0")!, installState: .installed(Path("/Applications/Xcode-12.3.0.app")!), selected: false, icon: nil), - selected: false + selected: false, + appState: AppState() ) XcodeListViewRow( xcode: Xcode(version: Version("12.0.0+1234A")!, installState: .installed(Path("/Applications/Xcode-12.3.0.app")!), selected: false, icon: nil), - selected: false + selected: false, + appState: AppState() + ) + + XcodeListViewRow( + xcode: Xcode(version: Version("12.0.0+1234A")!, identicalBuilds: [Version("12.0.0-RC+1234A")!], installState: .installed(Path("/Applications/Xcode-12.3.0.app")!), selected: false, icon: nil), + selected: false, + appState: AppState() ) } - .environmentObject(AppState()) } }