// // StatusBarController.swift // LiquipediaMenu // // Created by Felix Förtsch on 08.10.18. // Copyright © 2018 Felix Förtsch. All rights reserved. // import Cocoa class StatusBarController: NSObject { @IBOutlet weak var statusBar: NSMenu! let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength) let matchesAPI = MatchesAPI() var matches = [Match]() override func awakeFromNib() { // Set the icon of the statusbar item and put it into the statusbar let icon = NSImage(named: "statusBarIcon") icon?.isTemplate = true statusItem.image = icon statusItem.menu = statusBar generateMenu() } @objc func generateMenu() { statusBar.addItem(withTitle: "Refresh", action: #selector(generateMenu), keyEquivalent: "") matches = matchesAPI.fetchMatches(for: "dota2") for match in matches { let myItem = NSMenuItem(title: match.league, action: #selector(quitClicked), keyEquivalent: "") statusBar.addItem(myItem) } statusBar.addItem(withTitle: "Quit", action: #selector(quitClicked), keyEquivalent: "") } @objc func quitClicked() { NSApplication.shared.terminate(self) } }