mirror of
https://github.com/nicoverbruggen/phpmon.git
synced 2025-08-07 20:10:08 +02:00
73 lines
1.9 KiB
Swift
73 lines
1.9 KiB
Swift
//
|
|
// NoticeVC.swift
|
|
// PHP Monitor
|
|
//
|
|
// Created by Nico Verbruggen on 16/02/2022.
|
|
// Copyright © 2022 Nico Verbruggen. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
import Cocoa
|
|
|
|
class BetterAlertVC: NSViewController {
|
|
|
|
@IBOutlet weak var labelTitle: NSTextField!
|
|
@IBOutlet weak var labelSubtitle: NSTextField!
|
|
@IBOutlet weak var labelDescription: NSTextField!
|
|
|
|
@IBOutlet weak var buttonPrimary: NSButton!
|
|
@IBOutlet weak var buttonSecondary: NSButton!
|
|
@IBOutlet weak var buttonTertiary: NSButton!
|
|
|
|
var actionPrimary: (BetterAlertVC) -> Void = { _ in }
|
|
var actionSecondary: ((BetterAlertVC) -> Void)?
|
|
var actionTertiary: ((BetterAlertVC) -> Void)?
|
|
|
|
@IBOutlet weak var imageView: NSImageView!
|
|
|
|
@IBOutlet weak var primaryButtonTopMargin: NSLayoutConstraint!
|
|
|
|
override func viewWillAppear() {
|
|
imageView.image = NSApp.applicationIconImage
|
|
|
|
if actionSecondary == nil {
|
|
buttonSecondary.isHidden = true
|
|
}
|
|
if actionTertiary == nil {
|
|
buttonTertiary.isHidden = true
|
|
}
|
|
}
|
|
|
|
override func viewDidAppear() {
|
|
view.window?.makeFirstResponder(buttonPrimary)
|
|
}
|
|
|
|
@IBAction func primaryButtonAction(_ sender: Any) {
|
|
self.actionPrimary(self)
|
|
}
|
|
|
|
@IBAction func secondaryButtonAction(_ sender: Any) {
|
|
if self.actionSecondary != nil {
|
|
self.actionSecondary!(self)
|
|
} else {
|
|
self.close(with: .alertSecondButtonReturn)
|
|
}
|
|
}
|
|
|
|
@IBAction func tertiaryButtonAction(_ sender: Any) {
|
|
if self.actionSecondary != nil {
|
|
self.actionTertiary!(self)
|
|
}
|
|
}
|
|
|
|
public func close(with code: NSApplication.ModalResponse) {
|
|
self.view.window?.close()
|
|
NSApplication.shared.stopModal(withCode: code)
|
|
}
|
|
|
|
deinit {
|
|
Log.perf("A BetterAlert has been deinitialized.")
|
|
}
|
|
|
|
}
|