diff --git a/LiquipediaMenu.xcworkspace/xcuserdata/felixfoertsch.xcuserdatad/UserInterfaceState.xcuserstate b/LiquipediaMenu.xcworkspace/xcuserdata/felixfoertsch.xcuserdatad/UserInterfaceState.xcuserstate index 184c3a5..553dca0 100644 Binary files a/LiquipediaMenu.xcworkspace/xcuserdata/felixfoertsch.xcuserdatad/UserInterfaceState.xcuserstate and b/LiquipediaMenu.xcworkspace/xcuserdata/felixfoertsch.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/LiquipediaMenu/StatusBarController.swift b/LiquipediaMenu/StatusBarController.swift index fb39144..367c780 100644 --- a/LiquipediaMenu/StatusBarController.swift +++ b/LiquipediaMenu/StatusBarController.swift @@ -8,19 +8,12 @@ import Cocoa -class StatusBarController: NSObject, NSUserInterfaceValidations { - var statusBar = NSMenu() +class StatusBarController: NSObject { + let statusBar = NSMenu() let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength) let matchesAPI = MatchesAPI() var matches = [Match]() - func validateUserInterfaceItem(_ item: NSValidatedUserInterfaceItem) -> Bool { - if let menuitem = item as? NSMenuItem { - menuitem.state = .on - } - return true - } - override func awakeFromNib() { // Set the icon of the statusbar item and put it into the statusbar let icon = NSImage(named: "statusBarIcon") @@ -31,17 +24,21 @@ class StatusBarController: NSObject, NSUserInterfaceValidations { } @objc func generateMenu() { - statusBar.addItem(withTitle: "Refresh", action: #selector(generateMenu), keyEquivalent: "") - statusBar.addItem(NSMenuItem.separator()) - + statusBar.removeAllItems() + var menu = [NSMenuItem]() + menu.append(NSMenuItem.init(title: "Refresh", action: #selector(generateMenu), keyEquivalent: "")) + menu.append(NSMenuItem.separator()) if let matches = matchesAPI.fetchMatches(for: "dota2") { for match in matches { - let myItem = NSMenuItem(title: match.league, action: nil, keyEquivalent: "") - statusBar.addItem(myItem) + menu.append(NSMenuItem(title: match.league, action: nil, keyEquivalent: "")) } - - statusBar.addItem(NSMenuItem.separator()) - statusBar.addItem(withTitle: "Quit", action: #selector(self.quitClicked), keyEquivalent: "") + } + menu.append(NSMenuItem.separator()) + menu.append(NSMenuItem.init(title: "Quit", action: #selector(quitClicked), keyEquivalent: "")) + + for item in menu { + item.target = self + statusBar.addItem(item) } }