2
0

Catch commands when sites table is active.

[REMOVED]   Love Lyndir, just linking to http://thanks.lhunath.com now.
[UPDATED]   PearlString -> strf
[ADDED]     Catching commands when the sites table view is active too (enter/esc/..)
This commit is contained in:
Maarten Billemont 2014-06-30 21:00:25 -04:00
parent 9816e783e7
commit 06a150792d
14 changed files with 115 additions and 236 deletions

3
.gitmodules vendored
View File

@ -10,6 +10,3 @@
[submodule "External/RHStatusItemView"]
path = External/RHStatusItemView
url = git://github.com/lhunath/RHStatusItemView.git
[submodule "External/LoveLyndir"]
path = External/LoveLyndir
url = git://github.com/Lyndir/love-lyndir.client.git

View File

@ -1,6 +1,6 @@
language: objective-c
xcode_workspace: MasterPassword.xcworkspace
xcode_scheme: "'MasterPassword iOS (Development)'"
xcode_scheme: "MasterPassword iOS (Development)"
xcode_sdk: iphonesimulator
git:
submodules: false

1
External/LoveLyndir vendored

@ -1 +0,0 @@
Subproject commit 74ec57e46143ce33d01afd9cea89abe7ed97628d

2
External/Pearl vendored

@ -1 +1 @@
Subproject commit 59dc05c9cca43504bad026dc4633dbba34b4cc43
Subproject commit bcc29c2b07a9d95701dc5e607113d69e75bf3ce2

View File

@ -24,7 +24,7 @@ id<MPAlgorithm> MPAlgorithmForVersion(NSUInteger version) {
versionToAlgorithm = [NSMutableDictionary dictionary];
id<MPAlgorithm> algorithm = versionToAlgorithm[@(version)];
if (!algorithm) if ((algorithm = [NSClassFromString( PearlString( @"MPAlgorithmV%lu", (unsigned long)version ) ) new]))
if (!algorithm) if ((algorithm = [NSClassFromString( strf( @"MPAlgorithmV%lu", (unsigned long)version ) ) new]))
versionToAlgorithm[@(version)] = algorithm;
return algorithm;

View File

@ -0,0 +1,27 @@
/**
* Copyright Maarten Billemont (http://www.lhunath.com, lhunath@lyndir.com)
*
* See the enclosed file LICENSE for license information (LGPLv3). If you did
* not receive this file, see http://www.gnu.org/licenses/lgpl-3.0.txt
*
* @author Maarten Billemont <lhunath@lyndir.com>
* @license http://www.gnu.org/licenses/lgpl-3.0.txt
*/
//
// MPElementsTableView.h
// MPElementsTableView
//
// Created by lhunath on 2014-06-30.
// Copyright, lhunath (Maarten Billemont) 2014. All rights reserved.
//
#import <AppKit/AppKit.h>
@class MPPasswordWindowController;
@interface MPElementsTableView : NSTableView
@property(nonatomic, weak) MPPasswordWindowController *controller;
@end

View File

@ -0,0 +1,34 @@
/**
* Copyright Maarten Billemont (http://www.lhunath.com, lhunath@lyndir.com)
*
* See the enclosed file LICENSE for license information (LGPLv3). If you did
* not receive this file, see http://www.gnu.org/licenses/lgpl-3.0.txt
*
* @author Maarten Billemont <lhunath@lyndir.com>
* @license http://www.gnu.org/licenses/lgpl-3.0.txt
*/
//
// MPElementsTableView.h
// MPElementsTableView
//
// Created by lhunath on 2014-06-30.
// Copyright, lhunath (Maarten Billemont) 2014. All rights reserved.
//
#import "MPElementsTableView.h"
#import "MPPasswordWindowController.h"
@implementation MPElementsTableView
- (void)doCommandBySelector:(SEL)aSelector {
[self.controller handleCommand:aSelector];
}
- (void)keyDown:(NSEvent *)theEvent {
[self interpretKeyEvents:@[ theEvent ]];
}
@end

View File

@ -18,6 +18,7 @@
#import <Cocoa/Cocoa.h>
#import "MPElementModel.h"
#import "MPElementsTableView.h"
@class MPMacAppDelegate;
@ -34,10 +35,12 @@
@property(nonatomic, weak) IBOutlet NSTextField *securePasswordField;
@property(nonatomic, weak) IBOutlet NSTextField *revealPasswordField;
@property(nonatomic, weak) IBOutlet NSSearchField *siteField;
@property(nonatomic, weak) IBOutlet NSTableView *siteTable;
@property(nonatomic, weak) IBOutlet MPElementsTableView *siteTable;
@property(nonatomic, weak) IBOutlet NSProgressIndicator *progressView;
@property(nonatomic, strong) IBOutlet NSBox *passwordTypesBox;
@property(nonatomic, weak) IBOutlet NSMatrix *passwordTypesMatrix;
- (BOOL)handleCommand:(SEL)commandSelector;
@end

View File

@ -91,6 +91,8 @@
self.siteGradient.autoresizingMask = kCALayerWidthSizable | kCALayerHeightSizable;
self.siteGradient.frame = self.siteTable.bounds;
self.siteTable.superview.superview.layer.mask = self.siteGradient;
self.siteTable.controller = self;
}
- (void)flagsChanged:(NSEvent *)theEvent {
@ -116,6 +118,7 @@
- (void)doCommandBySelector:(SEL)commandSelector {
dbg( @"doCommandBySelector: %@", NSStringFromSelector( commandSelector ) );
[self handleCommand:commandSelector];
}
@ -123,24 +126,17 @@
- (BOOL)control:(NSControl *)control textView:(NSTextView *)fieldEditor doCommandBySelector:(SEL)commandSelector {
dbg( @"@control:%@ textView:%@ doCommandBySelector:%@", control, fieldEditor, NSStringFromSelector( commandSelector ) );
if (control == self.siteField) {
if (commandSelector == @selector( insertNewline: )) {
[self useSite];
return YES;
}
if (commandSelector == @selector( moveUp: )) {
[self.elementsController selectPrevious:self];
return YES;
}
if (commandSelector == @selector( moveDown: )) {
[self.elementsController selectNext:self];
return YES;
}
if ([NSStringFromSelector( commandSelector ) rangeOfString:@"delete"].location == 0) {
_skipTextChange = YES;
return NO;
}
}
if (control == self.securePasswordField || control == self.revealPasswordField) {
if (commandSelector == @selector( insertNewline: ))
return NO;
}
return [self handleCommand:commandSelector];
}
@ -166,7 +162,7 @@
[self.progressView stopAnimation:self];
if (!success)
[[NSAlert alertWithError:[NSError errorWithDomain:MPErrorDomain code:0 userInfo:@{
NSLocalizedDescriptionKey : PearlString( @"Incorrect master password for user %@", userName )
NSLocalizedDescriptionKey : strf( @"Incorrect master password for user %@", userName )
}]] beginSheetModalForWindow:self.window modalDelegate:self
didEndSelector:@selector( alertDidEnd:returnCode:contextInfo: ) contextInfo:MPAlertIncorrectMP];
} );
@ -182,6 +178,7 @@
- (BOOL)textView:(NSTextView *)textView doCommandBySelector:(SEL)commandSelector {
dbg( @"textView:%@doCommandBySelector:%@", textView, NSStringFromSelector( commandSelector ) );
return [self handleCommand:commandSelector];
}
@ -192,6 +189,8 @@
return (NSInteger)[self.elements count];
}
#pragma mark - NSTableViewDelegate
#pragma mark - NSAlert
- (void)alertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo {
@ -428,6 +427,18 @@
- (BOOL)handleCommand:(SEL)commandSelector {
if (commandSelector == @selector( moveUp: )) {
[self.elementsController selectPrevious:self];
return YES;
}
if (commandSelector == @selector( moveDown: )) {
[self.elementsController selectNext:self];
return YES;
}
if (commandSelector == @selector( insertNewline: )) {
[self useSite];
return YES;
}
if (commandSelector == @selector( cancel: ) || commandSelector == @selector( cancelOperation: )) {
[self fadeOut];
return YES;
@ -448,7 +459,7 @@
NSUserNotification *notification = [NSUserNotification new];
notification.title = @"Password Copied";
if (selectedElement.loginName.length)
notification.subtitle = PearlString( @"%@ at %@", selectedElement.loginName, selectedElement.siteName );
notification.subtitle = strf( @"%@ at %@", selectedElement.loginName, selectedElement.siteName );
else
notification.subtitle = selectedElement.siteName;
[[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:notification];
@ -567,7 +578,7 @@
[alert addButtonWithTitle:@"Create"];
[alert addButtonWithTitle:@"Cancel"];
[alert setMessageText:@"Create site?"];
[alert setInformativeText:PearlString( @"Do you want to create a new site named:\n\n%@", siteName )];
[alert setInformativeText:strf( @"Do you want to create a new site named:\n\n%@", siteName )];
[alert beginSheetModalForWindow:self.window modalDelegate:self
didEndSelector:@selector( alertDidEnd:returnCode:contextInfo: ) contextInfo:MPAlertCreateSite];
} );

View File

@ -139,13 +139,13 @@
</binding>
</connections>
</button>
<scrollView focusRingType="none" borderType="none" autohidesScrollers="YES" horizontalLineScroll="35" horizontalPageScroll="10" verticalLineScroll="35" verticalPageScroll="10" hasHorizontalScroller="NO" horizontalScrollElasticity="none" translatesAutoresizingMaskIntoConstraints="NO" id="Bme-XK-MMc" userLabel="Sites Table">
<scrollView focusRingType="none" borderType="none" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" hasHorizontalScroller="NO" horizontalScrollElasticity="none" translatesAutoresizingMaskIntoConstraints="NO" id="Bme-XK-MMc" userLabel="Sites Table">
<rect key="frame" x="64" y="80" width="512" height="147"/>
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="e11-59-xSS">
<rect key="frame" x="0.0" y="0.0" width="512" height="147"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="none" selectionHighlightStyle="sourceList" columnReordering="NO" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowHeight="33" rowSizeStyle="automatic" viewBased="YES" floatsGroupRows="NO" id="xvJ-5c-vDp">
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" selectionHighlightStyle="sourceList" columnReordering="NO" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" viewBased="YES" floatsGroupRows="NO" id="xvJ-5c-vDp" customClass="MPElementsTableView">
<rect key="frame" x="0.0" y="0.0" width="515" height="147"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
@ -158,7 +158,7 @@
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" refusesFirstResponder="YES" alignment="left" title="Text Cell" id="dRO-6J-4JL">
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="dRO-6J-4JL">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
@ -175,7 +175,7 @@
<size key="offset" width="0.0" height="1"/>
<color key="color" white="0.0" alpha="0.80000000000000004" colorSpace="calibratedWhite"/>
</shadow>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" alignment="center" title="apple.com" id="o0g-Zv-pH4">
<textFieldCell key="cell" lineBreakMode="truncatingTail" alignment="center" title="apple.com" id="o0g-Zv-pH4">
<font key="font" size="24" name="HelveticaNeue-Thin"/>
<color key="textColor" name="highlightColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
@ -186,7 +186,6 @@
<bool key="NSContinuouslyUpdatesValue" value="YES"/>
</dictionary>
</binding>
<outlet property="delegate" destination="-2" id="D71-xM-D7S"/>
</connections>
</textField>
</subviews>

View File

@ -9,6 +9,7 @@
/* Begin PBXBuildFile section */
93D390C676DF52DA7E459F19 /* MPPasswordWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39D9D0061FF1159998F06 /* MPPasswordWindow.m */; };
93D392EC39DA43C46C692C12 /* NSDictionary+Indexing.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D393B97158D7BE9332EA53 /* NSDictionary+Indexing.h */; };
93D394C4254EEB45FB335AFB /* MPElementsTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39423D7BF4FD31FE6D27C /* MPElementsTableView.m */; };
93D395F08A087F8A24689347 /* NSArray+Indexing.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39067C0AFDC581794E2B8 /* NSArray+Indexing.m */; };
93D3970BCF85F7902E611168 /* PearlProfiler.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39DB3A8ADED08C39A6228 /* PearlProfiler.m */; };
93D39784E725A34D1EE3FB3B /* MPInitialWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39D3CB30874147D9A9E1B /* MPInitialWindowController.m */; };
@ -310,11 +311,13 @@
93D392C3918763B3B72CF366 /* MPPasswordWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordWindowController.h; sourceTree = "<group>"; };
93D39368EF3CBFEF2AFCA15A /* MPInitialWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPInitialWindowController.h; sourceTree = "<group>"; };
93D393B97158D7BE9332EA53 /* NSDictionary+Indexing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+Indexing.h"; sourceTree = "<group>"; };
93D39423D7BF4FD31FE6D27C /* MPElementsTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPElementsTableView.m; sourceTree = "<group>"; };
93D394EEFF5BF555A55AF361 /* PearlProfiler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PearlProfiler.h; path = ../../../External/Pearl/Pearl/PearlProfiler.h; sourceTree = "<group>"; };
93D396D04E57792A54D437AC /* NSArray+Indexing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+Indexing.h"; sourceTree = "<group>"; };
93D3977484534E99F9BA579D /* MPPasswordWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordWindow.h; sourceTree = "<group>"; };
93D39A57A7823DE98A0FF83C /* MPPasswordWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordWindowController.m; sourceTree = "<group>"; };
93D39AA1EE2E1E7B81372240 /* NSDictionary+Indexing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+Indexing.m"; sourceTree = "<group>"; };
93D39AC6360DDC16AEAA4119 /* MPElementsTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPElementsTableView.h; sourceTree = "<group>"; };
93D39D3CB30874147D9A9E1B /* MPInitialWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPInitialWindowController.m; sourceTree = "<group>"; };
93D39D9D0061FF1159998F06 /* MPPasswordWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordWindow.m; sourceTree = "<group>"; };
93D39DB3A8ADED08C39A6228 /* PearlProfiler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PearlProfiler.m; path = ../../../External/Pearl/Pearl/PearlProfiler.m; sourceTree = "<group>"; };
@ -1215,6 +1218,8 @@
93D3977484534E99F9BA579D /* MPPasswordWindow.h */,
93D39D3CB30874147D9A9E1B /* MPInitialWindowController.m */,
93D39368EF3CBFEF2AFCA15A /* MPInitialWindowController.h */,
93D39423D7BF4FD31FE6D27C /* MPElementsTableView.m */,
93D39AC6360DDC16AEAA4119 /* MPElementsTableView.h */,
);
path = Mac;
sourceTree = "<group>";
@ -2472,6 +2477,7 @@
93D39F833DEC1C89B2F795AC /* MPPasswordWindowController.m in Sources */,
93D390C676DF52DA7E459F19 /* MPPasswordWindow.m in Sources */,
93D39784E725A34D1EE3FB3B /* MPInitialWindowController.m in Sources */,
93D394C4254EEB45FB335AFB /* MPElementsTableView.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View File

@ -124,7 +124,7 @@
NSError *error = nil;
NSPersistentStore *store = nil;
NSUInteger firstDash = [storeUUID rangeOfString:@"-" options:0].location;
NSString *storeDescription = PearlString( @"%@ v%@",
NSString *storeDescription = strf( @"%@ v%@",
firstDash == NSNotFound? storeUUID: [storeUUID substringToIndex:firstDash],
cloudStoreOptions[USMCloudVersionKey] );
if ([cloudStoreOptions[USMCloudCurrentKey] boolValue])
@ -148,7 +148,7 @@
continue;
}
storeDescription = PearlString( @"%@: %luU, %luS", storeDescription, (unsigned long)userCount, (unsigned long)siteCount );
storeDescription = strf( @"%@: %luU, %luS", storeDescription, (unsigned long)userCount, (unsigned long)siteCount );
}
@catch (NSException *exception) {
wrn(@"Couldn't describe store %@: %@", storeDescription, exception);
@ -166,7 +166,7 @@
PearlArrayTVC *vc = [[PearlArrayTVC alloc] initWithStyle:UITableViewStylePlain];
NSUInteger firstDash = [currentStoreUUID rangeOfString:@"-" options:0].location;
vc.title = PearlString( @"Active: %@", firstDash == NSNotFound? currentStoreUUID: [currentStoreUUID substringToIndex:firstDash] );
vc.title = strf( @"Active: %@", firstDash == NSNotFound? currentStoreUUID: [currentStoreUUID substringToIndex:firstDash] );
[stores enumerateKeysAndObjectsUsingBlock:^(id storeDescription, id cloudStoreOptions, BOOL *stop) {
[vc addRowWithName:storeDescription style:PearlArrayTVCRowStyleLink toggled:[cloudStoreOptions[USMCloudCurrentKey] boolValue]
toSection:@"Cloud Stores" activationBlock:^BOOL(BOOL wasToggled) {

View File

@ -207,8 +207,8 @@
dispatch_group_t userPasswordGroup = dispatch_group_create();
dispatch_group_enter( userPasswordGroup );
dispatch_async( dispatch_get_main_queue(), ^{
[PearlAlert showAlertWithTitle:PearlString( @"Master Password for\n%@", userName )
message:PearlString( @"Imports %lu sites, overwriting %lu.",
[PearlAlert showAlertWithTitle:strf( @"Master Password for\n%@", userName )
message:strf( @"Imports %lu sites, overwriting %lu.",
(unsigned long)importCount, (unsigned long)deleteCount )
viewStyle:UIAlertViewStyleSecureTextInput
initAlert:nil tappedButtonBlock:^(UIAlertView *alert_, NSInteger buttonIndex_) {
@ -317,9 +317,9 @@
logLevel = PearlLogLevelDebug;
[[[PearlEMail alloc] initForEMailTo:@"Master Password Development <masterpassword@lyndir.com>"
subject:PearlString( @"Feedback for Master Password [%@]",
subject:strf( @"Feedback for Master Password [%@]",
[[PearlKeyChain deviceIdentifier] stringByDeletingMatchesOf:@"-.*"] )
body:PearlString( @"\n\n\n"
body:strf( @"\n\n\n"
@"--\n"
@"%@"
@"Master Password %@, build %@",
@ -332,7 +332,7 @@
initWithContent:[[[PearlLogger get] formatMessagesWithLevel:logLevel]
dataUsingEncoding:NSUTF8StringEncoding]
mimeType:@"text/plain"
fileName:PearlString( @"%@-%@.log",
fileName:strf( @"%@-%@.log",
[[NSDateFormatter rfc3339DateFormatter] stringFromDate:[NSDate date]],
[PearlKeyChain deviceIdentifier] )]
: nil), nil]
@ -388,7 +388,7 @@
NSString *message;
if (revealPasswords)
message = PearlString( @"Export of Master Password sites with passwords included.\n\n"
message = strf( @"Export of Master Password sites with passwords included.\n\n"
@"REMINDER: Make sure nobody else sees this file! Passwords are visible!\n\n\n"
@"--\n"
@"%@\n"
@ -397,7 +397,7 @@
[PearlInfoPlist get].CFBundleShortVersionString,
[PearlInfoPlist get].CFBundleVersion );
else
message = PearlString( @"Backup of Master Password sites.\n\n\n"
message = strf( @"Backup of Master Password sites.\n\n\n"
@"--\n"
@"%@\n"
@"Master Password %@, build %@",
@ -412,7 +412,7 @@
[PearlEMail sendEMailTo:nil fromVC:viewController subject:@"Master Password Export" body:message
attachments:[[PearlEMailAttachment alloc] initWithContent:[exportedSites dataUsingEncoding:NSUTF8StringEncoding]
mimeType:@"text/plain" fileName:
PearlString( @"%@ (%@).mpsites", [self activeUserForMainThread].name,
strf( @"%@ (%@).mpsites", [self activeUserForMainThread].name,
[exportDateFormatter stringFromDate:[NSDate date]] )],
nil];
}

View File

@ -11,7 +11,6 @@
93D391ECBD9BD2C64115B5DD /* PearlSizedTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39156E806BB78E04F78B9 /* PearlSizedTextView.m */; };
93D391ED37C9F687FA51EAA1 /* MPEmergencySegue.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D3937712BF1B67623E5764 /* MPEmergencySegue.m */; };
93D3922A53E41A54832E90D9 /* PearlOverlay.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D390FADEB325D8D54A957D /* PearlOverlay.m */; };
93D39233C3EDD9A947ABA52D /* LLButtonView.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39BF6BCBDFFE844E7D34C /* LLButtonView.m */; };
93D39262A8A97DB748213309 /* PearlEMail.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D393BB973253D4BAAC84AA /* PearlEMail.m */; };
93D392A8777DC30C11361647 /* UITextView+PearlAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D39AA10CD00D05937671B1 /* UITextView+PearlAttributes.h */; };
93D392EC39DA43C46C692C12 /* NSDictionary+Indexing.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D393B97158D7BE9332EA53 /* NSDictionary+Indexing.h */; };
@ -46,7 +45,6 @@
93D39B8F90F58A5D158DDBA3 /* MPPasswordsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D3924EE15017F8A12CB436 /* MPPasswordsViewController.m */; };
93D39BA1EA3CAAC8A220B4A6 /* MPAppSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D3916C1D8F1427DFBDEBCA /* MPAppSettingsViewController.m */; };
93D39C34FE35830EF5BE1D2A /* NSArray+Indexing.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D396D04E57792A54D437AC /* NSArray+Indexing.h */; };
93D39C8AD8EAB747856B3A8C /* LLModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D3923B42DA2DA18F287092 /* LLModel.m */; };
93D39CB5E2EC1078E898F46A /* MPPasswordLargeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D3937863061C3916AF7AD2 /* MPPasswordLargeCell.m */; };
93D39D596A2E376D6F6F5DA1 /* MPCombinedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D393310223DDB35218467A /* MPCombinedViewController.m */; };
93D39D8F78978196D6ABDEDE /* MPNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39CC01630D0421205C4C4 /* MPNavigationController.m */; };
@ -135,7 +133,6 @@
DA67461018DE7F0C00DFE240 /* Exo2.0-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = DA67460C18DE7F0C00DFE240 /* Exo2.0-Bold.otf */; };
DA69540617D975D900BF294E /* icon_gears.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD37841711E29500CF925C /* icon_gears.png */; };
DA69540717D975D900BF294E /* icon_gears@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD37851711E29500CF925C /* icon_gears@2x.png */; };
DA70EC801811B13C00F65DB2 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA70EC7F1811B13C00F65DB2 /* StoreKit.framework */; };
DA73049D194E022700E72520 /* ui_spinner.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD36511711E29400CF925C /* ui_spinner.png */; };
DA73049E194E022700E72520 /* ui_spinner@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD36521711E29400CF925C /* ui_spinner@2x.png */; };
DA73049F194E022B00E72520 /* ui_textfield.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD365B1711E29400CF925C /* ui_textfield.png */; };
@ -147,8 +144,6 @@
DA854C8418D4CFBF00106317 /* avatar-add.png in Resources */ = {isa = PBXBuildFile; fileRef = DA854C8218D4CFBF00106317 /* avatar-add.png */; };
DA945C8717E3F3FD0053236B /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DA945C8617E3F3FD0053236B /* Images.xcassets */; };
DA95D5F214DF0B2C008D1B94 /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA95D5F014DF0B1E008D1B94 /* MessageUI.framework */; };
DA9B51551895D79E009D2A0B /* gittip.png in Resources */ = {isa = PBXBuildFile; fileRef = DA9B51541895D79E009D2A0B /* gittip.png */; };
DA9B51581895D853009D2A0B /* LLGitTip.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9B51561895D853009D2A0B /* LLGitTip.m */; };
DAA141201922FF020032B392 /* PearlTween.m in Sources */ = {isa = PBXBuildFile; fileRef = DAA1411C1922FF020032B392 /* PearlTween.m */; };
DAA141211922FF020032B392 /* PearlTween.h in Headers */ = {isa = PBXBuildFile; fileRef = DAA1411D1922FF020032B392 /* PearlTween.h */; };
DAA141221922FF020032B392 /* map-macro.h in Headers */ = {isa = PBXBuildFile; fileRef = DAA1411F1922FF020032B392 /* map-macro.h */; };
@ -269,24 +264,6 @@
DACA29BE1705E2DE002C6C22 /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = DACA29BA1705E2DE002C6C22 /* UIColor+Expanded.m */; };
DACA29BF1705E2DE002C6C22 /* UIColor+HSV.m in Sources */ = {isa = PBXBuildFile; fileRef = DACA29BB1705E2DE002C6C22 /* UIColor+HSV.m */; };
DAD312C21552A22700A3F9ED /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DAD312C01552A20800A3F9ED /* libsqlite3.dylib */; };
DADEF4121810D2940052CA3E /* love-lyndir.button.green.png in Resources */ = {isa = PBXBuildFile; fileRef = DADEF4061810D2940052CA3E /* love-lyndir.button.green.png */; };
DADEF4131810D2940052CA3E /* love-lyndir.button.green@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DADEF4071810D2940052CA3E /* love-lyndir.button.green@2x.png */; };
DADEF4141810D2940052CA3E /* love-lyndir.button.grey.png in Resources */ = {isa = PBXBuildFile; fileRef = DADEF4081810D2940052CA3E /* love-lyndir.button.grey.png */; };
DADEF4151810D2940052CA3E /* love-lyndir.button.grey@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DADEF4091810D2940052CA3E /* love-lyndir.button.grey@2x.png */; };
DADEF4161810D2940052CA3E /* love-lyndir.button.red.png in Resources */ = {isa = PBXBuildFile; fileRef = DADEF40A1810D2940052CA3E /* love-lyndir.button.red.png */; };
DADEF4171810D2940052CA3E /* love-lyndir.button.red@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DADEF40B1810D2940052CA3E /* love-lyndir.button.red@2x.png */; };
DADEF4181810D2940052CA3E /* love-lyndir.heart.green.png in Resources */ = {isa = PBXBuildFile; fileRef = DADEF40C1810D2940052CA3E /* love-lyndir.heart.green.png */; };
DADEF4191810D2940052CA3E /* love-lyndir.heart.green@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DADEF40D1810D2940052CA3E /* love-lyndir.heart.green@2x.png */; };
DADEF41A1810D2940052CA3E /* love-lyndir.heart.grey.png in Resources */ = {isa = PBXBuildFile; fileRef = DADEF40E1810D2940052CA3E /* love-lyndir.heart.grey.png */; };
DADEF41B1810D2940052CA3E /* love-lyndir.heart.grey@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DADEF40F1810D2940052CA3E /* love-lyndir.heart.grey@2x.png */; };
DADEF41C1810D2940052CA3E /* love-lyndir.heart.red.png in Resources */ = {isa = PBXBuildFile; fileRef = DADEF4101810D2940052CA3E /* love-lyndir.heart.red.png */; };
DADEF41D1810D2940052CA3E /* love-lyndir.heart.red@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DADEF4111810D2940052CA3E /* love-lyndir.heart.red@2x.png */; };
DADEF4231810D5530052CA3E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; };
DADEF4471810D5850052CA3E /* LLToggleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39C8E26B06F01566785B7 /* LLToggleViewController.m */; };
DADEF44B1810E7F30052CA3E /* love-lyndir.picker.png in Resources */ = {isa = PBXBuildFile; fileRef = DADEF4491810E7F30052CA3E /* love-lyndir.picker.png */; };
DADEF44C1810E7F30052CA3E /* love-lyndir.picker@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DADEF44A1810E7F30052CA3E /* love-lyndir.picker@2x.png */; };
DADEF44D1810F9BF0052CA3E /* libLoveLyndir.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DADEF4221810D5530052CA3E /* libLoveLyndir.a */; };
DADEF44E1810FA3B0052CA3E /* LoveLyndir.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DADEF4481810D5A70052CA3E /* LoveLyndir.storyboard */; };
DAE1EF2217E942DE00BC0086 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = DAE1EF2417E942DE00BC0086 /* Localizable.strings */; };
DAEB933318AA537D000490CC /* crypto_aesctr.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92E118AA537D000490CC /* crypto_aesctr.h */; };
DAEB933418AA537D000490CC /* crypto_scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92E218AA537D000490CC /* crypto_scrypt.h */; };
@ -475,23 +452,10 @@
DAFFC63F17EDDA7C007BB020 /* libscryptenc-ios.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAFFC63E17EDDA7C007BB020 /* libscryptenc-ios.a */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
DADEF4201810D5530052CA3E /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "include/$(PRODUCT_NAME)";
dstSubfolderSpec = 16;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
93D390519405B76CC6A57C4F /* MPCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPCell.h; sourceTree = "<group>"; };
93D39067C0AFDC581794E2B8 /* NSArray+Indexing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+Indexing.m"; sourceTree = "<group>"; };
93D39097C0AAE62C1C321BFC /* MPPasswordTypesCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordTypesCell.m; sourceTree = "<group>"; };
93D390A66F69AB1CDB0BFF93 /* LLModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LLModel.h; sourceTree = "<group>"; };
93D390FADEB325D8D54A957D /* PearlOverlay.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlOverlay.m; sourceTree = "<group>"; };
93D390FB3110DCCE68E600DC /* UIScrollView+PearlAdjustInsets.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIScrollView+PearlAdjustInsets.m"; sourceTree = "<group>"; };
93D390FD93EFCFECB5193DEF /* MPPasswordsCoachmarkViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordsCoachmarkViewController.h; sourceTree = "<group>"; };
@ -500,7 +464,6 @@
93D39156E806BB78E04F78B9 /* PearlSizedTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlSizedTextView.m; sourceTree = "<group>"; };
93D3916C1D8F1427DFBDEBCA /* MPAppSettingsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAppSettingsViewController.m; sourceTree = "<group>"; };
93D391943675426839501BB8 /* MPLogsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPLogsViewController.h; sourceTree = "<group>"; };
93D3923B42DA2DA18F287092 /* LLModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LLModel.m; sourceTree = "<group>"; };
93D3924EE15017F8A12CB436 /* MPPasswordsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordsViewController.m; sourceTree = "<group>"; };
93D392876BE5C011DE73B43F /* MPPopdownSegue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPopdownSegue.h; sourceTree = "<group>"; };
93D393310223DDB35218467A /* MPCombinedViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPCombinedViewController.m; sourceTree = "<group>"; };
@ -522,7 +485,6 @@
93D3977321EB249981821AB0 /* UITextView+PearlAttributes.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UITextView+PearlAttributes.m"; sourceTree = "<group>"; };
93D3979190DACEBD1F6AE9F4 /* MPLogsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPLogsViewController.m; sourceTree = "<group>"; };
93D397E3650384498E7E53C4 /* MPPasswordsCoachmarkViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordsCoachmarkViewController.m; sourceTree = "<group>"; };
93D3983278751A530262F64E /* LLConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LLConfig.h; sourceTree = "<group>"; };
93D398567FD02DB2647B8CF3 /* PearlNavigationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlNavigationController.h; sourceTree = "<group>"; };
93D398C95847261903D781D3 /* NSError+PearlFullDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSError+PearlFullDescription.h"; sourceTree = "<group>"; };
93D3990E0CD1B5CF9FBB2C07 /* MPWebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPWebViewController.m; sourceTree = "<group>"; };
@ -534,7 +496,6 @@
93D399F244BB522A317811BB /* MPFixable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPFixable.h; sourceTree = "<group>"; };
93D39A1DDFA09AE2E14D26DC /* UIResponder+PearlFirstResponder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIResponder+PearlFirstResponder.m"; sourceTree = "<group>"; };
93D39A28369954D147E239BA /* MPSetupViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPSetupViewController.m; sourceTree = "<group>"; };
93D39A3CC4D8330831FC8CB4 /* LLToggleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LLToggleViewController.h; sourceTree = "<group>"; };
93D39A41340CF778E00D0E6D /* MPEmergencySegue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEmergencySegue.h; sourceTree = "<group>"; };
93D39A4759186F6D2D34AA6B /* PearlSizedTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlSizedTextView.h; sourceTree = "<group>"; };
93D39A813CA9D7E192261ED2 /* MPFixable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPFixable.m; sourceTree = "<group>"; };
@ -544,12 +505,9 @@
93D39B050DD5F55E9794EFD4 /* MPPopdownSegue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPopdownSegue.m; sourceTree = "<group>"; };
93D39B1D8177A86C5B9EDDE3 /* PearlUICollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlUICollectionView.h; sourceTree = "<group>"; };
93D39B381350802A194BF332 /* MPAvatarCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAvatarCell.m; sourceTree = "<group>"; };
93D39BA6C5CB452973918B7D /* LLButtonView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LLButtonView.h; sourceTree = "<group>"; };
93D39BAA71DE51B4D8A1286C /* MPCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPCell.m; sourceTree = "<group>"; };
93D39BF6BCBDFFE844E7D34C /* LLButtonView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LLButtonView.m; sourceTree = "<group>"; };
93D39C44361BE57AF0B3071F /* MPPasswordsSegue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordsSegue.h; sourceTree = "<group>"; };
93D39C86E984EC65DA5ACB1D /* MPAppSettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAppSettingsViewController.h; sourceTree = "<group>"; };
93D39C8E26B06F01566785B7 /* LLToggleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LLToggleViewController.m; sourceTree = "<group>"; };
93D39CC01630D0421205C4C4 /* MPNavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPNavigationController.m; sourceTree = "<group>"; };
93D39CDD434AFD6E1B0DA359 /* MPEmergencyViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEmergencyViewController.h; sourceTree = "<group>"; };
93D39CE1138FDA4D3D1B847A /* MPPasswordLargeGeneratedCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordLargeGeneratedCell.h; sourceTree = "<group>"; };
@ -636,9 +594,6 @@
DA854C8218D4CFBF00106317 /* avatar-add.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "avatar-add.png"; sourceTree = "<group>"; };
DA945C8617E3F3FD0053236B /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
DA95D5F014DF0B1E008D1B94 /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; };
DA9B51541895D79E009D2A0B /* gittip.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = gittip.png; sourceTree = "<group>"; };
DA9B51561895D853009D2A0B /* LLGitTip.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LLGitTip.m; sourceTree = "<group>"; };
DA9B51571895D853009D2A0B /* LLGitTip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LLGitTip.h; sourceTree = "<group>"; };
DAA141191922FED80032B392 /* Crashlytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Crashlytics.framework; sourceTree = "<group>"; };
DAA1411B1922FED80032B392 /* Crashlytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Crashlytics.framework; sourceTree = "<group>"; };
DAA1411C1922FF020032B392 /* PearlTween.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlTween.m; sourceTree = "<group>"; };
@ -1342,22 +1297,6 @@
DACA29BB1705E2DE002C6C22 /* UIColor+HSV.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+HSV.m"; sourceTree = "<group>"; };
DAD312C01552A20800A3F9ED /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
DADBB55918DB0CFC00D099FE /* keyboard-dark@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "keyboard-dark@2x.png"; sourceTree = "<group>"; };
DADEF4061810D2940052CA3E /* love-lyndir.button.green.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "love-lyndir.button.green.png"; sourceTree = "<group>"; };
DADEF4071810D2940052CA3E /* love-lyndir.button.green@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "love-lyndir.button.green@2x.png"; sourceTree = "<group>"; };
DADEF4081810D2940052CA3E /* love-lyndir.button.grey.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "love-lyndir.button.grey.png"; sourceTree = "<group>"; };
DADEF4091810D2940052CA3E /* love-lyndir.button.grey@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "love-lyndir.button.grey@2x.png"; sourceTree = "<group>"; };
DADEF40A1810D2940052CA3E /* love-lyndir.button.red.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "love-lyndir.button.red.png"; sourceTree = "<group>"; };
DADEF40B1810D2940052CA3E /* love-lyndir.button.red@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "love-lyndir.button.red@2x.png"; sourceTree = "<group>"; };
DADEF40C1810D2940052CA3E /* love-lyndir.heart.green.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "love-lyndir.heart.green.png"; sourceTree = "<group>"; };
DADEF40D1810D2940052CA3E /* love-lyndir.heart.green@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "love-lyndir.heart.green@2x.png"; sourceTree = "<group>"; };
DADEF40E1810D2940052CA3E /* love-lyndir.heart.grey.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "love-lyndir.heart.grey.png"; sourceTree = "<group>"; };
DADEF40F1810D2940052CA3E /* love-lyndir.heart.grey@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "love-lyndir.heart.grey@2x.png"; sourceTree = "<group>"; };
DADEF4101810D2940052CA3E /* love-lyndir.heart.red.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "love-lyndir.heart.red.png"; sourceTree = "<group>"; };
DADEF4111810D2940052CA3E /* love-lyndir.heart.red@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "love-lyndir.heart.red@2x.png"; sourceTree = "<group>"; };
DADEF4221810D5530052CA3E /* libLoveLyndir.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libLoveLyndir.a; sourceTree = BUILT_PRODUCTS_DIR; };
DADEF4481810D5A70052CA3E /* LoveLyndir.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LoveLyndir.storyboard; sourceTree = "<group>"; };
DADEF4491810E7F30052CA3E /* love-lyndir.picker.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "love-lyndir.picker.png"; sourceTree = "<group>"; };
DADEF44A1810E7F30052CA3E /* love-lyndir.picker@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "love-lyndir.picker@2x.png"; sourceTree = "<group>"; };
DAE1EF2317E942DE00BC0086 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
DAEB92E118AA537D000490CC /* crypto_aesctr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_aesctr.h; sourceTree = "<group>"; };
DAEB92E218AA537D000490CC /* crypto_scrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_scrypt.h; sourceTree = "<group>"; };
@ -1576,7 +1515,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
DADEF44D1810F9BF0052CA3E /* libLoveLyndir.a in Frameworks */,
DAFC5691172C582A00CB5CC5 /* libInAppSettingsKit.a in Frameworks */,
DA6701E016406BB400B61001 /* AdSupport.framework in Frameworks */,
DA6701DE16406B7300B61001 /* Social.framework in Frameworks */,
@ -1626,15 +1564,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
DADEF41F1810D5530052CA3E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
DA70EC801811B13C00F65DB2 /* StoreKit.framework in Frameworks */,
DADEF4231810D5530052CA3E /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
DAFC5652172C573B00CB5CC5 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@ -1699,7 +1628,6 @@
DAC6326C148680650075AEA5 /* libjrswizzle.a */,
DA4425CB1557BED40052177D /* libUbiquityStoreManager.a */,
DAFC5655172C573B00CB5CC5 /* libInAppSettingsKit.a */,
DADEF4221810D5530052CA3E /* libLoveLyndir.a */,
);
name = Products;
sourceTree = "<group>";
@ -2594,7 +2522,6 @@
children = (
DAA141181922FED80032B392 /* iOS */,
DAA1411A1922FED80032B392 /* Mac */,
DADEF3E91810D1980052CA3E /* LoveLyndir */,
DAFC5662172C57EC00CB5CC5 /* InAppSettingsKit */,
DAC77CAF148291A600BCF976 /* Pearl */,
DACA22B61705DE7D002C6C22 /* UbiquityStoreManager */,
@ -2666,54 +2593,6 @@
path = "External/uicolor-utilities";
sourceTree = "<group>";
};
DADEF3E91810D1980052CA3E /* LoveLyndir */ = {
isa = PBXGroup;
children = (
DADEF4041810D2940052CA3E /* ObjC */,
DADEF4051810D2940052CA3E /* Resources */,
);
path = LoveLyndir;
sourceTree = "<group>";
};
DADEF4041810D2940052CA3E /* ObjC */ = {
isa = PBXGroup;
children = (
DA9B51561895D853009D2A0B /* LLGitTip.m */,
DA9B51571895D853009D2A0B /* LLGitTip.h */,
93D39C8E26B06F01566785B7 /* LLToggleViewController.m */,
93D39A3CC4D8330831FC8CB4 /* LLToggleViewController.h */,
DADEF4481810D5A70052CA3E /* LoveLyndir.storyboard */,
93D3923B42DA2DA18F287092 /* LLModel.m */,
93D390A66F69AB1CDB0BFF93 /* LLModel.h */,
93D3983278751A530262F64E /* LLConfig.h */,
93D39BF6BCBDFFE844E7D34C /* LLButtonView.m */,
93D39BA6C5CB452973918B7D /* LLButtonView.h */,
);
path = ObjC;
sourceTree = "<group>";
};
DADEF4051810D2940052CA3E /* Resources */ = {
isa = PBXGroup;
children = (
DA9B51541895D79E009D2A0B /* gittip.png */,
DADEF4491810E7F30052CA3E /* love-lyndir.picker.png */,
DADEF44A1810E7F30052CA3E /* love-lyndir.picker@2x.png */,
DADEF4061810D2940052CA3E /* love-lyndir.button.green.png */,
DADEF4071810D2940052CA3E /* love-lyndir.button.green@2x.png */,
DADEF4081810D2940052CA3E /* love-lyndir.button.grey.png */,
DADEF4091810D2940052CA3E /* love-lyndir.button.grey@2x.png */,
DADEF40A1810D2940052CA3E /* love-lyndir.button.red.png */,
DADEF40B1810D2940052CA3E /* love-lyndir.button.red@2x.png */,
DADEF40C1810D2940052CA3E /* love-lyndir.heart.green.png */,
DADEF40D1810D2940052CA3E /* love-lyndir.heart.green@2x.png */,
DADEF40E1810D2940052CA3E /* love-lyndir.heart.grey.png */,
DADEF40F1810D2940052CA3E /* love-lyndir.heart.grey@2x.png */,
DADEF4101810D2940052CA3E /* love-lyndir.heart.red.png */,
DADEF4111810D2940052CA3E /* love-lyndir.heart.red@2x.png */,
);
path = Resources;
sourceTree = "<group>";
};
DAEB92E018AA537D000490CC /* scrypt */ = {
isa = PBXGroup;
children = (
@ -3315,23 +3194,6 @@
productReference = DAC77CAD148291A600BCF976 /* libPearl.a */;
productType = "com.apple.product-type.library.static";
};
DADEF4211810D5530052CA3E /* LoveLyndir */ = {
isa = PBXNativeTarget;
buildConfigurationList = DADEF4441810D5540052CA3E /* Build configuration list for PBXNativeTarget "LoveLyndir" */;
buildPhases = (
DADEF41E1810D5530052CA3E /* Sources */,
DADEF41F1810D5530052CA3E /* Frameworks */,
DADEF4201810D5530052CA3E /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = LoveLyndir;
productName = LoveLyndir;
productReference = DADEF4221810D5530052CA3E /* libLoveLyndir.a */;
productType = "com.apple.product-type.library.static";
};
DAFC5654172C573B00CB5CC5 /* InAppSettingsKit */ = {
isa = PBXNativeTarget;
buildConfigurationList = DAFC565E172C573B00CB5CC5 /* Build configuration list for PBXNativeTarget "InAppSettingsKit" */;
@ -3474,7 +3336,6 @@
DAC6326B148680650075AEA5 /* jrswizzle */,
DA4425CA1557BED40052177D /* UbiquityStoreManager */,
DAFC5654172C573B00CB5CC5 /* InAppSettingsKit */,
DADEF4211810D5530052CA3E /* LoveLyndir */,
);
};
/* End PBXProject section */
@ -3486,7 +3347,6 @@
files = (
DAFE4A5A1503982E003ABA7C /* Pearl.strings in Resources */,
DACA296F1705DF81002C6C22 /* Crashlytics.plist in Resources */,
DADEF4171810D2940052CA3E /* love-lyndir.button.red@2x.png in Resources */,
DACA29731705E1A8002C6C22 /* ciphers.plist in Resources */,
DA250A0F1956484D00AC23F1 /* image-1@2x.png in Resources */,
DACA29741705E1A8002C6C22 /* dictionary.lst in Resources */,
@ -3504,7 +3364,6 @@
DA7304E5194E025900E72520 /* tip_basic_black.png in Resources */,
DABD393A1711E29700CF925C /* avatar-10.png in Resources */,
DABD393B1711E29700CF925C /* avatar-10@2x.png in Resources */,
DADEF41C1810D2940052CA3E /* love-lyndir.heart.red.png in Resources */,
DABD393C1711E29700CF925C /* avatar-11.png in Resources */,
DA250A0A1956484D00AC23F1 /* image-4.png in Resources */,
DABD393D1711E29700CF925C /* avatar-11@2x.png in Resources */,
@ -3516,7 +3375,6 @@
DABD39401711E29700CF925C /* avatar-13.png in Resources */,
DABD39411711E29700CF925C /* avatar-13@2x.png in Resources */,
DABD39421711E29700CF925C /* avatar-14.png in Resources */,
DADEF41A1810D2940052CA3E /* love-lyndir.heart.grey.png in Resources */,
DABD39431711E29700CF925C /* avatar-14@2x.png in Resources */,
DABD39441711E29700CF925C /* avatar-15.png in Resources */,
DABD39451711E29700CF925C /* avatar-15@2x.png in Resources */,
@ -3554,7 +3412,6 @@
DABD39591711E29700CF925C /* avatar-8.png in Resources */,
DA250A0D1956484D00AC23F1 /* image-2@2x.png in Resources */,
DA250A051956484D00AC23F1 /* image-6@2x.png in Resources */,
DADEF41D1810D2940052CA3E /* love-lyndir.heart.red@2x.png in Resources */,
DABD395A1711E29700CF925C /* avatar-8@2x.png in Resources */,
DABD395B1711E29700CF925C /* avatar-9.png in Resources */,
DABD395C1711E29700CF925C /* avatar-9@2x.png in Resources */,
@ -3564,9 +3421,7 @@
DA945C8717E3F3FD0053236B /* Images.xcassets in Resources */,
DA250A101956484D00AC23F1 /* image-1.png in Resources */,
DABD39871711E29700CF925C /* SourceCodePro-Black.otf in Resources */,
DADEF4161810D2940052CA3E /* love-lyndir.button.red.png in Resources */,
DA2509FE1956484D00AC23F1 /* image-10.png in Resources */,
DADEF44E1810FA3B0052CA3E /* LoveLyndir.storyboard in Resources */,
DABD39881711E29700CF925C /* SourceCodePro-ExtraLight.otf in Resources */,
DABD39A01711E29700CF925C /* icon_action.png in Resources */,
DABD39A11711E29700CF925C /* icon_action@2x.png in Resources */,
@ -3576,33 +3431,26 @@
DA250A0C1956484D00AC23F1 /* image-3.png in Resources */,
DABD3A261711E29700CF925C /* icon_edit.png in Resources */,
DABD3A271711E29700CF925C /* icon_edit@2x.png in Resources */,
DADEF41B1810D2940052CA3E /* love-lyndir.heart.grey@2x.png in Resources */,
DABD3A3A1711E29700CF925C /* icon_find.png in Resources */,
DABD3A3B1711E29700CF925C /* icon_find@2x.png in Resources */,
DABD3AA01711E29800CF925C /* icon_pause.png in Resources */,
DABD3AA11711E29800CF925C /* icon_pause@2x.png in Resources */,
DABD3AAA1711E29800CF925C /* icon_person.png in Resources */,
DADEF4191810D2940052CA3E /* love-lyndir.heart.green@2x.png in Resources */,
DADEF4131810D2940052CA3E /* love-lyndir.button.green@2x.png in Resources */,
DABD3AAB1711E29800CF925C /* icon_person@2x.png in Resources */,
DABD3ABC1711E29800CF925C /* icon_play.png in Resources */,
DADEF4141810D2940052CA3E /* love-lyndir.button.grey.png in Resources */,
DABD3ABD1711E29800CF925C /* icon_play@2x.png in Resources */,
DABD3ABE1711E29800CF925C /* icon_plus.png in Resources */,
DA250A081956484D00AC23F1 /* image-5.png in Resources */,
DABD3ABF1711E29800CF925C /* icon_plus@2x.png in Resources */,
DADEF4181810D2940052CA3E /* love-lyndir.heart.green.png in Resources */,
DA69540717D975D900BF294E /* icon_gears@2x.png in Resources */,
DABD3B1C1711E29800CF925C /* icon_up.png in Resources */,
DABD3B1D1711E29800CF925C /* icon_up@2x.png in Resources */,
DA250A121956484D00AC23F1 /* image-0.png in Resources */,
DA9B51551895D79E009D2A0B /* gittip.png in Resources */,
DA4522441902355C008F650A /* icon_book.png in Resources */,
DABD3B8A1711E29800CF925C /* help.html in Resources */,
DA2509FF1956484D00AC23F1 /* image-9@2x.png in Resources */,
DABD3B8D1711E29800CF925C /* keypad.png in Resources */,
DABD3B8E1711E29800CF925C /* logo-bare.png in Resources */,
DADEF44B1810E7F30052CA3E /* love-lyndir.picker.png in Resources */,
DA7304E6194E025900E72520 /* tip_basic_black@2x.png in Resources */,
DABD3B8F1711E29800CF925C /* menu-icon.png in Resources */,
DABD3B901711E29800CF925C /* menu-icon@2x.png in Resources */,
@ -3614,7 +3462,6 @@
DA452249190628A1008F650A /* icon_wrench.png in Resources */,
DA45224819062899008F650A /* icon_settings@2x.png in Resources */,
DA250A001956484D00AC23F1 /* image-9.png in Resources */,
DADEF4121810D2940052CA3E /* love-lyndir.button.green.png in Resources */,
DA854C8418D4CFBF00106317 /* avatar-add.png in Resources */,
DABD3C241711E2DC00CF925C /* MasterPassword.entitlements in Resources */,
DABD3C251711E2DC00CF925C /* Settings.bundle in Resources */,
@ -3625,7 +3472,6 @@
DABD3FCB1712446200CF925C /* cloud@2x.png in Resources */,
DABD3FCE1714F45C00CF925C /* identity.png in Resources */,
DABD3FCF1714F45C00CF925C /* identity@2x.png in Resources */,
DADEF4151810D2940052CA3E /* love-lyndir.button.grey@2x.png in Resources */,
DA45224B190628B2008F650A /* icon_gear.png in Resources */,
DAE1EF2217E942DE00BC0086 /* Localizable.strings in Resources */,
DA38D6A318CCB5BF009AEB3E /* Storyboard.storyboard in Resources */,
@ -3635,7 +3481,6 @@
DA5A09EA171BB0F7005284AB /* unlocked.png in Resources */,
DA250A0E1956484D00AC23F1 /* image-2.png in Resources */,
DA5A09EB171BB0F7005284AB /* unlocked@2x.png in Resources */,
DADEF44C1810E7F30052CA3E /* love-lyndir.picker@2x.png in Resources */,
DA250A011956484D00AC23F1 /* image-8@2x.png in Resources */,
DA250A111956484D00AC23F1 /* image-0@2x.png in Resources */,
);
@ -3822,17 +3667,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
DADEF41E1810D5530052CA3E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
DADEF4471810D5850052CA3E /* LLToggleViewController.m in Sources */,
93D39C8AD8EAB747856B3A8C /* LLModel.m in Sources */,
DA9B51581895D853009D2A0B /* LLGitTip.m in Sources */,
93D39233C3EDD9A947ABA52D /* LLButtonView.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
DAFC5651172C573B00CB5CC5 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@ -4347,27 +4181,6 @@
};
name = "AdHoc-iOS";
};
DADEF43E1810D5540052CA3E /* Debug-iOS */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_OBJC_ARC = YES;
};
name = "Debug-iOS";
};
DADEF43F1810D5540052CA3E /* AdHoc-iOS */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_OBJC_ARC = YES;
};
name = "AdHoc-iOS";
};
DADEF4401810D5540052CA3E /* AppStore-iOS */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_OBJC_ARC = YES;
};
name = "AppStore-iOS";
};
DAFC565F172C573B00CB5CC5 /* Debug-iOS */ = {
isa = XCBuildConfiguration;
buildSettings = {
@ -4452,16 +4265,6 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "AdHoc-iOS";
};
DADEF4441810D5540052CA3E /* Build configuration list for PBXNativeTarget "LoveLyndir" */ = {
isa = XCConfigurationList;
buildConfigurations = (
DADEF43E1810D5540052CA3E /* Debug-iOS */,
DADEF43F1810D5540052CA3E /* AdHoc-iOS */,
DADEF4401810D5540052CA3E /* AppStore-iOS */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "AdHoc-iOS";
};
DAFC565E172C573B00CB5CC5 /* Build configuration list for PBXNativeTarget "InAppSettingsKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (