123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- //
- // KMLoginWindowsController.swift
- // PDF Reader Pro
- //
- // Created by wanjun on 2024/10/22.
- //
- import Cocoa
- typealias LoginResultComplete = (_ success: Bool) -> Void
- @objcMembers
- class KMLoginWindowsController: NSWindowController {
-
- @IBOutlet weak var leftBox: NSBox!
- @IBOutlet weak var leftImageView: NSImageView!
-
- @IBOutlet weak var rightBox: NSBox!
-
- var memberInfo: KMMemberInfo = KMMemberInfo.shared
-
- var loginResult: LoginResultComplete!
-
- static let shared: KMLoginWindowsController = {
- let windowC = KMLoginWindowsController(windowNibName: "KMLoginWindowsController")
- return windowC
- }()
- override func windowDidLoad() {
- super.windowDidLoad()
- // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
- // window?.styleMask.insert([.titled, .closable, .miniaturizable, .fullSizeContentView])
- // window?.titleVisibility = .visible
-
- initializeUI()
-
- NotificationCenter.default.addObserver(self, selector: #selector(loginSuccessNotification), name: NSNotification.Name(rawValue: "MemberCenterLoginSuccess"), object: nil)
- }
-
-
- // MARK: Private Action
-
- private func initializeUI() -> Void {
- if memberInfo.isLogin {
- window?.close()
- } else {
- leftImageView.image = NSImage(named: "WelcomePDFReaderPro1")
-
- let signUpView = KMSignUpView()
- signUpView.frame = rightBox.frame
- rightBox.contentView = signUpView
- rightBox.fillColor = NSColor(named: "membercentercolor") ?? NSColor.white
- }
- }
-
- // MARK: public Action
-
- @objc func loginSuccessNotification() -> Void {
- if let result = loginResult {
- result(true)
- }
- window?.close()
- }
-
- func openWindow(_ complete: @escaping LoginResultComplete) -> Void {
- KMLoginWindowsController.shared.showWindow(nil)
- loginResult = complete
- }
-
- }
|