diff --git a/PHP Monitor.xcodeproj/project.pbxproj b/PHP Monitor.xcodeproj/project.pbxproj index 3e02353..efea762 100644 --- a/PHP Monitor.xcodeproj/project.pbxproj +++ b/PHP Monitor.xcodeproj/project.pbxproj @@ -447,7 +447,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 40; + CURRENT_PROJECT_VERSION = 42; DEVELOPMENT_TEAM = 8M54J5J787; ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = phpmon/Info.plist; @@ -455,7 +455,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 2.7; + MARKETING_VERSION = 3.0; PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -471,7 +471,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 40; + CURRENT_PROJECT_VERSION = 42; DEVELOPMENT_TEAM = 8M54J5J787; ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = phpmon/Info.plist; @@ -479,7 +479,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 2.7; + MARKETING_VERSION = 3.0; PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/phpmon/Classes/Menu/HeaderView.xib b/phpmon/Classes/Menu/HeaderView.xib index 103723a..c765e7d 100644 --- a/phpmon/Classes/Menu/HeaderView.xib +++ b/phpmon/Classes/Menu/HeaderView.xib @@ -9,53 +9,25 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - + + - + diff --git a/phpmon/Classes/Menu/StatsView.xib b/phpmon/Classes/Menu/StatsView.xib index 43cc128..1a6c77e 100644 --- a/phpmon/Classes/Menu/StatsView.xib +++ b/phpmon/Classes/Menu/StatsView.xib @@ -28,8 +28,8 @@ - - + + @@ -57,8 +57,8 @@ - - + + @@ -86,8 +86,8 @@ - - + + @@ -130,6 +130,14 @@ + + + + + + + + diff --git a/phpmon/Classes/Menu/StatusMenu.swift b/phpmon/Classes/Menu/StatusMenu.swift index ea0ea51..ce05480 100644 --- a/phpmon/Classes/Menu/StatusMenu.swift +++ b/phpmon/Classes/Menu/StatusMenu.swift @@ -84,9 +84,19 @@ class StatusMenu : NSMenu { self.addItem(NSMenuItem(title: "mi_php_config".localized, action: #selector(MainMenu.openActiveConfigFolder), keyEquivalent: "c")) self.addItem(NSMenuItem(title: "mi_phpinfo".localized, action: #selector(MainMenu.openPhpInfo), keyEquivalent: "i")) + if (App.shared.busy) { + return + } + + let stats = App.phpInstall!.configuration + // Stats self.addItem(NSMenuItem.separator()) - self.addItem(StatsView.asMenuItem()) + self.addItem(StatsView.asMenuItem( + memory: stats.memory_limit, + post: stats.post_max_size, + upload: stats.upload_max_filesize) + ) // Extensions self.addItem(NSMenuItem.separator()) diff --git a/phpmon/Classes/Menu/XibViews.swift b/phpmon/Classes/Menu/XibViews.swift index 060f345..74f6ef4 100644 --- a/phpmon/Classes/Menu/XibViews.swift +++ b/phpmon/Classes/Menu/XibViews.swift @@ -10,9 +10,24 @@ import Foundation import Cocoa class StatsView: NSView, XibLoadable { - static func asMenuItem() -> NSMenuItem { + @IBOutlet weak var titleMemLimit: NSTextField! + @IBOutlet weak var titleMaxPost: NSTextField! + @IBOutlet weak var titleMaxUpload: NSTextField! + + @IBOutlet weak var labelMemLimit: NSTextField! + @IBOutlet weak var labelMaxPost: NSTextField! + @IBOutlet weak var labelMaxUpload: NSTextField! + + static func asMenuItem(memory: String, post: String, upload: String) -> NSMenuItem { + let view = Self.createFromXib() + view?.titleMemLimit.stringValue = "mi_memory_limit".localized.uppercased() + view?.titleMaxPost.stringValue = "mi_post_max_size".localized.uppercased() + view?.titleMaxUpload.stringValue = "mi_upload_max_filesize".localized.uppercased() + view?.labelMemLimit.stringValue = memory + view?.labelMaxPost.stringValue = post + view?.labelMaxUpload.stringValue = upload let item = NSMenuItem() - item.view = Self.createFromXib() + item.view = view item.target = self return item } diff --git a/phpmon/Localizable.strings b/phpmon/Localizable.strings index 3dfed9c..0b3d2f9 100644 --- a/phpmon/Localizable.strings +++ b/phpmon/Localizable.strings @@ -28,9 +28,9 @@ "mi_configuration" = "Configuration"; "mi_limits" = "Limits Configuration"; -"mi_memory_limit" = "Script Memory Limit"; -"mi_post_max_size" = "Max POST Size"; -"mi_upload_max_filesize" = "Max Upload File Size"; +"mi_memory_limit" = "Memory Limit"; +"mi_post_max_size" = "Max POST"; +"mi_upload_max_filesize" = "Max Upload"; "mi_valet_config" = "Locate Valet folder (.config/valet)"; "mi_php_config" = "Locate PHP configuration file (php.ini)"; diff --git a/phpmon/Singletons/MainMenu.swift b/phpmon/Singletons/MainMenu.swift index cbae2dc..b1976fe 100644 --- a/phpmon/Singletons/MainMenu.swift +++ b/phpmon/Singletons/MainMenu.swift @@ -77,32 +77,32 @@ class MainMenu: NSObject, NSWindowDelegate { */ public func update() { DispatchQueue.global(qos: .userInitiated).async { [unowned self] in - // Create a new menu - let menu = StatusMenu() - - // Add the PHP versions (or error messages) - menu.addPhpVersionMenuItems() - menu.addItem(NSMenuItem.separator()) - - // Add the possible actions - menu.addPhpActionMenuItems() - menu.addItem(NSMenuItem.separator()) - - // Add information about services & actions - menu.addPhpConfigurationMenuItems() - menu.addItem(NSMenuItem.separator()) - - // Add about & quit menu items - menu.addItem(NSMenuItem(title: "mi_about".localized, action: #selector(self.openAbout), keyEquivalent: "")) - menu.addItem(NSMenuItem(title: "mi_quit".localized, action: #selector(self.terminateApp), keyEquivalent: "q")) - - // Make sure every item can be interacted with - menu.items.forEach({ (item) in - item.target = self - }) - // Update the menu item on the main thread DispatchQueue.main.async { + // Create a new menu + let menu = StatusMenu() + + // Add the PHP versions (or error messages) + menu.addPhpVersionMenuItems() + menu.addItem(NSMenuItem.separator()) + + // Add the possible actions + menu.addPhpActionMenuItems() + menu.addItem(NSMenuItem.separator()) + + // Add information about services & actions + menu.addPhpConfigurationMenuItems() + menu.addItem(NSMenuItem.separator()) + + // Add about & quit menu items + menu.addItem(NSMenuItem(title: "mi_about".localized, action: #selector(self.openAbout), keyEquivalent: "")) + menu.addItem(NSMenuItem(title: "mi_quit".localized, action: #selector(self.terminateApp), keyEquivalent: "q")) + + // Make sure every item can be interacted with + menu.items.forEach({ (item) in + item.target = self + }) + self.statusItem.menu = menu } }