Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions Classes/MenubarController.m
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#import "MenubarController.h"
#import "StatusItemView.h"
#import "Utilities.h"

@implementation MenubarController

Expand All @@ -12,11 +13,20 @@ - (id)init
self = [super init];
if (self != nil)
{
NSImage *icon = [NSImage imageNamed:@"Status"];
NSImage *iconHighlighted = [NSImage imageNamed:@"StatusHighlighted"];
if (yosemiteOrGreater()) {
icon = iconHighlighted;
[icon setTemplate:YES];
iconHighlighted = icon;
}

// Install status item into the menu bar
NSStatusItem *statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:STATUS_ITEM_VIEW_WIDTH];
_statusItemView = [[StatusItemView alloc] initWithStatusItem:statusItem];
_statusItemView.image = [NSImage imageNamed:@"Status"];
_statusItemView.alternateImage = [NSImage imageNamed:@"StatusHighlighted"];
_statusItemView.image = icon;
_statusItemView.alternateImage = icon;
_statusItemView.alternateImage = iconHighlighted;
_statusItemView.action = NSSelectorFromString(@"togglePanel:");
}
return self;
Expand Down
6 changes: 1 addition & 5 deletions Classes/PutIOSync-Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<<<<<<< HEAD
<string>330</string>
=======
<string>326</string>
>>>>>>> release/0.8.2_beta
<string>354</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>LSMinimumSystemVersion</key>
Expand Down
5 changes: 4 additions & 1 deletion Classes/Utilities.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@ NSString* unitStringFromSeconds(NSTimeInterval interval);
NSString* unitStringFromBytes(double bytes);
NSString* unitStringFromBytes2(double bytes, uint8_t flags);

BOOL leopardOrGreater(void);
BOOL yosemiteOrGreater(void);

enum {
kUnitStringBinaryUnits = 1 << 0,
kUnitStringOSNativeUnits = 1 << 1,
kUnitStringLocalizedFormat = 1 << 2
};
};
39 changes: 28 additions & 11 deletions Classes/Utilities.m
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,34 @@
#include <stdio.h>
#import "Utilities.h"

static BOOL leopardOrGreater(){
static BOOL alreadyComputedOS = NO;
static BOOL leopardOrGreater = NO;
if (!alreadyComputedOS) {
SInt32 majorVersion, minorVersion;
Gestalt(gestaltSystemVersionMajor, &majorVersion);
Gestalt(gestaltSystemVersionMinor, &minorVersion);
leopardOrGreater = ((majorVersion == 10 && minorVersion >= 5) || majorVersion > 10);
alreadyComputedOS = YES;
static BOOL _alreadyComputedOS = NO;
static BOOL _leopardOrGreater = NO;
static BOOL _yosemiteOrGreater = NO;

static void computeOS()
{
SInt32 majorVersion, minorVersion;
Gestalt(gestaltSystemVersionMajor, &majorVersion);
Gestalt(gestaltSystemVersionMinor, &minorVersion);
_leopardOrGreater = ((majorVersion == 10 && minorVersion >= 5) || majorVersion > 10);
_yosemiteOrGreater = ((majorVersion == 10 && minorVersion >= 10) || majorVersion > 10);
_alreadyComputedOS = YES;
}

BOOL leopardOrGreater(void)
{
if (!_alreadyComputedOS) {
computeOS();
}
return leopardOrGreater;
return _leopardOrGreater;
}

BOOL yosemiteOrGreater(void)
{
if (!_alreadyComputedOS) {
computeOS();
}
return _yosemiteOrGreater;
}

NSString* unitStringFromBytes(double bytes)
Expand Down Expand Up @@ -78,4 +95,4 @@ static BOOL leopardOrGreater(){
}
}
return result;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0610"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DD4F7C0313C30F9F00825C6E"
BuildableName = "PutIOSync.app"
BlueprintName = "PutIOSync"
ReferencedContainer = "container:PutIOSync.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DD4F7C0313C30F9F00825C6E"
BuildableName = "PutIOSync.app"
BlueprintName = "PutIOSync"
ReferencedContainer = "container:PutIOSync.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DD4F7C0313C30F9F00825C6E"
BuildableName = "PutIOSync.app"
BlueprintName = "PutIOSync"
ReferencedContainer = "container:PutIOSync.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DD4F7C0313C30F9F00825C6E"
BuildableName = "PutIOSync.app"
BlueprintName = "PutIOSync"
ReferencedContainer = "container:PutIOSync.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0610"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "399C9546195BE52B003E773D"
BuildableName = "Release"
BlueprintName = "Release"
ReferencedContainer = "container:PutIOSync.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "399C9546195BE52B003E773D"
BuildableName = "Release"
BlueprintName = "Release"
ReferencedContainer = "container:PutIOSync.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "399C9546195BE52B003E773D"
BuildableName = "Release"
BlueprintName = "Release"
ReferencedContainer = "container:PutIOSync.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SchemeUserState</key>
<dict>
<key>PutIOSync.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
<key>Release.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>1</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>399C9546195BE52B003E773D</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>DD4F7C0313C30F9F00825C6E</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict>
</plist>