hide Upgrade All when there is nothing to upgrade
Same treatment as the Outdated item: upgradeAllItem becomes a property, starts hidden, and updateOutdatedMenu shows it only when the fetch returns outdated packages. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
15034951fc
commit
9f848be875
|
|
@ -15,6 +15,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
|||
var statusItem: NSStatusItem!
|
||||
var statusMenuItem: NSMenuItem!
|
||||
var outdatedItem: NSMenuItem!
|
||||
var upgradeAllItem: NSMenuItem!
|
||||
var outdatedSubmenu: NSMenu!
|
||||
var versionItem: NSMenuItem!
|
||||
|
||||
|
|
@ -53,7 +54,9 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
|||
menu.addItem(NSMenuItem.separator())
|
||||
|
||||
menu.addItem(NSMenuItem(title: "🔄 Refresh", action: #selector(refreshAction), keyEquivalent: "r"))
|
||||
menu.addItem(NSMenuItem(title: "📦 Upgrade All", action: #selector(upgradeAll), keyEquivalent: "u"))
|
||||
upgradeAllItem = NSMenuItem(title: "📦 Upgrade All", action: #selector(upgradeAll), keyEquivalent: "u")
|
||||
upgradeAllItem.isHidden = true // shown once a fetch finds outdated packages
|
||||
menu.addItem(upgradeAllItem)
|
||||
outdatedItem = NSMenuItem(title: "📋 Outdated", action: nil, keyEquivalent: "")
|
||||
outdatedSubmenu = NSMenu()
|
||||
outdatedItem.submenu = outdatedSubmenu
|
||||
|
|
@ -295,6 +298,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
|||
func updateOutdatedMenu(with lines: [String]) {
|
||||
outdatedSubmenu.removeAllItems()
|
||||
outdatedItem.isHidden = lines.isEmpty
|
||||
upgradeAllItem.isHidden = lines.isEmpty
|
||||
|
||||
for formula in lines {
|
||||
let item = NSMenuItem(title: formula, action: #selector(upgradeSingle(_:)), keyEquivalent: "")
|
||||
|
|
|
|||
Loading…
Reference in a new issue