AutoCat2/AutoCat2SUI/AutoCat2SUIApp.swift

68 lines
2.0 KiB
Swift

//
// AutoCat2SUIApp.swift
// AutoCat2SUI
//
// Created by Selim Mustafaev on 24.07.2022.
//
import SwiftUI
import AppKit
import AutoCatCore
@main
struct AutoCat2SUIApp: App {
@NSApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
let storageService = StorageService.sharedNotWait
var body: some Scene {
WindowGroup {
if Testing.isUITesting {
RootView(settings: getTestSettings())
.environment(\.managedObjectContext, storageService.context)
} else {
RootView(settings: getSettings())
.environment(\.managedObjectContext, storageService.context)
}
}
}
func getTestSettings() -> TestSettings {
guard let settings = MainSettings.shared as? TestSettings else {
fatalError("Error getting settings")
}
return settings
}
func getSettings() -> MainSettings {
guard let settings = MainSettings.shared as? MainSettings else {
fatalError("Error getting settings")
}
return settings
}
}
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
true
}
func applicationDidFinishLaunching(_ notification: Notification) {
NSApp.keyWindow?.toolbar?.insertItem(withItemIdentifier: .sidebarTrackingSeparator, at: 2)
//NSApplication.shared.keyWindow
}
// func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
// let configuration = UISceneConfiguration(name: nil, sessionRole: connectingSceneSession.role)
// if connectingSceneSession.role == .windowApplication {
// configuration.delegateClass = SceneDelegate.self
// }
// return configuration
// }
}