1
0
mirror of https://github.com/nicoverbruggen/phpmon.git synced 2025-08-08 04:20:07 +02:00
Files
app/phpmon/Common/Helpers/Alert.swift
Nico Verbruggen 7e5cbadc09 👌 Various improvements to PHP Version Manager
- A warning has been added if you are not running Homebrew 4.0, since
  running older (or newer) versions of Homebrew are not officially
  supported. This check is only displayed once per cold app boot.

- The PHP Version Manager now shows the full version number for
  up-to-date PHP installations (mostly important for patch version).

- You must now confirm the deletion of an installed version of PHP
  before PHP Monitor will uninstall that version.

- It is no longer possible to press the refresh button if the app
  is already busy checking for updated PHP versions
2023-04-04 20:50:51 +02:00

43 lines
1.2 KiB
Swift

//
// Alert.swift
// PHP Monitor
//
// Copyright © 2023 Nico Verbruggen. All rights reserved.
//
import Cocoa
class Alert {
public static func confirm(
onWindow window: NSWindow,
messageText: String,
informativeText: String,
buttonTitle: String = "generic.ok".localized,
buttonIsDestructive: Bool = false,
secondButtonTitle: String = "generic.cancel".localized,
style: NSAlert.Style = .warning,
onFirstButtonPressed: @escaping (() -> Void)
) {
if !Thread.isMainThread {
fatalError("You should always present alerts on the main thread!")
}
let alert = NSAlert.init()
alert.alertStyle = style
alert.messageText = messageText
alert.informativeText = informativeText
alert.addButton(withTitle: buttonTitle)
alert.buttons.first?.hasDestructiveAction = buttonIsDestructive
if !secondButtonTitle.isEmpty {
alert.addButton(withTitle: secondButtonTitle)
}
alert.beginSheetModal(for: window) { response in
if response == .alertFirstButtonReturn {
onFirstButtonPressed()
}
}
}
}