68 lines
2.0 KiB
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
|
|
// }
|
|
}
|