Fix the presentation of QuickLook when viewing logs on macOS. (#3556)

This commit is contained in:
Doug
2024-11-26 14:23:20 +00:00
committed by GitHub
parent fe984a1301
commit 3f0f442937
2 changed files with 14 additions and 7 deletions
@@ -6,6 +6,7 @@
// //
import Combine import Combine
import Foundation
struct BugReportFlowCoordinatorParameters { struct BugReportFlowCoordinatorParameters {
enum PresentationMode { enum PresentationMode {
@@ -93,13 +94,23 @@ class BugReportFlowCoordinator: FlowCoordinatorProtocol {
switch action { switch action {
case .done: case .done:
if ProcessInfo.processInfo.isiOSAppOnMac {
internalNavigationStackCoordinator?.setSheetCoordinator(nil)
} else {
internalNavigationStackCoordinator?.pop() internalNavigationStackCoordinator?.pop()
} }
} }
}
.store(in: &cancellables) .store(in: &cancellables)
if ProcessInfo.processInfo.isiOSAppOnMac {
// On macOS the QuickLook is a separate window, closing a pushed QuickLook
// controller closes the whole Settings sheet so lets add another one.
internalNavigationStackCoordinator?.setSheetCoordinator(coordinator)
} else {
internalNavigationStackCoordinator?.push(coordinator) internalNavigationStackCoordinator?.push(coordinator)
} }
}
private func dismiss() { private func dismiss() {
switch parameters.presentationMode { switch parameters.presentationMode {
@@ -25,12 +25,8 @@ private struct PreviewView: UIViewControllerRepresentable {
previewController.dataSource = context.coordinator previewController.dataSource = context.coordinator
previewController.delegate = context.coordinator previewController.delegate = context.coordinator
if ProcessInfo.processInfo.isiOSAppOnMac {
return previewController
} else {
return UINavigationController(rootViewController: previewController) return UINavigationController(rootViewController: previewController)
} }
}
func updateUIViewController(_ uiViewController: UIViewController, context: Context) { } func updateUIViewController(_ uiViewController: UIViewController, context: Context) { }