diff --git a/RHStatusItemView.xcodeproj/project.pbxproj b/RHStatusItemView.xcodeproj/project.pbxproj
index 9cc1c91..b14eb5b 100644
--- a/RHStatusItemView.xcodeproj/project.pbxproj
+++ b/RHStatusItemView.xcodeproj/project.pbxproj
@@ -208,7 +208,7 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.7;
+ MACOSX_DEPLOYMENT_TARGET = 10.8;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
@@ -230,7 +230,7 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.7;
+ MACOSX_DEPLOYMENT_TARGET = 10.8;
SDKROOT = macosx;
};
name = Release;
@@ -238,6 +238,8 @@
131B4ED31627AD6D00CCF430 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ CLANG_ENABLE_OBJC_ARC = YES;
COMBINE_HIDPI_IMAGES = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
@@ -254,6 +256,8 @@
131B4ED41627AD6D00CCF430 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ CLANG_ENABLE_OBJC_ARC = YES;
COMBINE_HIDPI_IMAGES = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
diff --git a/RHStatusItemView.xcodeproj/project.xcworkspace/xcshareddata/RHStatusItemView.xccheckout b/RHStatusItemView.xcodeproj/project.xcworkspace/xcshareddata/RHStatusItemView.xccheckout
new file mode 100644
index 0000000..f454ed4
--- /dev/null
+++ b/RHStatusItemView.xcodeproj/project.xcworkspace/xcshareddata/RHStatusItemView.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ F6B5F711-AA9F-469C-BD86-D17EB4822F5A
+ IDESourceControlProjectName
+ RHStatusItemView
+ IDESourceControlProjectOriginsDictionary
+
+ 5AE9B92A-9F83-43F9-BAE0-ECCB2F29E1AF
+ https://github.com/heardrwt/RHStatusItemView.git
+
+ IDESourceControlProjectPath
+ RHStatusItemView.xcodeproj/project.xcworkspace
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 5AE9B92A-9F83-43F9-BAE0-ECCB2F29E1AF
+ ../..
+
+ IDESourceControlProjectURL
+ https://github.com/heardrwt/RHStatusItemView.git
+ IDESourceControlProjectVersion
+ 110
+ IDESourceControlProjectWCCIdentifier
+ 5AE9B92A-9F83-43F9-BAE0-ECCB2F29E1AF
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 5AE9B92A-9F83-43F9-BAE0-ECCB2F29E1AF
+ IDESourceControlWCCName
+ RHStatusItemView
+
+
+
+
diff --git a/RHStatusItemView.xcodeproj/project.xcworkspace/xcuserdata/jens.xcuserdatad/UserInterfaceState.xcuserstate b/RHStatusItemView.xcodeproj/project.xcworkspace/xcuserdata/jens.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000..994b211
Binary files /dev/null and b/RHStatusItemView.xcodeproj/project.xcworkspace/xcuserdata/jens.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/RHStatusItemView.xcodeproj/project.xcworkspace/xcuserdata/jens.xcuserdatad/WorkspaceSettings.xcsettings b/RHStatusItemView.xcodeproj/project.xcworkspace/xcuserdata/jens.xcuserdatad/WorkspaceSettings.xcsettings
new file mode 100644
index 0000000..659c876
--- /dev/null
+++ b/RHStatusItemView.xcodeproj/project.xcworkspace/xcuserdata/jens.xcuserdatad/WorkspaceSettings.xcsettings
@@ -0,0 +1,10 @@
+
+
+
+
+ HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges
+
+ SnapshotAutomaticallyBeforeSignificantChanges
+
+
+
diff --git a/RHStatusItemView.xcodeproj/xcuserdata/jens.xcuserdatad/xcschemes/RHStatusItemView.xcscheme b/RHStatusItemView.xcodeproj/xcuserdata/jens.xcuserdatad/xcschemes/RHStatusItemView.xcscheme
new file mode 100644
index 0000000..b782e57
--- /dev/null
+++ b/RHStatusItemView.xcodeproj/xcuserdata/jens.xcuserdatad/xcschemes/RHStatusItemView.xcscheme
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/RHStatusItemView.xcodeproj/xcuserdata/jens.xcuserdatad/xcschemes/xcschememanagement.plist b/RHStatusItemView.xcodeproj/xcuserdata/jens.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 0000000..4bc11dd
--- /dev/null
+++ b/RHStatusItemView.xcodeproj/xcuserdata/jens.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,22 @@
+
+
+
+
+ SchemeUserState
+
+ RHStatusItemView.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 131B4EBC1627AD6D00CCF430
+
+ primary
+
+
+
+
+
diff --git a/RHStatusItemView/RHStatusItemView.h b/RHStatusItemView/RHStatusItemView.h
index 429c816..d1f51ee 100644
--- a/RHStatusItemView/RHStatusItemView.h
+++ b/RHStatusItemView/RHStatusItemView.h
@@ -46,19 +46,17 @@
BOOL _isMenuVisible;
}
-@property (nonatomic, assign) NSStatusItem *statusItem; //should never be nil
+@property (nonatomic) NSStatusItem *statusItem; //should never be nil
-@property (nonatomic, retain) NSImage *image;
-@property (nonatomic, retain) NSImage *alternateImage;
+@property (nonatomic, strong) NSImage *image;
+@property (nonatomic, strong) NSImage *alternateImage;
// NSControl provides these for us
//@property (weak) id target;
//@property SEL action; //if no action specified, we will try and pop up menu if set.
-
-@property SEL rightAction; //if no rightAction specified, we will try and pop up, in order rightMenu, menu.
-
-@property (nonatomic, retain) NSMenu *menu;
-@property (nonatomic, retain) NSMenu *rightMenu;
+//@property (strong) NSMenu *menu;
+@property (nonatomic) SEL rightAction; //if no rightAction specified, we will try and pop up, in order rightMenu, menu.
+@property (nonatomic, strong) NSMenu *rightMenu;
-(id)initWithStatusBarItem:(NSStatusItem*)statusItem; //designated initializer
diff --git a/RHStatusItemView/RHStatusItemView.m b/RHStatusItemView/RHStatusItemView.m
index 02c1446..eae93d7 100644
--- a/RHStatusItemView/RHStatusItemView.m
+++ b/RHStatusItemView/RHStatusItemView.m
@@ -27,10 +27,6 @@
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-static CGFloat RHStatusItemViewImageHPadding = 4.0f;
-static CGFloat RHStatusItemViewImageVPadding = 3.0f;
-
-
#import "RHStatusItemView.h"
@implementation RHStatusItemView
@@ -41,8 +37,6 @@ @implementation RHStatusItemView
@synthesize alternateImage=_alternateImage;
@synthesize rightAction=_rightAction;
-
-@synthesize menu=_menu;
@synthesize rightMenu=_rightMenu;
@@ -64,15 +58,9 @@ -(id)initWithStatusBarItem:(NSStatusItem*)statusItem{
- (void)dealloc{
_statusItem = nil;
- [_image release]; _image = nil;
- [_alternateImage release]; _alternateImage = nil;
-
_rightAction = NULL;
- [_menu release]; _menu = nil;
- [_rightMenu release]; _rightMenu = nil;
- [super dealloc];
}
@@ -80,12 +68,13 @@ - (void)dealloc{
-(void)setStatusItem:(NSStatusItem *)statusItem{
if (!statusItem) [NSException raise:NSInvalidArgumentException format:@"-[%@ %@] statusItem should not be nil!", NSStringFromClass(self.class), NSStringFromSelector(_cmd)];
_statusItem = statusItem;
+ _statusItem.highlightMode = YES;
+ _statusItem.view = self;
}
-(void)setImage:(NSImage *)image{
if (image != _image){
- [_image release];
- _image = [image retain];
+ _image = image;
}
[self setNeedsDisplay];
@@ -93,8 +82,7 @@ -(void)setImage:(NSImage *)image{
-(void)setAlternateImage:(NSImage *)alternateImage{
if (alternateImage != _alternateImage){
- [_alternateImage release];
- _alternateImage = [alternateImage retain];
+ _alternateImage = alternateImage;
}
[self setNeedsDisplay];
@@ -108,14 +96,15 @@ - (void)drawRect:(NSRect)rect {
// Draw status bar background, highlighted if menu is showing
[_statusItem drawStatusBarBackgroundInRect:[self bounds] withHighlight:highlighted];
- NSRect imageRect = NSInsetRect(self.bounds, RHStatusItemViewImageHPadding, RHStatusItemViewImageVPadding);
- imageRect.origin.y++; //move it up one pix
-
- if (highlighted){
- [self.alternateImage drawInRect:imageRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1];
- } else {
- [self.image drawInRect:imageRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1];
- }
+ NSImage *image = self.image;
+ if (highlighted && self.alternateImage)
+ image = self.alternateImage;
+
+ [image drawInRect:self.bounds fromRect:NSRectFromCGRect(
+ CGRectMake( image.size.width / 2 - self.bounds.size.width / 2,
+ image.size.height / 2 - self.bounds.size.height / 2,
+ self.bounds.size.width, self.bounds.size.height ) )
+ operation:NSCompositeSourceOver fraction:1];
}