Skip to content

Commit

Permalink
Implement reload for agents menu
Browse files Browse the repository at this point in the history
  • Loading branch information
Cosmo committed Sep 8, 2019
1 parent 7ab4f33 commit 09a0acd
Showing 1 changed file with 19 additions and 13 deletions.
32 changes: 19 additions & 13 deletions Clippy macOS/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
let applicationName = "Clippy"
var window: NSWindow?
var statusItem: NSStatusItem?
var agentsMenuItem: NSMenuItem?

func applicationDidFinishLaunching(_ aNotification: Notification) {
window = AgentWindow(contentRect: CGRect.zero, styleMask: [], backing: .buffered, defer: true)
Expand Down Expand Up @@ -41,15 +42,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
setupStatusBarMenu()
}

func setupStatusBarMenu() {
// Status bar menu
let statusBarMenu = NSMenu(title: "Clippy")
let agentsItem = NSMenuItem(title: "Agents", action: nil, keyEquivalent: "")
statusBarMenu.addItem(agentsItem)
statusBarMenu.addItem(NSMenuItem.separator())
statusBarMenu.addItem(withTitle: "Quit \(applicationName)", action: #selector(quitAction(sender:)), keyEquivalent: "")

// Agents menu
func createAgentsMenu() -> NSMenu {
let agentsMenu = NSMenu(title: "Agents")
let agentNames = AgentCharacterDescription.agentNames()

Expand All @@ -63,14 +56,27 @@ class AppDelegate: NSObject, NSApplicationDelegate {
}
}
agentsMenu.addItem(NSMenuItem.separator())
agentsMenu.addItem(withTitle: "Open Agents Folder",
agentsMenu.addItem(withTitle: "Show in Finder",
action: #selector(openFolderAction(sender:)),
keyEquivalent: "")
agentsMenu.addItem(NSMenuItem.separator())
agentsMenu.addItem(withTitle: "Reload",
agentsMenu.addItem(withTitle: "Reload",
action: #selector(reloadAction(sender:)),
keyEquivalent: "")
statusBarMenu.setSubmenu(agentsMenu, for: agentsItem)
return agentsMenu
}

func setupStatusBarMenu() {
// Status bar menu
let statusBarMenu = NSMenu(title: "Clippy")
agentsMenuItem = NSMenuItem(title: "Agents", action: nil, keyEquivalent: "")
guard let menuItem = agentsMenuItem else { return }
statusBarMenu.addItem(menuItem)
statusBarMenu.addItem(NSMenuItem.separator())
statusBarMenu.addItem(withTitle: "Quit \(applicationName)", action: #selector(quitAction(sender:)), keyEquivalent: "")

// Agents menu
statusBarMenu.setSubmenu(createAgentsMenu(), for: menuItem)

statusItem?.menu = statusBarMenu
}
Expand All @@ -80,7 +86,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
}

@objc func reloadAction(sender: AnyObject) {
print("Reloading.")
agentsMenuItem?.submenu = createAgentsMenu()
}

@objc func openFolderAction(sender: AnyObject) {
Expand Down

0 comments on commit 09a0acd

Please sign in to comment.