diff --git a/Xcodes.xcodeproj/project.pbxproj b/Xcodes.xcodeproj/project.pbxproj index b57cfd7..d251ead 100644 --- a/Xcodes.xcodeproj/project.pbxproj +++ b/Xcodes.xcodeproj/project.pbxproj @@ -1083,6 +1083,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 13.0; MARKETING_VERSION = 1.10.0; PRODUCT_BUNDLE_IDENTIFIER = com.xcodesorg.xcodesapp; PRODUCT_NAME = Xcodes; @@ -1326,6 +1327,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 13.0; MARKETING_VERSION = 1.10.0; PRODUCT_BUNDLE_IDENTIFIER = com.xcodesorg.xcodesapp; PRODUCT_NAME = Xcodes; @@ -1350,6 +1352,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 13.0; MARKETING_VERSION = 1.10.0; PRODUCT_BUNDLE_IDENTIFIER = com.xcodesorg.xcodesapp; PRODUCT_NAME = Xcodes; diff --git a/Xcodes/Frontend/MainWindow.swift b/Xcodes/Frontend/MainWindow.swift index cee42ac..6bbe1ee 100644 --- a/Xcodes/Frontend/MainWindow.swift +++ b/Xcodes/Frontend/MainWindow.swift @@ -69,32 +69,6 @@ struct MainWindow: View { } } } - -// HSplitView { -// XcodeListView(selectedXcodeID: $selectedXcodeID, searchText: searchText, category: category, isInstalledOnly: isInstalledOnly) -// .frame(minWidth: 300) -// .layoutPriority(1) -// .alert(item: $appState.xcodeBeingConfirmedForUninstallation) { xcode in -// Alert(title: Text(String(format: localizeString("Alert.Uninstall.Title"), xcode.description)), -// message: Text("Alert.Uninstall.Message"), -// primaryButton: .destructive(Text("Uninstall"), action: { self.appState.uninstall(xcode: xcode) }), -// secondaryButton: .cancel(Text("Cancel"))) -// } -// .searchable(text: $searchText) -// -// if isShowingInfoPane { -// Group { -// if let xcode = xcode { -// InfoPane(xcode: xcode) -// } else { -// UnselectedView() -// } -// } -// .padding() -// .frame(minWidth: 300, maxWidth: .infinity) -// } -// } - .bottomStatusBar() .padding([.top], 0) .navigationSubtitle(subtitleText) diff --git a/Xcodes/Frontend/Preferences/PreferencesView.swift b/Xcodes/Frontend/Preferences/PreferencesView.swift index 5aa5d7d..83ab775 100644 --- a/Xcodes/Frontend/Preferences/PreferencesView.swift +++ b/Xcodes/Frontend/Preferences/PreferencesView.swift @@ -2,7 +2,7 @@ import SwiftUI struct PreferencesView: View { private enum Tabs: Hashable { - case general, updates, platforms, advanced, experiment + case general, updates, advanced, experiment } @EnvironmentObject var appState: AppState @EnvironmentObject var updater: ObservableUpdater @@ -26,12 +26,6 @@ struct PreferencesView: View { .tabItem { Label("Downloads", systemImage: "icloud.and.arrow.down") } - PlatformsListView() - .environmentObject(appState) - .tabItem { - Label("Platforms", systemImage: "ipad.and.iphone") - } - .tag(Tabs.platforms) AdvancedPreferencePane() .environmentObject(appState) .tabItem { diff --git a/Xcodes/Frontend/XcodeList/XcodeListView.swift b/Xcodes/Frontend/XcodeList/XcodeListView.swift index fdbdfc8..10749a1 100644 --- a/Xcodes/Frontend/XcodeList/XcodeListView.swift +++ b/Xcodes/Frontend/XcodeList/XcodeListView.swift @@ -43,6 +43,32 @@ struct XcodeListView: View { XcodeListViewRow(xcode: xcode, selected: selectedXcodeID == xcode.id, appState: appState) } .listStyle(.sidebar) + .safeAreaInset(edge: .bottom, spacing: 10) { + PlatformsPocket() + .padding() + } + } +} + +struct PlatformsPocket: View { + @SwiftUI.Environment(\.openWindow) private var openWindow + + var body: some View { + Button(action: { + openWindow(id: "platforms") } + ) { + VStack(spacing: 5) { + Image(systemName: "square.3.layers.3d") + .font(.largeTitle) + Text("Platforms") + .font(.callout) + } + .frame(width: 100, height: 75) + .background(.quaternary) + .clipShape(RoundedRectangle(cornerRadius: 5, style: .continuous)) + + } + .buttonStyle(.plain) } } diff --git a/Xcodes/XcodesApp.swift b/Xcodes/XcodesApp.swift index c6eeceb..37d51c5 100644 --- a/Xcodes/XcodesApp.swift +++ b/Xcodes/XcodesApp.swift @@ -77,6 +77,11 @@ struct XcodesApp: App { alert(for: presentedAlert) }) } + + Window("Platforms", id: "platforms") { + PlatformsListView() + .environmentObject(appState) + } #endif }