Merge branch 'fix/upgrade-only-menu'
This commit is contained in:
commit
210a8167b8
|
|
@ -86,6 +86,9 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
||||||
menu.addItem(upgradeAllItem)
|
menu.addItem(upgradeAllItem)
|
||||||
upgradeOnlyItem = NSMenuItem(title: "🎯 Upgrade only…", action: nil, keyEquivalent: "")
|
upgradeOnlyItem = NSMenuItem(title: "🎯 Upgrade only…", action: nil, keyEquivalent: "")
|
||||||
let upgradeOnlySubmenu = NSMenu()
|
let upgradeOnlySubmenu = NSMenu()
|
||||||
|
// manual isEnabled control below; otherwise AppKit re-enables the
|
||||||
|
// items from the responder chain every time the menu opens
|
||||||
|
upgradeOnlySubmenu.autoenablesItems = false
|
||||||
upgradeFormulaeItem = NSMenuItem(title: "Formulae", action: #selector(upgradeFormulaeOnly), keyEquivalent: "")
|
upgradeFormulaeItem = NSMenuItem(title: "Formulae", action: #selector(upgradeFormulaeOnly), keyEquivalent: "")
|
||||||
upgradeCasksItem = NSMenuItem(title: "Casks", action: #selector(upgradeCasksOnly), keyEquivalent: "")
|
upgradeCasksItem = NSMenuItem(title: "Casks", action: #selector(upgradeCasksOnly), keyEquivalent: "")
|
||||||
upgradeOnlySubmenu.addItem(upgradeFormulaeItem)
|
upgradeOnlySubmenu.addItem(upgradeFormulaeItem)
|
||||||
|
|
@ -570,11 +573,13 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
||||||
outdatedSubmenu.removeAllItems()
|
outdatedSubmenu.removeAllItems()
|
||||||
outdatedItem.isHidden = outdated.isEmpty
|
outdatedItem.isHidden = outdated.isEmpty
|
||||||
upgradeAllItem.isHidden = outdated.isEmpty
|
upgradeAllItem.isHidden = outdated.isEmpty
|
||||||
// "only" is meaningful only when both kinds are outdated; with a
|
// visible whenever anything is outdated; a kind with nothing to
|
||||||
// single kind, the main item already upgrades exactly what there is
|
// upgrade stays listed but greyed out
|
||||||
upgradeOnlyItem.isHidden = outdated.formulae.isEmpty || outdated.casks.isEmpty
|
upgradeOnlyItem.isHidden = outdated.isEmpty
|
||||||
upgradeFormulaeItem.title = "Formulae (\(outdated.formulae.count))"
|
upgradeFormulaeItem.title = outdated.formulae.isEmpty ? "Formulae" : "Formulae (\(outdated.formulae.count))"
|
||||||
upgradeCasksItem.title = "Casks (\(outdated.casks.count))"
|
upgradeFormulaeItem.isEnabled = !outdated.formulae.isEmpty
|
||||||
|
upgradeCasksItem.title = outdated.casks.isEmpty ? "Casks" : "Casks (\(outdated.casks.count))"
|
||||||
|
upgradeCasksItem.isEnabled = !outdated.casks.isEmpty
|
||||||
|
|
||||||
for package in outdated.all {
|
for package in outdated.all {
|
||||||
let item = NSMenuItem(title: package.label, action: #selector(upgradeSingle(_:)), keyEquivalent: "")
|
let item = NSMenuItem(title: package.label, action: #selector(upgradeSingle(_:)), keyEquivalent: "")
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue