hide the Outdated menu item when everything is up to date
Promote outdatedItem to a property and toggle isHidden from updateOutdatedMenu: hidden at launch and whenever a fetch returns no outdated packages, visible otherwise. The "All up to date" placeholder inside the submenu is dropped — the status line already says it, and the item is invisible when the list is empty. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
9ab8af79a4
commit
15034951fc
|
|
@ -14,6 +14,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
||||||
|
|
||||||
var statusItem: NSStatusItem!
|
var statusItem: NSStatusItem!
|
||||||
var statusMenuItem: NSMenuItem!
|
var statusMenuItem: NSMenuItem!
|
||||||
|
var outdatedItem: NSMenuItem!
|
||||||
var outdatedSubmenu: NSMenu!
|
var outdatedSubmenu: NSMenu!
|
||||||
var versionItem: NSMenuItem!
|
var versionItem: NSMenuItem!
|
||||||
|
|
||||||
|
|
@ -53,9 +54,10 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
||||||
|
|
||||||
menu.addItem(NSMenuItem(title: "🔄 Refresh", action: #selector(refreshAction), keyEquivalent: "r"))
|
menu.addItem(NSMenuItem(title: "🔄 Refresh", action: #selector(refreshAction), keyEquivalent: "r"))
|
||||||
menu.addItem(NSMenuItem(title: "📦 Upgrade All", action: #selector(upgradeAll), keyEquivalent: "u"))
|
menu.addItem(NSMenuItem(title: "📦 Upgrade All", action: #selector(upgradeAll), keyEquivalent: "u"))
|
||||||
let outdatedItem = NSMenuItem(title: "📋 Outdated", action: nil, keyEquivalent: "")
|
outdatedItem = NSMenuItem(title: "📋 Outdated", action: nil, keyEquivalent: "")
|
||||||
outdatedSubmenu = NSMenu()
|
outdatedSubmenu = NSMenu()
|
||||||
outdatedItem.submenu = outdatedSubmenu
|
outdatedItem.submenu = outdatedSubmenu
|
||||||
|
outdatedItem.isHidden = true // shown once a fetch finds outdated packages
|
||||||
menu.addItem(outdatedItem)
|
menu.addItem(outdatedItem)
|
||||||
menu.addItem(NSMenuItem(title: "📜 Logs", action: #selector(showLogs), keyEquivalent: "l"))
|
menu.addItem(NSMenuItem(title: "📜 Logs", action: #selector(showLogs), keyEquivalent: "l"))
|
||||||
|
|
||||||
|
|
@ -292,11 +294,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
||||||
|
|
||||||
func updateOutdatedMenu(with lines: [String]) {
|
func updateOutdatedMenu(with lines: [String]) {
|
||||||
outdatedSubmenu.removeAllItems()
|
outdatedSubmenu.removeAllItems()
|
||||||
|
outdatedItem.isHidden = lines.isEmpty
|
||||||
if lines.isEmpty {
|
|
||||||
outdatedSubmenu.addItem(NSMenuItem(title: "✅ All up to date", action: nil, keyEquivalent: ""))
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
for formula in lines {
|
for formula in lines {
|
||||||
let item = NSMenuItem(title: formula, action: #selector(upgradeSingle(_:)), keyEquivalent: "")
|
let item = NSMenuItem(title: formula, action: #selector(upgradeSingle(_:)), keyEquivalent: "")
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue