From fc929126ae9189ccf4375727f905bf0475f68b91 Mon Sep 17 00:00:00 2001 From: thomassnielsen Date: Wed, 29 Apr 2015 21:36:30 +0200 Subject: [PATCH] Add quit menu item. Fixes #83. --- Ember Hearth/AppDelegate.swift | 4 ++++ Ember Hearth/StatusBarManager.swift | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/Ember Hearth/AppDelegate.swift b/Ember Hearth/AppDelegate.swift index 906eb37..d38ed80 100644 --- a/Ember Hearth/AppDelegate.swift +++ b/Ember Hearth/AppDelegate.swift @@ -76,6 +76,10 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele ProjectController.sharedInstance.toggleServer(sender) } + @IBAction func terminate(sender: AnyObject?) { + NSApplication.sharedApplication().terminate(self) + } + func toggleProjectMenus() { var mainMenu = NSApplication.sharedApplication().mainMenu let projectActive = activeProject != nil diff --git a/Ember Hearth/StatusBarManager.swift b/Ember Hearth/StatusBarManager.swift index 33a8669..90b969a 100644 --- a/Ember Hearth/StatusBarManager.swift +++ b/Ember Hearth/StatusBarManager.swift @@ -20,6 +20,7 @@ class StatusBarManager: NSObject { var statusBarMenu: NSMenu? var nameMenuItem: NSMenuItem? var runServerMenuItem: NSMenuItem? + var terminateMenuItem: NSMenuItem? let noProjectString = "No project selected" @@ -54,6 +55,12 @@ class StatusBarManager: NSObject { runServerMenuItem = NSMenuItem(title: "Run Server", action: "toggleServer:", keyEquivalent: "") statusBarMenu?.addItem(runServerMenuItem!) + let separator = NSMenuItem.separatorItem() + statusBarMenu?.addItem(separator) + + terminateMenuItem = NSMenuItem(title: "Quit Ember Hearth", action: "terminate:", keyEquivalent: "") + statusBarMenu?.addItem(terminateMenuItem!) + statusBarMenu?.autoenablesItems = false runServerMenuItem?.enabled = true statusBarItem?.menu = statusBarMenu