From 54393df77ac71fe429b055c416f953f3e3056186 Mon Sep 17 00:00:00 2001 From: Josh Gao Date: Mon, 20 Oct 2014 17:57:06 -0700 Subject: [PATCH] Use Yosemite's tray icon stuff if available. Also increment version number. Fixes #2. --- src/config.h | 4 ++-- src/tray/MetamoveTrayDelegate.mm | 25 ++++++++++++++++++++++--- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/config.h b/src/config.h index 222cc40..fdf4f1c 100644 --- a/src/config.h +++ b/src/config.h @@ -19,10 +19,10 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#define VERSION 0.3.5 +#define VERSION 0.3.6 #define VERSION_MAJOR 0 #define VERSION_MINOR 3 -#define VERSION_PATCH 5 +#define VERSION_PATCH 6 #define STRINGIFY_(x) #x #define STRINGIFY(x) STRINGIFY_(x) diff --git a/src/tray/MetamoveTrayDelegate.mm b/src/tray/MetamoveTrayDelegate.mm index fb30626..a1857f3 100644 --- a/src/tray/MetamoveTrayDelegate.mm +++ b/src/tray/MetamoveTrayDelegate.mm @@ -45,12 +45,15 @@ @implementation MetamoveTrayDelegate - (void) awakeFromNib { + [statusImageEnabled setTemplate: true]; + [statusImageDisabled setTemplate: true]; + self.statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength: NSSquareStatusItemLength]; self.statusItem.menu = self.menu; self.statusItem.image = statusImageEnabled; self.statusItem.highlightMode = true; - + self.updater = [SUUpdater sharedUpdater]; } @@ -70,12 +73,28 @@ @implementation MetamoveTrayDelegate if (metamove_is_enabled()) { self.menuEnabledText.title = @"Metamove: Off"; self.menuToggleEnabled.title = @"Enable"; - self.statusItem.image = statusImageDisabled; + + if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_9) { + // Mavericks or below + self.statusItem.image = statusImageDisabled; + } else { + // Yosemite + self.statusItem.button.appearsDisabled = true; + } + metamove_set_enabled(false); } else { self.menuEnabledText.title = @"Metamove: On"; self.menuToggleEnabled.title = @"Disable"; - self.statusItem.image = statusImageEnabled; + + if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_9) { + // Mavericks or below + self.statusItem.image = statusImageEnabled; + } else { + // Yosemite + self.statusItem.button.appearsDisabled = false; + } + metamove_set_enabled(true); } metamove_reconfigure();