Menu and first-launch improvements.
[ADDED] On first start, show the status item by highlighting and opening it. [UPDATED] Using RHStatusItemView for status item so we can highlight it programmatically. [FIXED] Activate app on startup so apps window shows. [ADDED] NSAlert when trying to open password window with no user selected. [UPDATED] Crisper menu icon.
This commit is contained in:
parent
f3248f446c
commit
195f70db53
1
External/RHStatusItemView
vendored
Submodule
1
External/RHStatusItemView
vendored
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit eb8b21e117bfa5747d67394f06df400ac4c94279
|
@ -6,6 +6,7 @@
|
||||
// Copyright (c) 2012 Lyndir. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MPConfig.h"
|
||||
#import "MPAppDelegate_Shared.h"
|
||||
|
||||
@implementation MPConfig
|
||||
|
@ -763,7 +763,7 @@
|
||||
<boolean value="YES" key="1.IBNSWindowAutoPositionCentersVertical"/>
|
||||
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="1.IBWindowTemplateEditedContentRect">{{357, 418}, {480, 270}}</string>
|
||||
<integer value="1" key="1.NSWindowTemplate.visibleAtLaunch"/>
|
||||
<boolean value="YES" key="1.NSWindowTemplate.visibleAtLaunch"/>
|
||||
<string key="149.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="NO" key="173.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||
<string key="173.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
@ -831,132 +831,7 @@
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">337</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">MPAppDelegate_Shared</string>
|
||||
<string key="superclassName">PearlAppDelegate</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/MPAppDelegate_Shared.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">MPMacAppDelegate</string>
|
||||
<string key="superclassName">MPAppDelegate_Shared</string>
|
||||
<dictionary class="NSMutableDictionary" key="actions">
|
||||
<string key="iphoneAppStore:">id</string>
|
||||
<string key="lock:">id</string>
|
||||
<string key="newUser:">NSMenuItem</string>
|
||||
<string key="rebuildCloud:">id</string>
|
||||
<string key="showPasswordWindow:">id</string>
|
||||
<string key="terminate:">id</string>
|
||||
<string key="togglePreference:">NSMenuItem</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="actionInfosByName">
|
||||
<object class="IBActionInfo" key="iphoneAppStore:">
|
||||
<string key="name">iphoneAppStore:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="lock:">
|
||||
<string key="name">lock:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="newUser:">
|
||||
<string key="name">newUser:</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="rebuildCloud:">
|
||||
<string key="name">rebuildCloud:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="showPasswordWindow:">
|
||||
<string key="name">showPasswordWindow:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="terminate:">
|
||||
<string key="name">terminate:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="togglePreference:">
|
||||
<string key="name">togglePreference:</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="appWindowDontShow">NSButton</string>
|
||||
<string key="createUserItem">NSMenuItem</string>
|
||||
<string key="dialogStyleHUD">NSMenuItem</string>
|
||||
<string key="dialogStyleRegular">NSMenuItem</string>
|
||||
<string key="lockItem">NSMenuItem</string>
|
||||
<string key="rememberPasswordItem">NSMenuItem</string>
|
||||
<string key="savePasswordItem">NSMenuItem</string>
|
||||
<string key="showItem">NSMenuItem</string>
|
||||
<string key="statusMenu">NSMenu</string>
|
||||
<string key="useICloudItem">NSMenuItem</string>
|
||||
<string key="usersItem">NSMenuItem</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="appWindowDontShow">
|
||||
<string key="name">appWindowDontShow</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="createUserItem">
|
||||
<string key="name">createUserItem</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="dialogStyleHUD">
|
||||
<string key="name">dialogStyleHUD</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="dialogStyleRegular">
|
||||
<string key="name">dialogStyleRegular</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="lockItem">
|
||||
<string key="name">lockItem</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="rememberPasswordItem">
|
||||
<string key="name">rememberPasswordItem</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="savePasswordItem">
|
||||
<string key="name">savePasswordItem</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="showItem">
|
||||
<string key="name">showItem</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="statusMenu">
|
||||
<string key="name">statusMenu</string>
|
||||
<string key="candidateClassName">NSMenu</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="useICloudItem">
|
||||
<string key="name">useICloudItem</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="usersItem">
|
||||
<string key="name">usersItem</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/MPMacAppDelegate.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSLayoutConstraint</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/NSLayoutConstraint.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes"/>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
|
@ -9,10 +9,11 @@
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import "MPAppDelegate_Shared.h"
|
||||
#import "MPPasswordWindowController.h"
|
||||
#import "RHStatusItemView.h"
|
||||
|
||||
@interface MPMacAppDelegate : MPAppDelegate_Shared<NSApplicationDelegate>
|
||||
|
||||
@property(nonatomic, strong) NSStatusItem *statusItem;
|
||||
@property(nonatomic, strong) RHStatusItemView *statusView;
|
||||
@property(nonatomic, strong) MPPasswordWindowController *passwordWindow;
|
||||
@property(nonatomic, weak) IBOutlet NSMenuItem *lockItem;
|
||||
@property(nonatomic, weak) IBOutlet NSMenuItem *showItem;
|
||||
|
@ -121,7 +121,7 @@ static OSStatus MPHotKeyHander(EventHandlerCallRef nextHandler, EventRef theEven
|
||||
|
||||
[self updateMenuItems];
|
||||
|
||||
[self.statusItem popUpStatusItemMenu:self.statusMenu];
|
||||
[self.statusView popUpMenu];
|
||||
}
|
||||
|
||||
- (IBAction)togglePreference:(NSMenuItem *)sender {
|
||||
@ -195,6 +195,7 @@ static OSStatus MPHotKeyHander(EventHandlerCallRef nextHandler, EventRef theEven
|
||||
|
||||
- (IBAction)terminate:(id)sender {
|
||||
|
||||
NSLog(@"Closing: Terminating");
|
||||
[self.passwordWindow close];
|
||||
self.passwordWindow = nil;
|
||||
|
||||
@ -205,6 +206,7 @@ static OSStatus MPHotKeyHander(EventHandlerCallRef nextHandler, EventRef theEven
|
||||
|
||||
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://itunes.apple.com/app/id510296984"]];
|
||||
|
||||
NSLog(@"Closing: App Store");
|
||||
[self.appWindowDontShow.window close];
|
||||
self.appWindowDontShow = nil;
|
||||
}
|
||||
@ -233,11 +235,12 @@ static OSStatus MPHotKeyHander(EventHandlerCallRef nextHandler, EventRef theEven
|
||||
} forKeyPath:@"storeManager.cloudAvailable" options:0 context:nil];
|
||||
|
||||
// Status item.
|
||||
self.statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength];
|
||||
self.statusItem.image = [NSImage imageNamed:@"menu-icon"];
|
||||
self.statusItem.highlightMode = YES;
|
||||
self.statusItem.target = self;
|
||||
self.statusItem.action = @selector(showMenu);
|
||||
self.statusView = [[RHStatusItemView alloc] initWithStatusBarItem:
|
||||
[[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength]];
|
||||
self.statusView.image = [NSImage imageNamed:@"menu-icon"];
|
||||
self.statusView.menu = self.statusMenu;
|
||||
self.statusView.target = self;
|
||||
self.statusView.action = @selector(showMenu);
|
||||
|
||||
[[NSNotificationCenter defaultCenter] addObserverForName:USMStoreDidChangeNotification object:nil queue:nil usingBlock:
|
||||
^(NSNotification *note) {
|
||||
@ -259,6 +262,7 @@ static OSStatus MPHotKeyHander(EventHandlerCallRef nextHandler, EventRef theEven
|
||||
if (![self.passwordWindow.window isVisible])
|
||||
self.passwordWindow = nil;
|
||||
else {
|
||||
NSLog(@"Closing: dialogStyleHUD && passwordWindow.isVisible");
|
||||
[self.passwordWindow close];
|
||||
self.passwordWindow = nil;
|
||||
[self showPasswordWindow:nil];
|
||||
@ -281,14 +285,20 @@ static OSStatus MPHotKeyHander(EventHandlerCallRef nextHandler, EventRef theEven
|
||||
if (status != noErr)
|
||||
err(@"Error registering 'lock' hotkey: %d", status);
|
||||
|
||||
// iOS App window
|
||||
if ([[MPMacConfig get].showAppWindow boolValue]) {
|
||||
// Initial display.
|
||||
[NSApp activateIgnoringOtherApps:YES];
|
||||
if (YES || [[MPMacConfig get].showAppWindow boolValue]) {
|
||||
[self.appsWindow = [[NSWindowController alloc] initWithWindowNibName:@"MPAppsWindow" owner:self] showWindow:self];
|
||||
[[NSNotificationCenter defaultCenter] addObserverForName:NSWindowWillCloseNotification object:self.appsWindow.window queue:nil
|
||||
usingBlock:^(NSNotification *note) {
|
||||
[MPMacConfig get].showAppWindow = @(self.appWindowDontShow.state == NSOffState);
|
||||
}];
|
||||
}
|
||||
[[NSOperationQueue mainQueue] addOperation:[NSBlockOperation blockOperationWithBlock:^{
|
||||
if (YES || [[MPMacConfig get].firstRun boolValue]) {
|
||||
[self showMenu];
|
||||
}
|
||||
}]];
|
||||
}
|
||||
|
||||
- (void)setActiveUser:(MPUserEntity *)activeUser {
|
||||
@ -296,6 +306,7 @@ static OSStatus MPHotKeyHander(EventHandlerCallRef nextHandler, EventRef theEven
|
||||
BOOL reopenPasswordWindow = [self.passwordWindow.window isVisible];
|
||||
|
||||
if (![[self activeUserForThread].objectID isEqual:activeUser.objectID]) {
|
||||
NSLog(@"Closing: activeUser changed: %@ -> %@, reopening: %d", [self activeUserForThread].objectID, activeUser.objectID, reopenPasswordWindow);
|
||||
[self.passwordWindow close];
|
||||
self.passwordWindow = nil;
|
||||
[super setActiveUser:activeUser];
|
||||
@ -375,8 +386,10 @@ static OSStatus MPHotKeyHander(EventHandlerCallRef nextHandler, EventRef theEven
|
||||
- (IBAction)showPasswordWindow:(id)sender {
|
||||
|
||||
// If no user, can't activate.
|
||||
if (![self activeUserForThread])
|
||||
if (YES || ![self activeUserForThread]) {
|
||||
[[NSAlert alertWithMessageText:@"No User Selected" defaultButton:[PearlStrings get].commonButtonOkay alternateButton:nil otherButton:nil informativeTextWithFormat:@"Begin by selecting or creating your user from the status menu (●●●|) next to the clock.", nil] runModal];
|
||||
return;
|
||||
}
|
||||
|
||||
// Activate the app if not active.
|
||||
if (![[NSApplication sharedApplication] isActive])
|
||||
|
@ -30,6 +30,7 @@
|
||||
|
||||
- (void)windowDidLoad {
|
||||
|
||||
NSLog(@"DidLoad:\n%@", [NSThread callStackSymbols]);
|
||||
if ([[MPMacConfig get].dialogStyleHUD boolValue])
|
||||
self.window.styleMask = NSHUDWindowMask | NSTitledWindowMask | NSUtilityWindowMask | NSClosableWindowMask;
|
||||
else
|
||||
@ -55,11 +56,13 @@
|
||||
} forKeyPath:@"key" options:NSKeyValueObservingOptionInitial context:nil];
|
||||
[[NSNotificationCenter defaultCenter]
|
||||
addObserverForName:NSWindowDidBecomeKeyNotification object:self.window queue:nil usingBlock:^(NSNotification *note) {
|
||||
NSLog(@"DidBecomeKey:\n%@", [NSThread callStackSymbols]);
|
||||
[self checkLoadedAndUnlocked];
|
||||
[self.siteField selectText:nil];
|
||||
}];
|
||||
[[NSNotificationCenter defaultCenter]
|
||||
addObserverForName:NSWindowWillCloseNotification object:self.window queue:nil usingBlock:^(NSNotification *note) {
|
||||
NSLog(@"WillClose:\n%@", [NSThread callStackSymbols]);
|
||||
NSWindow *sheet = [self.window attachedSheet];
|
||||
if (sheet)
|
||||
[NSApp endSheet:sheet];
|
||||
@ -87,10 +90,12 @@
|
||||
MPUserEntity *activeUser = [MPMacAppDelegate get].activeUserForThread;
|
||||
if (activeUser && !activeUser.saveKey)
|
||||
[self unlock];
|
||||
else
|
||||
else {
|
||||
NSLog(@"Closing: !inProgress && !key && (!activeUser || activeUser.saveKey)");
|
||||
[self.window close];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)checkLoadedAndUnlocked {
|
||||
|
||||
@ -160,6 +165,7 @@
|
||||
- (void)alertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo {
|
||||
|
||||
if (contextInfo == MPAlertIncorrectMP) {
|
||||
NSLog(@"Closing: Incorrect MP, button: %ld", returnCode);
|
||||
[self.window close];
|
||||
return;
|
||||
}
|
||||
@ -191,6 +197,7 @@
|
||||
|
||||
case NSAlertOtherReturn: {
|
||||
// "Cancel" button.
|
||||
NSLog(@"Closing: Unlock MP, button: %ld", (long)returnCode);
|
||||
[self.window close];
|
||||
return;
|
||||
}
|
||||
@ -288,6 +295,7 @@
|
||||
- (BOOL)control:(NSControl *)control textView:(NSTextView *)fieldEditor doCommandBySelector:(SEL)commandSelector {
|
||||
|
||||
if (commandSelector == @selector(cancel:)) { // Escape without completion.
|
||||
NSLog(@"Closing: ESC without completion");
|
||||
[self.window close];
|
||||
return YES;
|
||||
}
|
||||
|
@ -68,6 +68,9 @@
|
||||
DA5E5D0C1724A667003798D8 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DA5E5CC61724A667003798D8 /* main.m */; };
|
||||
DA5E5D0D1724A667003798D8 /* MasterPassword.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = DA5E5CC71724A667003798D8 /* MasterPassword.xcdatamodeld */; };
|
||||
DA5E5D551724F9C8003798D8 /* MasterPassword.iconset in Resources */ = {isa = PBXBuildFile; fileRef = DA5E5D541724F9C8003798D8 /* MasterPassword.iconset */; };
|
||||
DABC6C02175D8C85000C15D4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; };
|
||||
DABC6C15175D8CE1000C15D4 /* RHStatusItemView.m in Sources */ = {isa = PBXBuildFile; fileRef = DABC6C14175D8CE1000C15D4 /* RHStatusItemView.m */; };
|
||||
DABC6C16175D8E3A000C15D4 /* libRHStatusItemView.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DABC6C01175D8C85000C15D4 /* libRHStatusItemView.a */; };
|
||||
DAC6326D148680650075AEA5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; };
|
||||
DAC77CAE148291A600BCF976 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; };
|
||||
DACA22BB1705DE7D002C6C22 /* UbiquityStoreManager.m in Sources */ = {isa = PBXBuildFile; fileRef = DACA22B71705DE7D002C6C22 /* UbiquityStoreManager.m */; };
|
||||
@ -188,6 +191,18 @@
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
DABC6BFF175D8C85000C15D4 /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "include/${PRODUCT_NAME}";
|
||||
dstSubfolderSpec = 16;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
93D39067C0AFDC581794E2B8 /* NSArray+Indexing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+Indexing.m"; sourceTree = "<group>"; };
|
||||
93D393B97158D7BE9332EA53 /* NSDictionary+Indexing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+Indexing.h"; sourceTree = "<group>"; };
|
||||
@ -275,6 +290,9 @@
|
||||
DA6701DD16406B7300B61001 /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; };
|
||||
DA672D2E14F92C6B004A189C /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
|
||||
DABB981515100B4000B05417 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
|
||||
DABC6C01175D8C85000C15D4 /* libRHStatusItemView.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRHStatusItemView.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
DABC6C13175D8CE1000C15D4 /* RHStatusItemView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RHStatusItemView.h; sourceTree = "<group>"; };
|
||||
DABC6C14175D8CE1000C15D4 /* RHStatusItemView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RHStatusItemView.m; sourceTree = "<group>"; };
|
||||
DAC6326C148680650075AEA5 /* libjrswizzle.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libjrswizzle.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
DAC632871486D95D0075AEA5 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
|
||||
DAC77CAD148291A600BCF976 /* libPearl.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPearl.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
@ -407,6 +425,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
DABC6C16175D8E3A000C15D4 /* libRHStatusItemView.a in Frameworks */,
|
||||
DA16B33F170661D4000A0EAB /* libUbiquityStoreManager.a in Frameworks */,
|
||||
DA16B341170661DB000A0EAB /* Carbon.framework in Frameworks */,
|
||||
DA16B342170661E0000A0EAB /* Security.framework in Frameworks */,
|
||||
@ -415,6 +434,14 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
DABC6BFE175D8C85000C15D4 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
DABC6C02175D8C85000C15D4 /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
DAC63269148680650075AEA5 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@ -455,6 +482,7 @@
|
||||
DAC6326C148680650075AEA5 /* libjrswizzle.a */,
|
||||
DA4425CB1557BED40052177D /* libUbiquityStoreManager.a */,
|
||||
DA3EF17915A47744003ABF4E /* Tests.octest */,
|
||||
DABC6C01175D8C85000C15D4 /* libRHStatusItemView.a */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@ -563,6 +591,16 @@
|
||||
path = Mac;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
DABC6C0E175D8CE1000C15D4 /* RHStatusItemView */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DABC6C13175D8CE1000C15D4 /* RHStatusItemView.h */,
|
||||
DABC6C14175D8CE1000C15D4 /* RHStatusItemView.m */,
|
||||
);
|
||||
name = RHStatusItemView;
|
||||
path = RHStatusItemView/RHStatusItemView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
DAC77CAF148291A600BCF976 /* Pearl */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@ -576,6 +614,7 @@
|
||||
DACA22121705DDC5002C6C22 /* External */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DABC6C0E175D8CE1000C15D4 /* RHStatusItemView */,
|
||||
DACA29751705E2BD002C6C22 /* jrswizzle */,
|
||||
DACA22181705DE28002C6C22 /* Crashlytics.framework */,
|
||||
DAC77CAF148291A600BCF976 /* Pearl */,
|
||||
@ -928,6 +967,23 @@
|
||||
productReference = DA5BFA44147E415C00F98B1E /* Master Password.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
DABC6C00175D8C85000C15D4 /* RHStatusItemView */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = DABC6C0A175D8C85000C15D4 /* Build configuration list for PBXNativeTarget "RHStatusItemView" */;
|
||||
buildPhases = (
|
||||
DABC6BFD175D8C85000C15D4 /* Sources */,
|
||||
DABC6BFE175D8C85000C15D4 /* Frameworks */,
|
||||
DABC6BFF175D8C85000C15D4 /* CopyFiles */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = RHStatusItemView;
|
||||
productName = RHStatusItemView;
|
||||
productReference = DABC6C01175D8C85000C15D4 /* libRHStatusItemView.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
DAC6326B148680650075AEA5 /* jrswizzle */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = DAC63274148680650075AEA5 /* Build configuration list for PBXNativeTarget "jrswizzle" */;
|
||||
@ -991,6 +1047,7 @@
|
||||
DAC77CAC148291A600BCF976 /* Pearl */,
|
||||
DAC6326B148680650075AEA5 /* jrswizzle */,
|
||||
DA4425CA1557BED40052177D /* UbiquityStoreManager */,
|
||||
DABC6C00175D8C85000C15D4 /* RHStatusItemView */,
|
||||
DA3EF17815A47744003ABF4E /* Tests */,
|
||||
);
|
||||
};
|
||||
@ -1164,6 +1221,14 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
DABC6BFD175D8C85000C15D4 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
DABC6C15175D8CE1000C15D4 /* RHStatusItemView.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
DAC63268148680650075AEA5 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@ -1646,6 +1711,24 @@
|
||||
};
|
||||
name = "AppStore-Mac";
|
||||
};
|
||||
DABC6C0B175D8C85000C15D4 /* Debug-Mac */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "Debug-Mac";
|
||||
};
|
||||
DABC6C0C175D8C85000C15D4 /* AdHoc-Mac */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "AdHoc-Mac";
|
||||
};
|
||||
DABC6C0D175D8C85000C15D4 /* AppStore-Mac */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "AppStore-Mac";
|
||||
};
|
||||
DAC63275148680650075AEA5 /* Debug-Mac */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
@ -1747,6 +1830,15 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = "AdHoc-Mac";
|
||||
};
|
||||
DABC6C0A175D8C85000C15D4 /* Build configuration list for PBXNativeTarget "RHStatusItemView" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
DABC6C0B175D8C85000C15D4 /* Debug-Mac */,
|
||||
DABC6C0C175D8C85000C15D4 /* AdHoc-Mac */,
|
||||
DABC6C0D175D8C85000C15D4 /* AppStore-Mac */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
};
|
||||
DAC63274148680650075AEA5 /* Build configuration list for PBXNativeTarget "jrswizzle" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 230 B After Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
Before Width: | Height: | Size: 351 B After Width: | Height: | Size: 1.4 KiB |
Loading…
Reference in New Issue
Block a user