From 020a0260f1ebe09454a777c845159bed527e95a6 Mon Sep 17 00:00:00 2001 From: Nico Verbruggen Date: Fri, 13 Jan 2023 19:46:25 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Tell=20users=20about=20older=20unsu?= =?UTF-8?q?pported=20PHP=20versions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- phpmon/Domain/Menu/MainMenu.swift | 18 ++++++++++++++++++ phpmon/Domain/Menu/StatusMenu+Items.swift | 13 +++++++++++-- phpmon/Localizable.strings | 11 ++++++++++- 3 files changed, 39 insertions(+), 3 deletions(-) diff --git a/phpmon/Domain/Menu/MainMenu.swift b/phpmon/Domain/Menu/MainMenu.swift index 0dc8fef..cfd8ae8 100644 --- a/phpmon/Domain/Menu/MainMenu.swift +++ b/phpmon/Domain/Menu/MainMenu.swift @@ -109,6 +109,24 @@ class MainMenu: NSObject, NSWindowDelegate, NSMenuDelegate, PhpSwitcherDelegate } } + @objc func showIncompatiblePhpVersionsAlert() { + Task { @MainActor in + BetterAlert().withInformation( + title: "startup.unsupported_versions_explanation.title".localized, + subtitle: "startup.unsupported_versions_explanation.subtitle".localized( + PhpEnv.shared.incompatiblePhpVersions + .map({ version in + return "• PHP \(version)" + }) + .joined(separator: "\n") + ), + description: "startup.unsupported_versions_explanation.desc".localized + ) + .withPrimary(text: "generic.ok".localized) + .show() + } + } + /** Reloads the menu in the background, using `asyncExecution`. */ @objc func reloadPhpMonitorMenuInBackground() { asyncExecution({ diff --git a/phpmon/Domain/Menu/StatusMenu+Items.swift b/phpmon/Domain/Menu/StatusMenu+Items.swift index 0d4c189..88147bc 100644 --- a/phpmon/Domain/Menu/StatusMenu+Items.swift +++ b/phpmon/Domain/Menu/StatusMenu+Items.swift @@ -30,7 +30,7 @@ extension StatusMenu { return } - if PhpEnv.shared.availablePhpVersions.isEmpty { return } + if PhpEnv.shared.availablePhpVersions.isEmpty && PhpEnv.shared.incompatiblePhpVersions.isEmpty { return } addSwitchToPhpMenuItems() self.addItem(NSMenuItem.separator()) @@ -50,7 +50,6 @@ extension StatusMenu { func addSwitchToPhpMenuItems() { var shortcutKey = 1 for index in (0..