Fixed issues with international numbers, crashing, and other things in VoiceMac. Added tabs for VoiceMob, including Keypad and Contacts, and made calling work.

This commit is contained in:
GRMrGecko 2010-09-30 12:27:22 -05:00
parent 7a586f0eb1
commit d3e4f4bce2
83 changed files with 5380 additions and 137 deletions

View File

@ -136,7 +136,8 @@
number = [number replace:@"-" with:@""]; number = [number replace:@"-" with:@""];
number = [number replace:@")" with:@""]; number = [number replace:@")" with:@""];
number = [number replace:@"(" with:@""]; number = [number replace:@"(" with:@""];
number = [number replace:@"+" with:@""]; number = [number replace:@"+1" with:@"1"];
number = [number replace:@"+" with:@"011"];
number = [number replace:@"." with:@""]; number = [number replace:@"." with:@""];
return number; return number;
} }
@ -195,15 +196,30 @@
- (NSString *)readableNumber { - (NSString *)readableNumber {
NSString *number = [[self removePhoneWhiteSpace] littersToNumbers]; NSString *number = [[self removePhoneWhiteSpace] littersToNumbers];
if (![number hasPrefix:@"011"]) { if (![number hasPrefix:@"011"]) {
if ([number length]>7) { if ([number length]==10) {
if ([number hasPrefix:@"1"])
number = [number substringFromIndex:1];
NSString *areaCode = [number substringToIndex:3]; NSString *areaCode = [number substringToIndex:3];
number = [number substringFromIndex:3]; number = [number substringFromIndex:3];
NSString *firstNumbers = [number substringToIndex:3]; NSString *firstNumbers = [number substringToIndex:3];
number = [number substringFromIndex:3]; number = [number substringFromIndex:3];
number = [NSString stringWithFormat:@"(%@) %@-%@", areaCode, firstNumbers, number]; number = [NSString stringWithFormat:@"(%@) %@-%@", areaCode, firstNumbers, number];
} else if ([number length]==11 && [number hasPrefix:@"1"]) {
number = [number substringFromIndex:1];
NSString *areaCode = [number substringToIndex:3];
number = [number substringFromIndex:3];
NSString *firstNumbers = [number substringToIndex:3];
number = [number substringFromIndex:3];
if ([areaCode isEqual:@"800"])
number = [NSString stringWithFormat:@"1 (%@) %@-%@", areaCode, firstNumbers, number];
else
number = [NSString stringWithFormat:@"(%@) %@-%@", areaCode, firstNumbers, number];
} else if ([number length]>=7 && [number length]<=10) {
NSString *firstNumbers = [number substringToIndex:3];
number = [number substringFromIndex:3];
number = [NSString stringWithFormat:@"%@-%@", firstNumbers, number];
} }
} else {
number = [number substringFromIndex:3];
number = [@"+" stringByAppendingString:number];
} }
return number; return number;
} }
@ -1404,7 +1420,8 @@ NSComparisonResult dateSort(NSDictionary *info1, NSDictionary *info2, void *cont
[graphicsContext setShouldAntialias:YES]; [graphicsContext setShouldAntialias:YES];
[image drawInRect:NSMakeRect(0, 0, scaledWidth, scaledHeight) fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0]; [image drawInRect:NSMakeRect(0, 0, scaledWidth, scaledHeight) fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
[newImage unlockFocus]; [newImage unlockFocus];
scaledData = [newImage TIFFRepresentation]; NSBitmapImageRep *imageRep = [NSBitmapImageRep imageRepWithData:[newImage TIFFRepresentation]];
scaledData = [imageRep representationUsingType:NSPNGFileType properties:nil];
[newImage release]; [newImage release];
} }
#endif #endif

View File

@ -11,9 +11,9 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#else #else
#import <Cocoa/Cocoa.h> #import <Cocoa/Cocoa.h>
#import <SystemConfiguration/SystemConfiguration.h>
#endif #endif
#import <pjsua-lib/pjsua.h> #import <pjsua-lib/pjsua.h>
#import <SystemConfiguration/SystemConfiguration.h>
@class MGMSIPAccount, MGMSIPCall; @class MGMSIPAccount, MGMSIPCall;
@ -107,8 +107,10 @@ typedef enum {
int ringbackCount; int ringbackCount;
#if !TARGET_OS_IPHONE
SCDynamicStoreRef store; SCDynamicStoreRef store;
CFRunLoopSourceRef storeRunLoop; CFRunLoopSourceRef storeRunLoop;
#endif
} }
+ (MGMSIP *)sharedSIP; + (MGMSIP *)sharedSIP;

View File

@ -279,12 +279,12 @@ static OSStatus MGMAudioDevicesChanged(AudioHardwarePropertyID propertyID, void
- (void)dealloc { - (void)dealloc {
#if !TARGET_OS_IPHONE #if !TARGET_OS_IPHONE
[[[NSWorkspace sharedWorkspace] notificationCenter] removeObserver:self]; [[[NSWorkspace sharedWorkspace] notificationCenter] removeObserver:self];
#endif
[self stop]; [self stop];
if (storeRunLoop!=NULL) if (storeRunLoop!=NULL)
CFRunLoopRemoveSource(CFRunLoopGetCurrent(), storeRunLoop, kCFRunLoopDefaultMode); CFRunLoopRemoveSource(CFRunLoopGetCurrent(), storeRunLoop, kCFRunLoopDefaultMode);
if (store!=NULL) if (store!=NULL)
CFRelease(store); CFRelease(store);
#endif
if (lock!=nil) if (lock!=nil)
[lock release]; [lock release];
if (accounts!=nil) if (accounts!=nil)

View File

@ -8,10 +8,11 @@
#if TARGET_OS_IPHONE #if TARGET_OS_IPHONE
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import <MGMXMLNodeOptions.h>
#else #else
#import <Cocoa/Cocoa.h> #import <Cocoa/Cocoa.h>
#endif
#import <VoiceBase/MGMXMLNodeOptions.h> #import <VoiceBase/MGMXMLNodeOptions.h>
#endif
#import <libxml/parser.h> #import <libxml/parser.h>
#import <libxml/tree.h> #import <libxml/tree.h>
#import <libxml/xpath.h> #import <libxml/xpath.h>
@ -71,7 +72,7 @@ struct _xmlCom {
xmlNsPtr namespaceXML; xmlNsPtr namespaceXML;
xmlNodePtr parentNode; xmlNodePtr parentNode;
MGMXMLNodeKind type; MGMXMLNodeKind type;
MGMXMLNode *documentNode; MGMXMLDocument *documentNode;
} }
+ (id)nodeWithTypeXMLPtr:(xmlTypPtr)theXMLPtr; + (id)nodeWithTypeXMLPtr:(xmlTypPtr)theXMLPtr;
- (id)initWithTypeXMLPtr:(xmlTypPtr)theXMLPtr; - (id)initWithTypeXMLPtr:(xmlTypPtr)theXMLPtr;

View File

@ -84,9 +84,9 @@ static void MGMXMLErrorHandler(void *userData, xmlErrorPtr error) {
parentNode = NULL; parentNode = NULL;
} }
if (commonXML!=NULL) { if (commonXML!=NULL) {
commonXML->_private = NULL;
if (type!=MGMXMLDocumentKind) if (type!=MGMXMLDocumentKind)
[self releaseDocument]; [self releaseDocument];
commonXML->_private = NULL;
if (commonXML->parent==NULL) { if (commonXML->parent==NULL) {
if (type==MGMXMLDocumentKind) { if (type==MGMXMLDocumentKind) {
@ -225,7 +225,7 @@ static void MGMXMLErrorHandler(void *userData, xmlErrorPtr error) {
else if (type==MGMXMLElementKind && [self isMemberOfClass:[MGMXMLNode class]]) else if (type==MGMXMLElementKind && [self isMemberOfClass:[MGMXMLNode class]])
self->isa = [MGMXMLElement class]; self->isa = [MGMXMLElement class];
if (type!=MGMXMLDocumentKind) if (type!=MGMXMLDocumentKind)
documentNode = [[MGMXMLNode alloc] initWithTypeXMLPtr:(xmlTypPtr)commonXML->doc]; documentNode = [[MGMXMLDocument alloc] initWithTypeXMLPtr:(xmlTypPtr)commonXML->doc];
} }
} }
- (void)releaseDocument { - (void)releaseDocument {

View File

@ -117,7 +117,7 @@ NSString *MGMContactsWindowOpen = @"MGMContactsWindowOpen";
[(MGMViewCell *)cell addSubview:[contactViews objectAtIndex:row-contactsVisible.location]]; [(MGMViewCell *)cell addSubview:[contactViews objectAtIndex:row-contactsVisible.location]];
} }
@catch (NSException *e) { @catch (NSException *e) {
NSLog(@"Contact error, ignoreing. %@", e); NSLog(@"Contact error, ignoring. %@", e);
} }
[filterLock unlock]; [filterLock unlock];
} }

View File

@ -63,21 +63,19 @@
- (void)setContact:(NSDictionary *)theContact { - (void)setContact:(NSDictionary *)theContact {
if (contact!=nil) [contact release]; if (contact!=nil) [contact release];
contact = [theContact mutableCopy]; contact = [theContact mutableCopy];
if ([contact objectForKey:MGMCPhoto]==nil || [[contact objectForKey:MGMCPhoto] isKindOfClass:[NSNull class]]) { if ([contact objectForKey:MGMCPhoto]==nil || [[contact objectForKey:MGMCPhoto] isKindOfClass:[NSNull class]])
[photoView setImage:[[[NSImage alloc] initWithContentsOfFile:[themeManager incomingIconPath]] autorelease]]; [photoView setImage:[[[NSImage alloc] initWithContentsOfFile:[themeManager incomingIconPath]] autorelease]];
} else { else
[photoView setImage:[[[NSImage alloc] initWithData:[contact objectForKey:MGMCPhoto]] autorelease]]; [photoView setImage:[[[NSImage alloc] initWithData:[contact objectForKey:MGMCPhoto]] autorelease]];
}
if ([[contact objectForKey:MGMCName] isEqual:@""]) if ([[contact objectForKey:MGMCName] isEqual:@""])
[nameField setStringValue:[contact objectForKey:MGMCCompany]]; [nameField setStringValue:[contact objectForKey:MGMCCompany]];
else else
[nameField setStringValue:[contact objectForKey:MGMCName]]; [nameField setStringValue:[contact objectForKey:MGMCName]];
if ([[contact objectForKey:MGMCLabel] isEqual:@""]) { if ([[contact objectForKey:MGMCLabel] isEqual:@""])
[phoneField setStringValue:[[contact objectForKey:MGMCNumber] readableNumber]]; [phoneField setStringValue:[[contact objectForKey:MGMCNumber] readableNumber]];
} else { else
[phoneField setStringValue:[NSString stringWithFormat:@"%@ %@", [[contact objectForKey:MGMCNumber] readableNumber], [contact objectForKey:MGMCLabel]]]; [phoneField setStringValue:[NSString stringWithFormat:@"%@ %@", [[contact objectForKey:MGMCNumber] readableNumber], [contact objectForKey:MGMCLabel]]];
} }
}
- (void)setFontColor:(NSColor *)theColor { - (void)setFontColor:(NSColor *)theColor {
[nameField setTextColor:theColor]; [nameField setTextColor:theColor];

View File

@ -0,0 +1,51 @@
//
// MGMAccountController.h
// VoiceMob
//
// Created by Mr. Gecko on 9/27/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import <Foundation/Foundation.h>
@class MGMAccountController, MGMController, MGMAccounts, MGMUser;
@protocol MGMAccountProtocol <NSObject>
- (MGMAccountController *)accountController;
- (MGMUser *)user;
- (NSString *)title;
- (NSString *)areaCode;
- (UIView *)view;
- (void)releaseView;
@end
@interface MGMAccountController : NSObject {
MGMController *controller;
NSMutableArray *contactsControllers;
int currentContactsController;
MGMAccounts *accounts;
IBOutlet UIView *view;
IBOutlet UIToolbar *toolbar;
NSArray *accountsItems;
NSArray *accountItems;
IBOutlet UILabel *titleField;
IBOutlet UIView *contentView;
}
- (id)initWithController:(MGMController *)theController;
- (void)registerDefaults;
- (MGMController *)controller;
- (UIView *)view;
- (BOOL)isCurrent:(id)theUser;
- (void)setTitle:(NSString *)theTitle;
- (IBAction)showAccounts:(id)sender;
- (IBAction)showSettings:(id)sender;
- (void)showUser:(MGMUser *)theUser;
@end

View File

@ -0,0 +1,232 @@
//
// MGMAccountController.m
// VoiceMob
//
// Created by Mr. Gecko on 9/27/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMAccountController.h"
#import "MGMController.h"
#import "MGMAccounts.h"
#import "MGMVoiceUser.h"
#import "MGMSIPUser.h"
#import "MGMVMAddons.h"
#import "MGMAccountSetup.h"
#import <MGMUsers/MGMUsers.h>
#import <VoiceBase.h>
NSString * const MGMLastContactsController = @"MGMLastContactsController";
NSString * const MGMAccountsTitle = @"Accounts";
@implementation MGMAccountController
- (id)initWithController:(MGMController *)theController {
if (self = [super init]) {
if (![[NSBundle mainBundle] loadNibNamed:[[UIDevice currentDevice] appendDeviceSuffixToString:@"AccountController"] owner:self options:nil]) {
NSLog(@"Unable to load Account Controller");
[self release];
self = nil;
} else {
controller = theController;
[self registerDefaults];
contactsControllers = [NSMutableArray new];
NSArray *lastUsers = [MGMUser lastUsers];
for (int i=0; i<[lastUsers count]; i++) {
MGMUser *user = [MGMUser userWithID:[lastUsers objectAtIndex:i]];
if ([[user settingForKey:MGMSAccountType] isEqual:MGMSGoogleVoice]) {
[contactsControllers addObject:[MGMVoiceUser voiceUser:user accountController:self]];
}
#if MGMSIPENABLED
else if ([[user settingForKey:MGMSAccountType] isEqual:MGMSSIP]) {
if (![[MGMSIP sharedSIP] isStarted]) [[MGMSIP sharedSIP] start];
[contactsControllers addObject:[MGMSIPUser SIPUser:user accountController:self]];
}
#endif
}
currentContactsController = [[NSUserDefaults standardUserDefaults] integerForKey:MGMLastContactsController];
accounts = [[MGMAccounts alloc] initWithAccountController:self];
accountsItems = [[NSArray arrayWithObjects:[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:NULL] autorelease], [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(addAccount:)] autorelease], nil] retain];
accountItems = [[toolbar items] copy];
if ([contactsControllers count]==0 || currentContactsController==-1) {
[toolbar setItems:accountsItems animated:NO];
[contentView addSubview:[accounts view]];
[self setTitle:MGMAccountsTitle];
} else {
id<MGMAccountProtocol> contactsController = [contactsControllers objectAtIndex:currentContactsController];
[toolbar setItems:accountItems animated:NO];
[contentView addSubview:[contactsController view]];
[self setTitle:[contactsController title]];
}
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter addObserver:self selector:@selector(userStarted:) name:MGMUserStartNotification object:nil];
[notificationCenter addObserver:self selector:@selector(userDone:) name:MGMUserDoneNotification object:nil];
}
}
return self;
}
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
if (contactsControllers!=nil)
[contactsControllers release];
if (accounts!=nil)
[accounts release];
if (view!=nil)
[view release];
if (accountsItems!=nil)
[accountsItems release];
if (accountItems!=nil)
[accountItems release];
[super dealloc];
}
- (void)registerDefaults {
NSMutableDictionary *defaults = [NSMutableDictionary dictionary];
[defaults setObject:[NSNumber numberWithInt:-1] forKey:MGMLastContactsController];
[[NSUserDefaults standardUserDefaults] registerDefaults:defaults];
}
- (MGMController *)controller {
return controller;
}
- (UIView *)view {
return view;
}
- (BOOL)isCurrent:(id)theUser {
return ([contactsControllers indexOfObject:theUser]==currentContactsController);
}
- (void)setTitle:(NSString *)theTitle {
[titleField setText:theTitle];
}
- (IBAction)addAccount:(id)sender {
[controller showAccountSetup];
}
- (IBAction)showAccounts:(id)sender {
id contactsController = [contactsControllers objectAtIndex:currentContactsController];
currentContactsController = -1;
[[NSUserDefaults standardUserDefaults] setInteger:currentContactsController forKey:MGMLastContactsController];
[toolbar setItems:accountsItems animated:YES];
[self setTitle:MGMAccountsTitle];
CGRect inViewFrame = [[accounts view] frame];
inViewFrame.origin.x -= inViewFrame.size.width;
[[accounts view] setFrame:inViewFrame];
[contentView addSubview:[accounts view]];
[UIView beginAnimations:nil context:contactsController];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(contactsControllerAnimationDidStop:finished:contactsController:)];
[[accounts view] setFrame:[[contactsController view] frame]];
CGRect outViewFrame = [[contactsController view] frame];
outViewFrame.origin.x += outViewFrame.size.width;
[[contactsController view] setFrame:outViewFrame];
[UIView commitAnimations];
}
- (IBAction)showSettings:(id)sender {
}
- (void)userStarted:(NSNotification *)theNotification {
MGMUser *user = [theNotification object];
if ([[user settingForKey:MGMSAccountType] isEqual:MGMSGoogleVoice]) {
[contactsControllers addObject:[MGMVoiceUser voiceUser:user accountController:self]];
}
#if MGMSIPENABLED
else if ([[user settingForKey:MGMSAccountType] isEqual:MGMSSIP]) {
if (![[MGMSIP sharedSIP] isStarted]) [[MGMSIP sharedSIP] start];
[contactsControllers addObject:[MGMSIPUser SIPUser:user accountController:self]];
}
#endif
}
- (void)userDone:(NSNotification *)theNotification {
for (int i=0; i<[contactsControllers count]; i++) {
if ([[contactsControllers objectAtIndex:i] isKindOfClass:[MGMVoiceUser class]]) {
MGMVoiceUser *voiceUser = [contactsControllers objectAtIndex:i];
if ([[voiceUser user] isEqual:[theNotification object]]) {
if (currentContactsController==i) {
currentContactsController = -1;
[[NSUserDefaults standardUserDefaults] setInteger:currentContactsController forKey:MGMLastContactsController];
} else {
[contactsControllers removeObject:voiceUser];
}
break;
}
}
#if MGMSIPENABLED
else if ([[contactsControllers objectAtIndex:i] isKindOfClass:[MGMSIPUser class]]) {
MGMSIPUser *SIPUser = [contactsControllers objectAtIndex:i];
if ([[SIPUser user] isEqual:[theNotification object]]) {
if (currentContactsController==i) {
currentContactsController = -1;
[[NSUserDefaults standardUserDefaults] setInteger:currentContactsController forKey:MGMLastContactsController];
} else {
[contactsControllers removeObject:SIPUser];
}
}
}
#endif
}
}
- (void)showUser:(MGMUser *)theUser {
id contactsController = nil;
for (int i=0; i<[contactsControllers count]; i++) {
if ([[[contactsControllers objectAtIndex:i] user] isEqual:theUser]) {
contactsController = [contactsControllers objectAtIndex:i];
break;
}
}
if (contactsController==nil) {
if ([[theUser settingForKey:MGMSAccountType] isEqual:MGMSGoogleVoice]) {
contactsController = [MGMVoiceUser voiceUser:theUser accountController:self];
[contactsControllers addObject:contactsController];
}
#if MGMSIPENABLED
else if ([[theUser settingForKey:MGMSAccountType] isEqual:MGMSSIP]) {
if (![[MGMSIP sharedSIP] isStarted]) [[MGMSIP sharedSIP] start];
contactsController = [MGMSIPUser SIPUser:theUser accountController:self];
[contactsControllers addObject:contactsController];
}
#endif
}
if ([theUser isStarted]) {
currentContactsController = [contactsControllers indexOfObject:contactsController];
[[NSUserDefaults standardUserDefaults] setInteger:currentContactsController forKey:MGMLastContactsController];
}
[toolbar setItems:nil animated:YES];
[self setTitle:[contactsController title]];
CGRect inViewFrame = [[contactsController view] frame];
inViewFrame.origin.x += inViewFrame.size.width;
[[contactsController view] setFrame:inViewFrame];
[contentView addSubview:[contactsController view]];
[UIView beginAnimations:nil context:accounts];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(contactsControllerAnimationDidStop:finished:contactsController:)];
[[contactsController view] setFrame:[[accounts view] frame]];
CGRect outViewFrame = [[accounts view] frame];
outViewFrame.origin.x -= outViewFrame.size.width;
[[accounts view] setFrame:outViewFrame];
[UIView commitAnimations];
}
- (void)contactsControllerAnimationDidStop:(NSString *)animationID finished:(NSNumber *)finished contactsController:(id<MGMAccountProtocol>)theContactsController {
[[theContactsController view] removeFromSuperview];
[theContactsController releaseView];
if ([theContactsController isKindOfClass:[MGMAccounts class]]) {
[toolbar setItems:accountItems animated:YES];
} else {
if (![[theContactsController user] isStarted])
[contactsControllers removeObject:theContactsController];
}
}
@end

View File

@ -8,9 +8,19 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
@class MGMUser, MGMInstance, MGMURLConnectionManager, MGMSIPAccount; extern NSString * const MGMSGoogleVoice;
extern NSString * const MGMSGoogleContacts;
extern NSString * const MGMSSIP;
extern NSString * const MGMSAccountType;
extern NSString * const MGMSIPDefaultDomain;
@class MGMController, MGMUser, MGMInstance, MGMURLConnectionManager, MGMSIPAccount;
@interface MGMAccountSetup : NSObject { @interface MGMAccountSetup : NSObject {
MGMController *controller;
BOOL setupOnly;
IBOutlet UIView *setupView; IBOutlet UIView *setupView;
CGRect setupRect; CGRect setupRect;
CGRect setupKeyboardRect; CGRect setupKeyboardRect;
@ -83,10 +93,14 @@
IBOutlet UIView *S9View; IBOutlet UIView *S9View;
IBOutlet UITextView *S9MessageField; IBOutlet UITextView *S9MessageField;
} }
- (id)initWithController:(MGMController *)theController;
- (UIView *)view; - (UIView *)view;
- (IBAction)closeKeyboard:(id)sender; - (IBAction)closeKeyboard:(id)sender;
- (void)setSetupOnly:(BOOL)isSetupOnly;
- (void)setStep:(int)theStep;
- (void)displayStep; - (void)displayStep;
- (IBAction)back:(id)sender; - (IBAction)back:(id)sender;
- (IBAction)continue:(id)sender; - (IBAction)continue:(id)sender;

View File

@ -7,6 +7,7 @@
// //
#import "MGMAccountSetup.h" #import "MGMAccountSetup.h"
#import "MGMController.h"
#import "MGMSIPUser.h" #import "MGMSIPUser.h"
#import "MGMVMAddons.h" #import "MGMVMAddons.h"
#import <VoiceBase.h> #import <VoiceBase.h>
@ -33,16 +34,20 @@ NSString * const MGMS7SIPWaiting = @"Waiting for Registration Status.";
NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com";
@implementation MGMAccountSetup @implementation MGMAccountSetup
- (id)init { - (id)initWithController:(MGMController *)theController {
if (self = [super init]) { if (self = [super init]) {
if (![[NSBundle mainBundle] loadNibNamed:[[UIDevice currentDevice] appendDeviceSuffixToString:@"AccountSetup"] owner:self options:nil]) { if (![[NSBundle mainBundle] loadNibNamed:[[UIDevice currentDevice] appendDeviceSuffixToString:@"AccountSetup"] owner:self options:nil]) {
NSLog(@"Unable to load Account Setup"); NSLog(@"Unable to load Account Setup");
[self release];
self = nil;
} else { } else {
controller = theController;
displaying = NO; displaying = NO;
needsDisplay = NO; needsDisplay = NO;
goingBack = NO; goingBack = NO;
step = 1; [self setSetupOnly:NO];
accountType = 1; accountType = 0;
accountsCreated = [NSMutableArray new]; accountsCreated = [NSMutableArray new];
S7ConnectionManager = [[MGMURLConnectionManager managerWithCookieStorage:nil] retain]; S7ConnectionManager = [[MGMURLConnectionManager managerWithCookieStorage:nil] retain];
setupRect = [setupView frame]; setupRect = [setupView frame];
@ -55,6 +60,24 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com";
- (void)dealloc { - (void)dealloc {
if (setupView!=nil) if (setupView!=nil)
[setupView release]; [setupView release];
if (S1View!=nil)
[S1View release];
if (S2View!=nil)
[S2View release];
if (S3View!=nil)
[S3View release];
if (S4View!=nil)
[S4View release];
if (S5View!=nil)
[S5View release];
if (S6View!=nil)
[S6View release];
if (S7View!=nil)
[S7View release];
if (S8View!=nil)
[S8View release];
if (S9View!=nil)
[S9View release];
if (accountsCreated!=nil) if (accountsCreated!=nil)
[accountsCreated release]; [accountsCreated release];
if (S7CheckUser!=nil) if (S7CheckUser!=nil)
@ -73,6 +96,8 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com";
} }
- (UIView *)view { - (UIView *)view {
if (lastView==nil)
[self displayStep];
return setupView; return setupView;
} }
@ -80,6 +105,13 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com";
} }
- (void)setSetupOnly:(BOOL)isSetupOnly {
setupOnly = isSetupOnly;
if (setupOnly)
step = 2;
else
step = 1;
}
- (void)setStep:(int)theStep { - (void)setStep:(int)theStep {
step = theStep; step = theStep;
} }
@ -100,6 +132,9 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com";
case 2: case 2:
nextView = S2View; nextView = S2View;
[titleField setText:@"Account Setup"]; [titleField setText:@"Account Setup"];
if (setupOnly)
[backButton setTitle:MGMSCancel];
else
[backButton setTitle:MGMSGoBack]; [backButton setTitle:MGMSGoBack];
[backButton setEnabled:YES]; [backButton setEnabled:YES];
[continueButton setTitle:MGMSContinue]; [continueButton setTitle:MGMSContinue];
@ -205,22 +240,7 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com";
displaying = YES; displaying = YES;
if (goingBack) { if (goingBack) {
CGRect inViewFrame = [nextView frame]; CGRect inViewFrame = [nextView frame];
inViewFrame.origin.x = -inViewFrame.size.width; inViewFrame.origin.x -= inViewFrame.size.width;
[nextView setFrame:inViewFrame];
[view addSubview:nextView];
[UIView beginAnimations:@"push" context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(displayAnimationDidStop:finished:context:)];
[nextView setFrame:[lastView frame]];
CGRect outViewFrame = [lastView frame];
outViewFrame.origin.x = outViewFrame.size.width;
[lastView setFrame:outViewFrame];
[UIView commitAnimations];
} else {
CGRect inViewFrame = [nextView frame];
inViewFrame.origin.x = inViewFrame.size.width;
[nextView setFrame:inViewFrame]; [nextView setFrame:inViewFrame];
[view addSubview:nextView]; [view addSubview:nextView];
[UIView beginAnimations:nil context:nil]; [UIView beginAnimations:nil context:nil];
@ -230,7 +250,22 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com";
[UIView setAnimationDidStopSelector:@selector(displayAnimationDidStop:finished:context:)]; [UIView setAnimationDidStopSelector:@selector(displayAnimationDidStop:finished:context:)];
[nextView setFrame:[lastView frame]]; [nextView setFrame:[lastView frame]];
CGRect outViewFrame = [lastView frame]; CGRect outViewFrame = [lastView frame];
outViewFrame.origin.x = -outViewFrame.size.width; outViewFrame.origin.x += outViewFrame.size.width;
[lastView setFrame:outViewFrame];
[UIView commitAnimations];
} else {
CGRect inViewFrame = [nextView frame];
inViewFrame.origin.x += inViewFrame.size.width;
[nextView setFrame:inViewFrame];
[view addSubview:nextView];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(displayAnimationDidStop:finished:context:)];
[nextView setFrame:[lastView frame]];
CGRect outViewFrame = [lastView frame];
outViewFrame.origin.x -= outViewFrame.size.width;
[lastView setFrame:outViewFrame]; [lastView setFrame:outViewFrame];
[UIView commitAnimations]; [UIView commitAnimations];
} }
@ -252,6 +287,11 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com";
- (IBAction)back:(id)sender { - (IBAction)back:(id)sender {
switch (step) { switch (step) {
case 2: case 2:
if (setupOnly) {
[accountsCreated makeObjectsPerformSelector:@selector(start)];
[controller dismissAccountSetup:self];
return;
}
step--; step--;
break; break;
case 4: case 4:
@ -297,7 +337,7 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com";
UIAlertView *theAlert = [[UIAlertView new] autorelease]; UIAlertView *theAlert = [[UIAlertView new] autorelease];
[theAlert setTitle:@"Unable to Add Account"]; [theAlert setTitle:@"Unable to Add Account"];
[theAlert setMessage:@"MGMSIP is not compiled with VoiceMob, you can not add a SIP account without first compiling with MGMSIP."]; [theAlert setMessage:@"MGMSIP is not compiled with VoiceMob, you can not add a SIP account without first compiling with MGMSIP."];
[theAlert addButtonWithTitle:@"Ok"]; [theAlert addButtonWithTitle:MGMOkButtonTitle];
[theAlert show]; [theAlert show];
return; return;
#endif #endif
@ -326,7 +366,7 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com";
UIAlertView *theAlert = [[UIAlertView new] autorelease]; UIAlertView *theAlert = [[UIAlertView new] autorelease];
[theAlert setTitle:@"Missing Information"]; [theAlert setTitle:@"Missing Information"];
[theAlert setMessage:@"It appears as if you did not fill the required fields, please fill out the required fields and then continue."]; [theAlert setMessage:@"It appears as if you did not fill the required fields, please fill out the required fields and then continue."];
[theAlert addButtonWithTitle:@"Ok"]; [theAlert addButtonWithTitle:MGMOkButtonTitle];
[theAlert show]; [theAlert show];
return; return;
} }
@ -335,7 +375,7 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com";
} }
case 9: case 9:
[accountsCreated makeObjectsPerformSelector:@selector(start)]; [accountsCreated makeObjectsPerformSelector:@selector(start)];
[self release]; [controller dismissAccountSetup:self];
return; return;
default: default:
step++; step++;
@ -595,7 +635,7 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com";
//Step 9 //Step 9
- (IBAction)S9AddAnotherAccount:(id)sender { - (IBAction)S9AddAnotherAccount:(id)sender {
goingBack = YES; goingBack = YES;
step = 2; [self setSetupOnly:YES];
[self displayStep]; [self displayStep];
} }
@end @end

View File

@ -0,0 +1,22 @@
//
// MGMAccounts.h
// VoiceMob
//
// Created by Mr. Gecko on 9/27/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import <Foundation/Foundation.h>
@class MGMAccountController;
@interface MGMAccounts : NSObject {
MGMAccountController *accountController;
IBOutlet UITableView *tableView;
}
- (id)initWithAccountController:(MGMAccountController *)theAccountController;
- (UIView *)view;
- (void)releaseView;
@end

View File

@ -0,0 +1,97 @@
//
// MGMAccounts.m
// VoiceMob
//
// Created by Mr. Gecko on 9/27/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMAccounts.h"
#import "MGMAccountController.h"
#import "MGMAccountSetup.h"
#import "MGMVMAddons.h"
#import <MGMUsers/MGMUsers.h>
#import <VoiceBase.h>
NSString * const MGMAccountCellIdentifier = @"MGMAccountCellIdentifier";
@implementation MGMAccounts
- (id)initWithAccountController:(MGMAccountController *)theAccountController {
if (self = [super init]) {
accountController = theAccountController;
}
return self;
}
- (void)dealloc {
[self releaseView];
[super dealloc];
}
- (UIView *)view {
if (tableView==nil) {
if (![[NSBundle mainBundle] loadNibNamed:[[UIDevice currentDevice] appendDeviceSuffixToString:@"Accounts"] owner:self options:nil]) {
NSLog(@"Unable to load Accounts");
[self release];
self = nil;
} else {
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter addObserver:tableView selector:@selector(reloadData) name:MGMUserStartNotification object:nil];
[notificationCenter addObserver:tableView selector:@selector(reloadData) name:MGMUserDoneNotification object:nil];
}
}
return tableView;
}
- (void)releaseView {
if (tableView!=nil) {
[tableView release];
tableView = nil;
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
}
- (NSInteger)tableView:(UITableView *)theTableView numberOfRowsInSection:(NSInteger)section {
return [[MGMUser users] count];
}
- (UITableViewCell *)tableView:(UITableView *)theTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MGMAccountCellIdentifier];
if (cell==nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MGMAccountCellIdentifier] autorelease];
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
}
NSArray *users = [MGMUser users];
if ([users count]<=[indexPath indexAtPosition:1]) {
[cell setText:@"Unknown"];
} else {
[cell setText:[[MGMUser userNames] objectAtIndex:[indexPath indexAtPosition:1]]];
MGMUser *user = [MGMUser userWithID:[users objectAtIndex:[indexPath indexAtPosition:1]]];
if ([[user settingForKey:MGMSAccountType] isEqual:MGMSSIP]) {
if ([user settingForKey:MGMSIPAccountFullName]!=nil && ![[user settingForKey:MGMSIPAccountFullName] isEqual:@""])
[cell setText:[user settingForKey:MGMSIPAccountFullName]];
}
}
return cell;
}
- (BOOL)tableView:(UITableView *)theTableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)theTableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewCellEditingStyleDelete;
}
- (NSString *)tableView:(UITableView *)theTableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath {
return @"Remove";
}
- (void)tableView:(UITableView *)theTableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
MGMUser *user = [MGMUser userWithID:[[MGMUser users] objectAtIndex:[indexPath indexAtPosition:1]]];
if ([user isStarted]) {
[user done];
if ([user isStarted])
return;
}
[user remove];
[tableView reloadData];
}
- (void)tableView:(UITableView *)theTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
MGMUser *user = [MGMUser userWithID:[[MGMUser users] objectAtIndex:[indexPath indexAtPosition:1]]];
[accountController showUser:user];
}
@end

View File

@ -0,0 +1,48 @@
//
// MGMContactsController.h
// VoiceMob
//
// Created by Mr. Gecko on 9/29/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import <UIKit/UIKit.h>
@class MGMAccountController, MGMContacts;
@interface MGMContactsController : NSObject {
MGMAccountController *accountController;
IBOutlet UISearchBar *searchBar;
IBOutlet UIButton *searchCancelButton;
IBOutlet UITableView *contactsTable;
NSLock *filterLock;
NSString *contactsMatchString;
int filterWaiting;
NSMutableArray *contactViews;
int contactsCount;
NSRange contactsLoading;
NSRange contactsVisible;
}
- (id)initWithAccountController:(MGMAccountController *)theAccountController;
- (void)awakeFromNib;
- (void)releaseView;
- (MGMContacts *)contacts;
- (NSString *)filterString;
- (void)updateMatchString;
- (IBAction)cancelSearch:(id)sender;
- (void)checkContactRow:(int)row;
- (void)filterContacts;
- (void)backgroundFilter;
- (void)loadContacts:(BOOL)updatingCount;
- (void)updatedContacts;
- (void)selectedContact:(NSDictionary *)theContact;
@end

View File

@ -0,0 +1,184 @@
//
// MGMContactsController.m
// VoiceMob
//
// Created by Mr. Gecko on 9/29/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMContactsController.h"
#import "MGMContactView.h"
#import "MGMAccountController.h"
#import "MGMController.h"
#import <VoiceBase.h>
NSString * const MGMContactViewCellIdentifier = @"MGMContactViewCellIdentifier";
@implementation MGMContactsController
- (id)initWithAccountController:(MGMAccountController *)theAccountController {
if (self = [super init]) {
accountController = theAccountController;
filterLock = [NSLock new];
filterWaiting = 0;
contactViews = [NSMutableArray new];
contactsCount = 0;
}
return self;
}
- (void)awakeFromNib {
if (contactsMatchString!=nil)
[searchBar setText:contactsMatchString];
[self filterContacts];
[searchCancelButton setHidden:YES];
}
- (void)releaseView {
searchBar = nil;
searchCancelButton = nil;
contactsTable = nil;
contactsCount = 0;
[contactViews removeAllObjects];
}
- (void)dealloc {
if (filterLock!=nil)
[filterLock release];
if (contactsMatchString!=nil)
[contactsMatchString release];
if (contactViews!=nil)
[contactViews release];
[super dealloc];
}
- (MGMContacts *)contacts {
return nil;
}
- (NSString *)filterString {
return [searchBar text];
}
- (void)updateMatchString {
if (contactsMatchString!=nil) [contactsMatchString release];
contactsMatchString = [[self filterString] copy];
}
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)theSearchBar {
[searchCancelButton setHidden:NO];
return YES;
}
- (void)searchBar:(UISearchBar *)theSearchBar textDidChange:(NSString *)searchText {
[self filterContacts];
}
- (void)searchBarSearchButtonClicked:(UISearchBar *)theSearchBar {
[self cancelSearch:self];
}
- (void)searchBarCancelButtonClicked:(UISearchBar *)theSearchBar {
[self cancelSearch:self];
}
- (IBAction)cancelSearch:(id)sender {
[searchBar resignFirstResponder];
[searchCancelButton setHidden:YES];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return contactsCount;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
MGMContactView *cell = (MGMContactView *)[tableView dequeueReusableCellWithIdentifier:MGMContactViewCellIdentifier];
if (cell==nil) {
cell = [[[MGMContactView alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MGMContactViewCellIdentifier] autorelease];
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
[cell setThemeManager:[[accountController controller] themeManager]];
}
int row = [indexPath indexAtPosition:1];
if (row>=contactsCount) return cell;
[self checkContactRow:row];
@try {
[cell setContact:[contactViews objectAtIndex:row-contactsVisible.location]];
}
@catch (NSException *e) {
NSLog(@"Contact error, ignoring. %@", e);
}
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
int row = [indexPath indexAtPosition:1];
if (row>=contactsCount) return;
[self selectedContact:[contactViews objectAtIndex:row-contactsVisible.location]];
}
- (void)checkContactRow:(int)row {
if (!NSLocationInRange(row, contactsVisible)) {
int maxResults = [[self contacts] maxResults];
int page = (row/maxResults)+1;
contactsLoading.location = ((page==1 ? 1 : page-1)*maxResults)-maxResults;
contactsLoading.length = (row<(maxResults-3) ? maxResults : maxResults*2);
[self loadContacts:NO];
}
}
- (void)filterContacts {
[NSThread detachNewThreadSelector:@selector(backgroundFilter) toTarget:self withObject:nil];
}
- (void)backgroundFilter {
if (contactsTable==nil) return;
if (filterWaiting>=1)
return;
NSAutoreleasePool *pool = [NSAutoreleasePool new];
filterWaiting++;
[filterLock lock];
filterWaiting--;
contactsCount = 0;
[contactViews removeAllObjects];
[self performSelectorOnMainThread:@selector(updateMatchString) withObject:nil waitUntilDone:YES];
int count = [[[self contacts] countContactsMatching:contactsMatchString] intValue];
contactsLoading.location = 0;
contactsLoading.length = 0;
contactsVisible.location = 0;
contactsVisible.length = [[self contacts] maxResults];
[contactViews addObjectsFromArray:[[self contacts] contactsMatching:contactsMatchString page:1]];
contactsCount = count;
[filterLock unlock];
if (contactsTable==nil) return;
[contactsTable performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:YES];
if (contactsCount!=0)
[contactsTable scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:NO];
[pool drain];
}
- (void)loadContacts:(BOOL)updatingCount {
if (contactsTable==nil) return;
NSAutoreleasePool *pool = [NSAutoreleasePool new];
[filterLock lock];
int count = 0;
if (updatingCount) {
count = [[[self contacts] countContactsMatching:contactsMatchString] intValue];
contactsCount = 0;
}
int maxResults = [[self contacts] maxResults];
[contactViews removeAllObjects];
int page = contactsLoading.location/maxResults;
int times = contactsLoading.length/maxResults;
for (int t=0; t<times; t++) {
page++;
[contactViews addObjectsFromArray:[[self contacts] contactsMatching:contactsMatchString page:page]];
}
contactsVisible = contactsLoading;
if (updatingCount)
contactsCount = count;
[filterLock unlock];
if (contactsTable==nil) return;
[contactsTable performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];
[pool drain];
}
- (void)updatedContacts {
if (contactsTable==nil) return;
contactsLoading = contactsVisible;
[self loadContacts:YES];
}
- (void)selectedContact:(NSDictionary *)theContact {
}
@end

View File

@ -8,8 +8,16 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
@class MGMThemeManager, MGMAccountController, MGMAccountSetup;
@interface MGMController : UIViewController { @interface MGMController : UIViewController {
IBOutlet UIWindow *mainWindow; IBOutlet UIWindow *mainWindow;
}
MGMThemeManager *themeManager;
MGMAccountController *accountController;
}
- (MGMThemeManager *)themeManager;
- (void)showAccountSetup;
- (void)dismissAccountSetup:(MGMAccountSetup *)theAccountSetup;
@end @end

View File

@ -7,16 +7,57 @@
// //
#import "MGMController.h" #import "MGMController.h"
#import "MGMAccountController.h"
#import "MGMAccountSetup.h" #import "MGMAccountSetup.h"
#import "MGMVMAddons.h" #import "MGMVMAddons.h"
#import <MGMUsers/MGMUsers.h>
#import <VoiceBase.h>
@implementation MGMController @implementation MGMController
- (void)awakeFromNib { - (void)awakeFromNib {
NSLog(@"Device is %@", ([[UIDevice currentDevice] isPad] ? @"iPad" : @"iPhone/iPod")); themeManager = [MGMThemeManager new];
MGMAccountSetup *accountSetup = [MGMAccountSetup new]; accountController = [[MGMAccountController alloc] initWithController:self];
[accountSetup displayStep]; [[self view] addSubview:[accountController view]];
[[self view] addSubview:[accountSetup view]];
[mainWindow addSubview:[self view]]; [mainWindow addSubview:[self view]];
if ([[MGMUser userNames] count]==0) {
MGMAccountSetup *accountSetup = [[MGMAccountSetup alloc] initWithController:self];
[[self view] addSubview:[accountSetup view]];
}
[mainWindow makeKeyAndVisible]; [mainWindow makeKeyAndVisible];
} }
- (MGMThemeManager *)themeManager {
return themeManager;
}
- (void)showAccountSetup {
MGMAccountSetup *accountSetup = [[MGMAccountSetup alloc] initWithController:self];
[accountSetup setSetupOnly:YES];
CGRect inViewFrame = [[accountSetup view] frame];
inViewFrame.origin.y += inViewFrame.size.height;
[[accountSetup view] setFrame:inViewFrame];
[[self view] addSubview:[accountSetup view]];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
CGRect outViewFrame = [[accountSetup view] frame];
outViewFrame.origin.y -= outViewFrame.size.height;
[[accountSetup view] setFrame:outViewFrame];
[UIView commitAnimations];
}
- (void)dismissAccountSetup:(MGMAccountSetup *)theAccountSetup {
[UIView beginAnimations:nil context:theAccountSetup];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(dismissAnimationDidStop:finished:accountSetup:)];
CGRect outViewFrame = [[theAccountSetup view] frame];
outViewFrame.origin.y += outViewFrame.size.height;
[[theAccountSetup view] setFrame:outViewFrame];
[UIView commitAnimations];
}
- (void)dismissAnimationDidStop:(NSString *)animationID finished:(NSNumber *)finished accountSetup:(MGMAccountSetup *)theAccountSetup {
[[theAccountSetup view] removeFromSuperview];
[theAccountSetup release];
}
@end @end

View File

@ -1,17 +0,0 @@
//
// MGMSIPUser.h
// VoiceMob
//
// Created by Mr. Gecko on 9/24/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import <UIKit/UIKit.h>
extern NSString * const MGMSIPUserAreaCode;
@interface MGMSIPUser : NSObject {
}
@end

View File

@ -1,15 +0,0 @@
//
// MGMSIPUser.m
// VoiceMob
//
// Created by Mr. Gecko on 9/24/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMSIPUser.h"
NSString * const MGMSIPUserAreaCode = @"MGMVSIPUserAreaCode";
@implementation MGMSIPUser
@end

View File

@ -0,0 +1,29 @@
//
// MGMSIPUser.h
// VoiceMob
//
// Created by Mr. Gecko on 9/24/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import <UIKit/UIKit.h>
extern NSString * const MGMSIPUserAreaCode;
@class MGMAccountController, MGMUser;
@interface MGMSIPUser : NSObject {
MGMAccountController *accountController;
MGMUser *user;
IBOutlet UIView *view;
}
+ (id)SIPUser:(MGMUser *)theUser accountController:(MGMAccountController *)theAccountController;
- (id)initWithUser:(MGMUser *)theUser accountController:(MGMAccountController *)theAccountController;
- (MGMAccountController *)accountController;
- (MGMUser *)user;
- (UIView *)view;
- (void)releaseView;
@end

View File

@ -0,0 +1,64 @@
//
// MGMSIPUser.m
// VoiceMob
//
// Created by Mr. Gecko on 9/24/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMSIPUser.h"
#import "MGMVMAddons.h"
#import <MGMUsers/MGMUsers.h>
#import <VoiceBase.h>
NSString * const MGMSIPUserAreaCode = @"MGMVSIPUserAreaCode";
@implementation MGMSIPUser
+ (id)SIPUser:(MGMUser *)theUser accountController:(MGMAccountController *)theAccountController {
return [[[self alloc] initWithUser:theUser accountController:theAccountController] autorelease];
}
- (id)initWithUser:(MGMUser *)theUser accountController:(MGMAccountController *)theAccountController {
if (self = [super init]) {
accountController = theAccountController;
user = [theUser retain];
}
return self;
}
- (void)dealloc {
[self releaseView];
if (user!=nil)
[user release];
[super dealloc];
}
- (MGMAccountController *)accountController {
return accountController;
}
- (MGMUser *)user {
return user;
}
- (NSString *)title {
if ([user settingForKey:MGMSIPAccountFullName]!=nil && ![[user settingForKey:MGMSIPAccountFullName] isEqual:@""])
return [user settingForKey:MGMSIPAccountFullName];
return [user settingForKey:MGMUserName];
}
- (UIView *)view {
if (view==nil) {
if (![[NSBundle mainBundle] loadNibNamed:[[UIDevice currentDevice] appendDeviceSuffixToString:@"SIPUser"] owner:self options:nil]) {
NSLog(@"Unable to load SIP User");
[self release];
self = nil;
} else {
}
}
return view;
}
- (void)releaseView {
if (view!=nil) {
[view release];
view = nil;
}
}
@end

View File

@ -0,0 +1,22 @@
//
// MGMContactView.h
// VoiceMob
//
// Created by Mr. Gecko on 9/29/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import <Foundation/Foundation.h>
@class MGMThemeManager;
@interface MGMContactView : UITableViewCell {
MGMThemeManager *themeManager;
UIImageView *photoView;
UILabel *nameField;
UILabel *phoneField;
NSDictionary *contact;
}
- (void)setThemeManager:(MGMThemeManager *)theThemeManager;
- (void)setContact:(NSDictionary *)theContact;
@end

View File

@ -0,0 +1,70 @@
//
// MGMContactView.m
// VoiceMob
//
// Created by Mr. Gecko on 9/29/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMContactView.h"
#import <VoiceBase.h>
@implementation MGMContactView
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
photoView = [[UIImageView alloc] initWithFrame:CGRectZero];
[[self contentView] addSubview:photoView];
nameField = [[UILabel alloc] initWithFrame:CGRectZero];
[nameField setBackgroundColor:[UIColor clearColor]];
[nameField setFont:[UIFont boldSystemFontOfSize:18.0]];
[[self contentView] addSubview:nameField];
phoneField = [[UILabel alloc] initWithFrame:CGRectZero];
[phoneField setBackgroundColor:[UIColor clearColor]];
[phoneField setFont:[UIFont systemFontOfSize:15.0]];
[[self contentView] addSubview:phoneField];
}
return self;
}
- (void)dealloc {
if (photoView!=nil)
[photoView release];
if (nameField!=nil)
[nameField release];
if (phoneField!=nil)
[phoneField release];
[super dealloc];
}
- (void)setThemeManager:(MGMThemeManager *)theThemeManager {
themeManager = theThemeManager;
}
- (void)setContact:(NSDictionary *)theContact {
if (contact!=nil) [contact release];
contact = [theContact retain];
}
- (void)layoutSubviews {
[super layoutSubviews];
CGRect frameRect = [[self contentView] bounds];
if (contact!=nil) {
if ([contact objectForKey:MGMCPhoto]==nil || [[contact objectForKey:MGMCPhoto] isKindOfClass:[NSNull class]])
[photoView setImage:[[[UIImage alloc] initWithContentsOfFile:[themeManager incomingIconPath]] autorelease]];
else
[photoView setImage:[[[UIImage alloc] initWithData:[contact objectForKey:MGMCPhoto]] autorelease]];
if ([[contact objectForKey:MGMCName] isEqual:@""])
[nameField setText:[contact objectForKey:MGMCCompany]];
else
[nameField setText:[contact objectForKey:MGMCName]];
if ([[contact objectForKey:MGMCLabel] isEqual:@""])
[phoneField setText:[[contact objectForKey:MGMCNumber] readableNumber]];
else
[phoneField setText:[NSString stringWithFormat:@"%@ %@", [[contact objectForKey:MGMCNumber] readableNumber], [contact objectForKey:MGMCLabel]]];
}
[photoView setFrame:CGRectMake(0, 0, frameRect.size.height, frameRect.size.height)];
[nameField setFrame:CGRectMake(frameRect.size.height+8, 10, frameRect.size.width-(frameRect.size.height+12), 20)];
[phoneField setFrame:CGRectMake(frameRect.size.height+8, frameRect.size.height-27, frameRect.size.width-(frameRect.size.height+12), 20)];
}
@end

View File

@ -0,0 +1,19 @@
//
// MGMNumberView.h
// VoiceMob
//
// Created by Mr. Gecko on 9/28/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import <UIKit/UIKit.h>
@interface MGMNumberView : UIControl {
NSString *number;
NSString *alphabet;
BOOL touching;
}
- (NSString *)number;
- (void)setNumber:(NSString *)theNumber;
- (NSString *)alphabet;
@end

View File

@ -0,0 +1,189 @@
//
// MGMNumberView.m
// VoiceMob
//
// Created by Mr. Gecko on 9/28/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMNumberView.h"
NSString * const MGMFontName = @"Helvetica";
@implementation MGMNumberView
- (void)dealloc {
if (number!=nil)
[number release];
if (alphabet!=nil)
[alphabet release];
[super dealloc];
}
- (NSString *)number {
if (number==nil) {
switch ([self tag]) {
case -1:
break;
case 10:
number = [@"✱" retain];
break;
case 11:
number = [@"#" retain];
break;
case 12:
number = [@"SMS" retain];
break;
case 13:
number = [@"Call" retain];
break;
case 14:
number = [@"↵" retain];
break;
default:
number = [[[NSNumber numberWithInt:[self tag]] stringValue] copy];
break;
}
}
return number;
}
- (void)setNumber:(NSString *)theNumber {
if (number!=nil) [number release];
number = [theNumber copy];
[self setNeedsDisplay];
}
- (NSString *)alphabet {
if (alphabet==nil) {
switch ([self tag]) {
case 0:
alphabet = [@"+" retain];
break;
case 2:
alphabet = [@"ABC" retain];
break;
case 3:
alphabet = [@"DEF" retain];
break;
case 4:
alphabet = [@"GHI" retain];
break;
case 5:
alphabet = [@"JKL" retain];
break;
case 6:
alphabet = [@"MNO" retain];
break;
case 7:
alphabet = [@"PQRS" retain];
break;
case 8:
alphabet = [@"TUV" retain];
break;
case 9:
alphabet = [@"WXYZ" retain];
break;
default:
break;
}
}
return alphabet;
}
- (void)setTouching:(BOOL)isTouching {
touching = isTouching;
[self setNeedsDisplay];
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesBegan:touches withEvent:event];
[self setTouching:YES];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesEnded:touches withEvent:event];
[self setTouching:NO];
}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesCancelled:touches withEvent:event];
[self setTouching:NO];
}
- (void)drawRect:(CGRect)rect {
CGContextRef currentContext = UIGraphicsGetCurrentContext();
CGContextSaveGState(currentContext);
CGMutablePathRef path = CGPathCreateMutable();
CGRect bounds = [self bounds];
CGPathAddRect(path, NULL, bounds);
CGContextAddPath(currentContext, path);
CGContextClip(currentContext);
CGColorRef colorsRef[2];
if (touching) {
colorsRef[0] = [[UIColor colorWithRed:0.5 green:0.5 blue:1.0 alpha:1.0] CGColor];
colorsRef[1] = [[UIColor colorWithRed:0.1 green:0.1 blue:0.5 alpha:1.0] CGColor];
} else {
if ([self tag]==13) {
colorsRef[0] = [[UIColor colorWithRed:0.5 green:1.0 blue:0.5 alpha:1.0] CGColor];
colorsRef[1] = [[UIColor colorWithRed:0.1 green:0.5 blue:0.1 alpha:1.0] CGColor];
} else if ([self tag]==14) {
colorsRef[0] = [[UIColor colorWithRed:1.0 green:0.5 blue:0.5 alpha:1.0] CGColor];
colorsRef[1] = [[UIColor colorWithRed:0.5 green:0.1 blue:0.1 alpha:1.0] CGColor];
} else {
colorsRef[0] = [[UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0] CGColor];
colorsRef[1] = [[UIColor colorWithRed:0.1 green:0.1 blue:0.1 alpha:1.0] CGColor];
}
}
CFArrayRef colors = CFArrayCreate(NULL, (const void **)colorsRef, sizeof(colorsRef) / sizeof(CGColorRef), &kCFTypeArrayCallBacks);
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, colors, NULL);
CFRelease(colorSpace);
CFRelease(colors);
CGPoint start = bounds.origin;
bounds.origin.y += bounds.size.height;
CGPoint end = bounds.origin;
CGContextDrawLinearGradient(currentContext, gradient, start, end, 0);
CFRelease(gradient);
CFRelease(path);
CGRect strokeRect = bounds;
strokeRect.origin.x = 0;
strokeRect.origin.y = 0;
CGContextSetStrokeColorWithColor(currentContext, [[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0] CGColor]);
CGContextStrokeRectWithWidth(currentContext, strokeRect, 2.0);
CGContextRestoreGState(currentContext);
[[UIColor whiteColor] set];
if ([self number]!=nil) {
if ([self tag]>=0 && [self tag]<=11) {
UIFont *font = [UIFont fontWithName:MGMFontName size:bounds.size.height-20.0];
CGFloat actualSize;
CGSize numberSize = [[self number] sizeWithFont:font minFontSize:0.5 actualFontSize:&actualSize forWidth:bounds.size.width lineBreakMode:UILineBreakModeClip];
font = [UIFont fontWithName:MGMFontName size:actualSize];
numberSize = [[self number] sizeWithFont:font forWidth:bounds.size.width lineBreakMode:UILineBreakModeClip];
CGPoint numberPoint = CGPointMake((bounds.size.width-numberSize.width)/2, 1);
[[self number] drawAtPoint:numberPoint withFont:font];
} else {
UIFont *font = nil;
if ([self tag]<=13)
font = [UIFont fontWithName:MGMFontName size:bounds.size.height-10.0];
else
font = [UIFont fontWithName:MGMFontName size:bounds.size.height-6.0];
CGFloat actualSize;
CGSize numberSize = [[self number] sizeWithFont:font minFontSize:0.5 actualFontSize:&actualSize forWidth:bounds.size.width lineBreakMode:UILineBreakModeClip];
font = [UIFont fontWithName:MGMFontName size:actualSize];
numberSize = [[self number] sizeWithFont:font forWidth:bounds.size.width lineBreakMode:UILineBreakModeClip];
CGPoint numberPoint = CGPointMake((bounds.size.width-numberSize.width)/2, (bounds.size.height-numberSize.height)/2);
[[self number] drawAtPoint:numberPoint withFont:font];
}
}
if ([self alphabet]!=nil) {
UIFont *font = [UIFont fontWithName:MGMFontName size:14.0];
CGFloat actualSize;
CGSize alphabetSize = [[self alphabet] sizeWithFont:font minFontSize:0.5 actualFontSize:&actualSize forWidth:bounds.size.width lineBreakMode:UILineBreakModeClip];
font = [UIFont fontWithName:MGMFontName size:actualSize];
alphabetSize = [[self alphabet] sizeWithFont:font forWidth:bounds.size.width lineBreakMode:UILineBreakModeClip];
CGPoint alphabetPoint = CGPointMake((bounds.size.width-alphabetSize.width)/2, bounds.size.height-20);
[[self alphabet] drawAtPoint:alphabetPoint withFont:font];
}
}
@end

View File

@ -0,0 +1,19 @@
//
// MGMLoginProcessView.h
// VoiceMac
//
// Created by Mr. Gecko on 8/19/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import <UIKit/UIKit.h>
@interface MGMProgressView : UIView {
UIActivityIndicatorView *progress;
UILabel *pleaseWaitField;
UILabel *progressField;
}
- (void)startProgess;
- (void)stopProgess;
- (void)setProgressTitle:(NSString *)theTitle;
@end

View File

@ -0,0 +1,72 @@
//
// MGMLoginProcessView.m
// VoiceMac
//
// Created by Mr. Gecko on 8/19/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMProgressView.h"
@implementation MGMProgressView
- (id)initWithFrame:(CGRect)frameRect {
if (self = [super initWithFrame:frameRect]) {
[self setBackgroundColor:[UIColor clearColor]];
progress = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
[progress setFrame:CGRectMake((frameRect.size.width-37)/2, (frameRect.size.height-37)/2, 37, 37)];
[self addSubview:progress];
pleaseWaitField = [[UILabel alloc] initWithFrame:CGRectMake(17, (((frameRect.size.height-37)/2)+34)+8, frameRect.size.width-34, 21)];
[pleaseWaitField setTextColor:[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0]];
[pleaseWaitField setTextAlignment:UITextAlignmentCenter];
[pleaseWaitField setBackgroundColor:[UIColor clearColor]];
[pleaseWaitField setText:@"Please Wait..."];
[self addSubview:pleaseWaitField];
progressField = [[UILabel alloc] initWithFrame:CGRectMake(17, ((frameRect.size.height-37)/2)-30, frameRect.size.width-34, 21)];
[progressField setTextColor:[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0]];
[progressField setTextAlignment:UITextAlignmentCenter];
[progressField setBackgroundColor:[UIColor clearColor]];
[progressField setText:@"Progress"];
[self addSubview:progressField];
}
return self;
}
- (void)dealloc {
if (progress)
[progress release];
if (pleaseWaitField!=nil)
[pleaseWaitField release];
if (progressField!=nil)
[progressField release];
[super dealloc];
}
- (void)layoutSubviews {
[super layoutSubviews];
CGRect frameRect = [self frame];
[progress setFrame:CGRectMake((frameRect.size.width-37)/2, (frameRect.size.height-37)/2, 37, 37)];
[pleaseWaitField setFrame:CGRectMake(17, ((frameRect.size.height-37)/2)-37, frameRect.size.width-37, 21)];
[progressField setFrame:CGRectMake(17, (((frameRect.size.height-37)/2)+37)+12, frameRect.size.width-37, 21)];
}
- (void)startProgess {
[progress startAnimating];
}
- (void)stopProgess {
[progress stopAnimating];
}
- (void)setProgressTitle:(NSString *)theTitle {
[progressField setText:theTitle];
}
- (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextClearRect(context, [self bounds]);
CGContextSetFillColorWithColor(context, [[UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.5] CGColor]);
CGContextBeginPath(context);
CGContextAddRect(context, rect);
CGContextClosePath(context);
CGContextFillPath(context);
}
- (BOOL)canBecomeFirstResponder {
return YES;
}
@end

View File

@ -0,0 +1,27 @@
//
// MGMVoiceContacts.h
// VoiceMob
//
// Created by Mr. Gecko on 9/29/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import <UIKit/UIKit.h>
#import "MGMContactsController.h"
@class MGMVoiceUser;
@interface MGMVoiceContacts : MGMContactsController <UIActionSheetDelegate> {
MGMVoiceUser *voiceUser;
IBOutlet UIView *view;
NSDictionary *selectedContact;
}
+ (id)tabWithVoiceUser:(MGMVoiceUser *)theVoiceUser;
- (id)initWithVoiceUser:(MGMVoiceUser *)theVoiceUser;
- (MGMVoiceUser *)voiceUser;
- (UIView *)view;
- (void)releaseView;
@end

View File

@ -0,0 +1,69 @@
//
// MGMVoiceContacts.m
// VoiceMob
//
// Created by Mr. Gecko on 9/29/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMVoiceContacts.h"
#import "MGMVoiceUser.h"
#import "MGMVMAddons.h"
#import <VoiceBase.h>
@implementation MGMVoiceContacts
+ (id)tabWithVoiceUser:(MGMVoiceUser *)theVoiceUser {
return [[[self alloc] initWithVoiceUser:theVoiceUser] autorelease];
}
- (id)initWithVoiceUser:(MGMVoiceUser *)theVoiceUser {
if (self = [super initWithAccountController:[theVoiceUser accountController]]) {
voiceUser = theVoiceUser;
}
return self;
}
- (MGMVoiceUser *)voiceUser {
return voiceUser;
}
- (MGMContacts *)contacts {
return [[voiceUser instance] contacts];
}
- (UIView *)view {
if (![[NSBundle mainBundle] loadNibNamed:[[UIDevice currentDevice] appendDeviceSuffixToString:@"VoiceContacts"] owner:self options:nil]) {
NSLog(@"Unable to load Voice Contacts");
[self release];
self = nil;
} else {
[super awakeFromNib];
}
return view;
}
- (void)releaseView {
if (view!=nil) {
[view release];
view = nil;
}
[super releaseView];
}
- (void)selectedContact:(NSDictionary *)theContact {
selectedContact = theContact;
UIActionSheet *theAction = [[UIActionSheet new] autorelease];
[theAction addButtonWithTitle:@"Call"];
[theAction addButtonWithTitle:@"SMS"];
[theAction addButtonWithTitle:@"Reverse Lookup"];
[theAction addButtonWithTitle:@"Cancel"];
[theAction setCancelButtonIndex:3];
[theAction setDelegate:self];
[theAction showInView:[voiceUser view]];
}
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
if (buttonIndex==0) {
[voiceUser call:[selectedContact objectForKey:MGMCNumber]];
}
selectedContact = nil;
[contactsTable deselectRowAtIndexPath:[contactsTable indexPathForSelectedRow] animated:YES];
}
@end

View File

@ -0,0 +1,32 @@
//
// MGMVoicePad.h
// VoiceMob
//
// Created by Mr. Gecko on 9/29/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import <UIKit/UIKit.h>
@class MGMVoiceUser, MGMNumberView;
@interface MGMVoicePad : NSObject {
MGMVoiceUser *voiceUser;
IBOutlet UIView *view;
NSString *numberString;
IBOutlet MGMNumberView *numberView;
}
+ (id)tabWithVoiceUser:(MGMVoiceUser *)theVoiceUser;
- (id)initWithVoiceUser:(MGMVoiceUser *)theVoiceUser;
- (MGMVoiceUser *)voiceUser;
- (UIView *)view;
- (void)releaseView;
- (IBAction)dial:(id)sender;
- (IBAction)delete:(id)sender;
- (IBAction)call:(id)sender;
@end

View File

@ -0,0 +1,97 @@
//
// MGMVoicePad.m
// VoiceMob
//
// Created by Mr. Gecko on 9/29/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMVoicePad.h"
#import "MGMVoiceUser.h"
#import "MGMNumberView.h"
#import "MGMVMAddons.h"
#import <VoiceBase.h>
@implementation MGMVoicePad
+ (id)tabWithVoiceUser:(MGMVoiceUser *)theVoiceUser {
return [[[self alloc] initWithVoiceUser:theVoiceUser] autorelease];
}
- (id)initWithVoiceUser:(MGMVoiceUser *)theVoiceUser {
if (self = [super init]) {
voiceUser = theVoiceUser;
}
return self;
}
- (void)dealloc {
[self releaseView];
if (numberString!=nil)
[numberString release];
[super dealloc];
}
- (MGMVoiceUser *)voiceUser {
return voiceUser;
}
- (UIView *)view {
if (![[NSBundle mainBundle] loadNibNamed:[[UIDevice currentDevice] appendDeviceSuffixToString:@"VoicePad"] owner:self options:nil]) {
NSLog(@"Unable to load Voice Pad");
[self release];
self = nil;
} else {
if (numberString!=nil)
[numberView setNumber:numberString];
else
[numberView setNumber:@""];
}
return view;
}
- (void)releaseView {
if (view!=nil) {
[view release];
view = nil;
}
}
- (IBAction)dial:(id)sender {
NSString *number = [numberView number];
if ([number length]==0 && [sender tag]==0) {
[numberView setNumber:@"+"];
} else {
NSString *numberAdd = nil;
switch ([sender tag]) {
case 10:
case 11:
break;
default:
numberAdd = [[NSNumber numberWithInt:[sender tag]] stringValue];
break;
}
if (numberAdd!=nil)
number = [number stringByAppendingString:numberAdd];
if (numberString!=nil) [numberString release];
numberString = [[number readableNumber] copy];
[numberView setNumber:numberString];
}
}
- (IBAction)delete:(id)sender {
NSString *number = [numberView number];
if ([number length]!=0) {
number = [number substringToIndex:[number length]-1];
if (numberString!=nil) [numberString release];
numberString = [[number readableNumber] copy];
[numberView setNumber:numberString];
}
}
- (IBAction)call:(id)sender {
if ([numberString isPhoneComplete]) {
[voiceUser call:[numberString phoneFormatWithAreaCode:[voiceUser areaCode]]];
} else {
UIAlertView *theAlert = [[UIAlertView new] autorelease];
[theAlert setTitle:@"Incorrect Number"];
[theAlert setMessage:@"The phone number you have entered is incorrect."];
[theAlert addButtonWithTitle:MGMOkButtonTitle];
[theAlert show];
}
}
@end

View File

@ -0,0 +1,58 @@
//
// MGMVoiceUser.h
// VoiceMob
//
// Created by Mr. Gecko on 9/28/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import <Foundation/Foundation.h>
@class MGMVoiceUser, MGMAccountController, MGMUser, MGMInstance, MGMProgressView;
@protocol MGMVoiceUserTabProtocol <NSObject>
+ (id)tabWithVoiceUser:(MGMVoiceUser *)theVoiceUser;
- (id)initWithVoiceUser:(MGMVoiceUser *)theVoiceUser;
- (MGMVoiceUser *)voiceUser;
- (UIView *)view;
- (void)releaseView;
@end
@interface MGMVoiceUser : NSObject {
MGMAccountController *accountController;
MGMUser *user;
MGMInstance *instance;
int currentTab;
NSMutableArray *tabObjects;
MGMProgressView *progressView;
IBOutlet UIView *view;
IBOutlet UIView *tabView;
IBOutlet UITabBar *tabBar;
BOOL placingCall;
NSTimer *callTimer;
UIAlertView *callCancelView;
}
+ (id)voiceUser:(MGMUser *)theUser accountController:(MGMAccountController *)theAccountController;
- (id)initWithUser:(MGMUser *)theUser accountController:(MGMAccountController *)theAccountController;
- (MGMAccountController *)accountController;
- (MGMUser *)user;
- (MGMInstance *)instance;
- (NSString *)title;
- (NSString *)areaCode;
- (UIView *)view;
- (void)releaseView;
- (void)loginSuccessful;
- (void)setInstanceInfo;
- (BOOL)isPlacingCall;
- (void)call:(NSString *)theNumber;
@end

View File

@ -0,0 +1,212 @@
//
// MGMVoiceUser.m
// VoiceMob
//
// Created by Mr. Gecko on 9/28/10.
// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMVoiceUser.h"
#import "MGMVoicePad.h"
#import "MGMVoiceContacts.h"
#import "MGMProgressView.h"
#import "MGMAccountController.h"
#import "MGMVMAddons.h"
#import <MGMUsers/MGMUsers.h>
#import <VoiceBase.h>
@implementation MGMVoiceUser
+ (id)voiceUser:(MGMUser *)theUser accountController:(MGMAccountController *)theAccountController {
return [[[self alloc] initWithUser:theUser accountController:theAccountController] autorelease];
}
- (id)initWithUser:(MGMUser *)theUser accountController:(MGMAccountController *)theAccountController {
if (self = [super init]) {
accountController = theAccountController;
user = [theUser retain];
currentTab = 0;
tabObjects = [NSMutableArray new];
[tabObjects addObject:[MGMVoicePad tabWithVoiceUser:self]];
[tabObjects addObject:[MGMVoiceContacts tabWithVoiceUser:self]];
if ([user isStarted])
instance = [[MGMInstance instanceWithUser:user delegate:self] retain];
}
return self;
}
- (void)dealloc {
[self releaseView];
if (user!=nil)
[user release];
[super dealloc];
}
- (MGMAccountController *)accountController {
return accountController;
}
- (MGMUser *)user {
return user;
}
- (MGMInstance *)instance {
return instance;
}
- (NSString *)title {
if ([instance isLoggedIn])
return [[instance userNumber] readableNumber];
return [user settingForKey:MGMUserName];
}
- (NSString *)areaCode {
if (![instance isLoggedIn])
return nil;
return [instance userAreaCode];
}
- (UIView *)view {
if (view==nil) {
if (![[NSBundle mainBundle] loadNibNamed:[[UIDevice currentDevice] appendDeviceSuffixToString:@"VoiceUser"] owner:self options:nil]) {
NSLog(@"Unable to load Voice User");
[self release];
self = nil;
} else {
[tabView addSubview:[[tabObjects objectAtIndex:currentTab] view]];
[tabBar setSelectedItem:[[tabBar items] objectAtIndex:currentTab]];
if (![instance isLoggedIn]) {
CGSize contentSize = [view frame].size;
progressView = [[MGMProgressView alloc] initWithFrame:CGRectMake(0, 0, contentSize.width, contentSize.height)];
[progressView setProgressTitle:@"Logging In"];
[view addSubview:progressView];
[progressView startProgess];
[progressView becomeFirstResponder];
} else {
[self setInstanceInfo];
}
}
}
return view;
}
- (void)releaseView {
if (view!=nil) {
[view release];
view = nil;
[[tabObjects objectAtIndex:currentTab] releaseView];
}
}
- (void)loginError:(NSError *)theError {
UIAlertView *theAlert = [[UIAlertView new] autorelease];
[theAlert setTitle:@"Error logging in"];
[theAlert setMessage:[theError localizedDescription]];
[theAlert addButtonWithTitle:MGMOkButtonTitle];
[theAlert show];
if (progressView!=nil) {
[progressView stopProgess];
[progressView removeFromSuperview];
[progressView release];
progressView = nil;
}
}
- (void)loginSuccessful {
if (progressView!=nil) {
[progressView stopProgess];
[progressView setNeedsDisplay];
}
[self setInstanceInfo];
if ([accountController isCurrent:self])
[accountController setTitle:[[instance userNumber] readableNumber]];
if (progressView!=nil) {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(progressFadeAnimationDidStop:finished:context:)];
[progressView setAlpha:0.0];
[UIView commitAnimations];
}
}
- (void)setInstanceInfo {
}
- (void)progressFadeAnimationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {
if (progressView!=nil) {
[progressView removeFromSuperview];
[progressView release];
progressView = nil;
}
}
- (void)updatedContacts {
[[tabObjects objectAtIndex:1] updatedContacts];
}
- (BOOL)isPlacingCall {
return (callTimer!=nil);
}
- (void)call:(NSString *)theNumber {
placingCall = YES;
callTimer = [[NSTimer scheduledTimerWithTimeInterval:20.0 target:self selector:@selector(callTimer) userInfo:nil repeats:NO] retain];
[instance placeCall:theNumber usingPhone:0 delegate:self];
callCancelView = [UIAlertView new];
[callCancelView setTitle:@"Placing Call"];
[callCancelView addButtonWithTitle:@"Cancel Call"];
[callCancelView setDelegate:self];
[callCancelView show];
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
if (alertView==callCancelView) {
if (callTimer!=nil) {
[callTimer invalidate];
[callTimer release];
callTimer = nil;
}
[callCancelView release];
callCancelView = nil;
[instance cancelCallWithDelegate:self];
}
}
- (void)call:(NSDictionary *)theInfo didFailWithError:(NSError *)theError {
placingCall = NO;
if (callTimer!=nil)
[callTimer fire];
UIAlertView *theAlert = [[UIAlertView new] autorelease];
[theAlert setTitle:@"Call Failed"];
[theAlert setMessage:[theError localizedDescription]];
[theAlert addButtonWithTitle:MGMOkButtonTitle];
[theAlert show];
}
- (void)callDidFinish:(NSDictionary *)theInfo {
placingCall = NO;
NSLog(@"YEA! We Made The Call!");
}
- (void)callCancel:(NSDictionary *)theInfo didFailWithError:(NSError *)theError {
UIAlertView *theAlert = [[UIAlertView new] autorelease];
[theAlert setTitle:@"Call Cancel Failed"];
[theAlert setMessage:[theError localizedDescription]];
[theAlert addButtonWithTitle:MGMOkButtonTitle];
[theAlert show];
}
- (void)callTimer {
if (callTimer!=nil) {
[callTimer invalidate];
[callTimer release];
callTimer = nil;
}
[callCancelView dismissWithClickedButtonIndex:0 animated:YES];
[callCancelView release];
callCancelView = nil;
}
- (void)tabBar:(UITabBar *)theTabBar didSelectItem:(UITabBarItem *)item {
int tabIndex = [[tabBar items] indexOfObject:item];
if (tabIndex==currentTab)
return;
id tab = [tabObjects objectAtIndex:currentTab];
currentTab = tabIndex;
id newTab = [tabObjects objectAtIndex:currentTab];
[tabView addSubview:[newTab view]];
[[tab view] removeFromSuperview];
[tab releaseView];
}
@end

View File

@ -5,4 +5,5 @@
#ifdef __OBJC__ #ifdef __OBJC__
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#define MGMOkButtonTitle @"Ok"
#endif #endif

View File

@ -3,7 +3,7 @@
// VoiceMob // VoiceMob
// //
// Created by Mr. Gecko on 9/24/10. // Created by Mr. Gecko on 9/24/10.
// Copyright Mr. Gecko's Media 2010. All rights reserved. // Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
// //
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>

View File

@ -12,7 +12,6 @@
</object> </object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
<integer value="1"/>
</object> </object>
<object class="NSArray" key="IBDocument.PluginDependencies"> <object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
@ -48,6 +47,7 @@
<int key="NSvFlags">12</int> <int key="NSvFlags">12</int>
<string key="NSFrame">{{176, 0}, {301, 220}}</string> <string key="NSFrame">{{176, 0}, {301, 220}}</string>
<reference key="NSSuperview" ref="1005"/> <reference key="NSSuperview" ref="1005"/>
<reference key="NSWindow"/>
<object class="NSMutableArray" key="NSTabViewItems"> <object class="NSMutableArray" key="NSTabViewItems">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTabViewItem" id="116001565"> <object class="NSTabViewItem" id="116001565">
@ -686,6 +686,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{10, 172}, {76, 17}}</string> <string key="NSFrame">{{10, 172}, {76, 17}}</string>
<reference key="NSSuperview" ref="391835408"/> <reference key="NSSuperview" ref="391835408"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool> <bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="1048041746"> <object class="NSTextFieldCell" key="NSCell" id="1048041746">
<int key="NSCellFlags">68288064</int> <int key="NSCellFlags">68288064</int>
@ -702,6 +703,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{10, 144}, {76, 17}}</string> <string key="NSFrame">{{10, 144}, {76, 17}}</string>
<reference key="NSSuperview" ref="391835408"/> <reference key="NSSuperview" ref="391835408"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool> <bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="987651307"> <object class="NSTextFieldCell" key="NSCell" id="987651307">
<int key="NSCellFlags">68288064</int> <int key="NSCellFlags">68288064</int>
@ -718,6 +720,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{91, 170}, {181, 22}}</string> <string key="NSFrame">{{91, 170}, {181, 22}}</string>
<reference key="NSSuperview" ref="391835408"/> <reference key="NSSuperview" ref="391835408"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool> <bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="872600294"> <object class="NSTextFieldCell" key="NSCell" id="872600294">
<int key="NSCellFlags">-1804468671</int> <int key="NSCellFlags">-1804468671</int>
@ -735,6 +738,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{91, 142}, {181, 22}}</string> <string key="NSFrame">{{91, 142}, {181, 22}}</string>
<reference key="NSSuperview" ref="391835408"/> <reference key="NSSuperview" ref="391835408"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool> <bool key="NSEnabled">YES</bool>
<object class="NSSecureTextFieldCell" key="NSCell" id="41037212"> <object class="NSSecureTextFieldCell" key="NSCell" id="41037212">
<int key="NSCellFlags">343014976</int> <int key="NSCellFlags">343014976</int>
@ -754,10 +758,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object> </object>
<string key="NSFrame">{{1, 1}, {285, 204}}</string> <string key="NSFrame">{{1, 1}, {285, 204}}</string>
<reference key="NSSuperview" ref="541849491"/> <reference key="NSSuperview" ref="541849491"/>
<reference key="NSWindow"/>
</object> </object>
</object> </object>
<string key="NSFrame">{{7, 6}, {287, 206}}</string> <string key="NSFrame">{{7, 6}, {287, 206}}</string>
<reference key="NSSuperview" ref="720479630"/> <reference key="NSSuperview" ref="720479630"/>
<reference key="NSWindow"/>
<string key="NSOffsets">{0, 0}</string> <string key="NSOffsets">{0, 0}</string>
<object class="NSTextFieldCell" key="NSTitleCell"> <object class="NSTextFieldCell" key="NSTitleCell">
<int key="NSCellFlags">67239424</int> <int key="NSCellFlags">67239424</int>
@ -779,6 +785,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object> </object>
<string key="NSFrameSize">{301, 220}</string> <string key="NSFrameSize">{301, 220}</string>
<reference key="NSSuperview" ref="33036233"/> <reference key="NSSuperview" ref="33036233"/>
<reference key="NSWindow"/>
</object> </object>
<string key="NSLabel">Google Contacts</string> <string key="NSLabel">Google Contacts</string>
<reference key="NSColor" ref="661034050"/> <reference key="NSColor" ref="661034050"/>
@ -1516,6 +1523,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">4352</int> <int key="NSvFlags">4352</int>
<string key="NSFrameSize">{174, 198}</string> <string key="NSFrameSize">{174, 198}</string>
<reference key="NSSuperview" ref="422138172"/> <reference key="NSSuperview" ref="422138172"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool> <bool key="NSEnabled">YES</bool>
<object class="_NSCornerView" key="NSCornerView"> <object class="_NSCornerView" key="NSCornerView">
<nil key="NSNextResponder"/> <nil key="NSNextResponder"/>
@ -1620,6 +1628,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object> </object>
<string key="NSFrame">{{1, 1}, {174, 198}}</string> <string key="NSFrame">{{1, 1}, {174, 198}}</string>
<reference key="NSSuperview" ref="144243426"/> <reference key="NSSuperview" ref="144243426"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="813510465"/> <reference key="NSNextKeyView" ref="813510465"/>
<reference key="NSDocView" ref="813510465"/> <reference key="NSDocView" ref="813510465"/>
<reference key="NSBGColor" ref="795680368"/> <reference key="NSBGColor" ref="795680368"/>
@ -1630,6 +1639,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">-2147483392</int> <int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{263, 1}, {15, 80}}</string> <string key="NSFrame">{{263, 1}, {15, 80}}</string>
<reference key="NSSuperview" ref="144243426"/> <reference key="NSSuperview" ref="144243426"/>
<reference key="NSWindow"/>
<reference key="NSTarget" ref="144243426"/> <reference key="NSTarget" ref="144243426"/>
<string key="NSAction">_doScroller:</string> <string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.84210532903671265</double> <double key="NSPercent">0.84210532903671265</double>
@ -1639,6 +1649,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">-2147483392</int> <int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{1, 81}, {277, 15}}</string> <string key="NSFrame">{{1, 81}, {277, 15}}</string>
<reference key="NSSuperview" ref="144243426"/> <reference key="NSSuperview" ref="144243426"/>
<reference key="NSWindow"/>
<int key="NSsFlags">1</int> <int key="NSsFlags">1</int>
<reference key="NSTarget" ref="144243426"/> <reference key="NSTarget" ref="144243426"/>
<string key="NSAction">_doScroller:</string> <string key="NSAction">_doScroller:</string>
@ -1647,6 +1658,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object> </object>
<string key="NSFrame">{{0, 20}, {176, 200}}</string> <string key="NSFrame">{{0, 20}, {176, 200}}</string>
<reference key="NSSuperview" ref="1005"/> <reference key="NSSuperview" ref="1005"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="422138172"/> <reference key="NSNextKeyView" ref="422138172"/>
<int key="NSsFlags">562</int> <int key="NSsFlags">562</int>
<reference key="NSVScroller" ref="702323107"/> <reference key="NSVScroller" ref="702323107"/>
@ -1657,8 +1669,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSButton" id="355098580"> <object class="NSButton" id="355098580">
<reference key="NSNextResponder" ref="1005"/> <reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{59, -1}, {116.271, 23}}</string> <string key="NSFrame">{{60, -1}, {116.271, 23}}</string>
<reference key="NSSuperview" ref="1005"/> <reference key="NSSuperview" ref="1005"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool> <bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="386925010"> <object class="NSButtonCell" key="NSCell" id="386925010">
<int key="NSCellFlags">-2080244224</int> <int key="NSCellFlags">-2080244224</int>
@ -1679,6 +1692,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{30, -1}, {30, 23}}</string> <string key="NSFrame">{{30, -1}, {30, 23}}</string>
<reference key="NSSuperview" ref="1005"/> <reference key="NSSuperview" ref="1005"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool> <bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="974479652"> <object class="NSButtonCell" key="NSCell" id="974479652">
<int key="NSCellFlags">-2080244224</int> <int key="NSCellFlags">-2080244224</int>
@ -1699,6 +1713,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{0, -1}, {30, 23}}</string> <string key="NSFrame">{{0, -1}, {30, 23}}</string>
<reference key="NSSuperview" ref="1005"/> <reference key="NSSuperview" ref="1005"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool> <bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="1035545349"> <object class="NSButtonCell" key="NSCell" id="1035545349">
<int key="NSCellFlags">-2080244224</int> <int key="NSCellFlags">-2080244224</int>
@ -1717,6 +1732,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object> </object>
<string key="NSFrameSize">{477, 220}</string> <string key="NSFrameSize">{477, 220}</string>
<reference key="NSSuperview"/> <reference key="NSSuperview"/>
<reference key="NSWindow"/>
<string key="NSClassName">NSView</string> <string key="NSClassName">NSView</string>
</object> </object>
</object> </object>
@ -3725,13 +3741,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="minorKey">AppKit.framework/Headers/NSMenuItemCell.h</string> <string key="minorKey">AppKit.framework/Headers/NSMenuItemCell.h</string>
</object> </object>
</object> </object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AddressBook.framework/Headers/ABActions.h</string>
</object>
</object>
<object class="IBPartialClassDescription"> <object class="IBPartialClassDescription">
<string key="className">NSObject</string> <string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier"> <object class="IBClassDescriptionSource" key="sourceIdentifier">
@ -3983,13 +3992,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="minorKey">Growl.framework/Headers/GrowlApplicationBridge.h</string> <string key="minorKey">Growl.framework/Headers/GrowlApplicationBridge.h</string>
</object> </object>
</object> </object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">QTKit.framework/Headers/QTCaptureDecompressedAudioOutput.h</string>
</object>
</object>
<object class="IBPartialClassDescription"> <object class="IBPartialClassDescription">
<string key="className">NSObject</string> <string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier"> <object class="IBClassDescriptionSource" key="sourceIdentifier">
@ -4316,7 +4318,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<integer value="3000" key="NS.object.0"/> <integer value="3000" key="NS.object.0"/>
</object> </object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">../../../VoiceMac.xcodeproj</string> <string key="IBDocument.LastKnownRelativeProjectPath">../../../../VoiceMac.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int> <int key="IBDocument.defaultPropertyAccessControl">3</int>
</data> </data>
</archive> </archive>

View File

@ -0,0 +1,545 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1024</int>
<string key="IBDocument.SystemVersion">10F569</string>
<string key="IBDocument.InterfaceBuilderVersion">788</string>
<string key="IBDocument.AppKitVersion">1038.29</string>
<string key="IBDocument.HIToolboxVersion">461.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">117</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="1"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="975951072">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="191373211">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUIView" id="592196657">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{0, 44}, {320, 416}}</string>
<reference key="NSSuperview" ref="191373211"/>
<object class="NSColor" key="IBUIBackgroundColor" id="88255389">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
<object class="NSColorSpace" key="NSCustomColorSpace">
<int key="NSID">2</int>
</object>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIToolbar" id="199768012">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">266</int>
<string key="NSFrameSize">{320, 44}</string>
<reference key="NSSuperview" ref="191373211"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableArray" key="IBUIItems">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUIBarButtonItem" id="483648728">
<string key="IBUITitle">Accounts</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIStyle">1</int>
<reference key="IBUIToolbar" ref="199768012"/>
</object>
<object class="IBUIBarButtonItem" id="398898843">
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<reference key="IBUIToolbar" ref="199768012"/>
<int key="IBUISystemItemIdentifier">5</int>
</object>
<object class="IBUIBarButtonItem" id="471140135">
<string key="IBUITitle">Settings</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIStyle">1</int>
<reference key="IBUIToolbar" ref="199768012"/>
</object>
</object>
</object>
<object class="IBUILabel" id="837703426">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{80, 10}, {160, 24}}</string>
<reference key="NSSuperview" ref="191373211"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUIContentMode">7</int>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<string key="IBUIText">(555) 555-5555</string>
<object class="NSFont" key="IBUIFont">
<string key="NSName">Helvetica-Bold</string>
<double key="NSSize">20</double>
<int key="NSfFlags">16</int>
</object>
<object class="NSColor" key="IBUITextColor" id="166597868">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<reference key="IBUIHighlightedColor" ref="166597868"/>
<object class="NSColor" key="IBUIShadowColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC4zMzMzMzMzNDMzAA</bytes>
</object>
<int key="IBUIBaselineAdjustment">1</int>
<float key="IBUIMinimumFontSize">10</float>
<int key="IBUITextAlignment">1</int>
</object>
</object>
<string key="NSFrameSize">{320, 460}</string>
<reference key="NSSuperview"/>
<reference key="IBUIBackgroundColor" ref="88255389"/>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">toolbar</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="199768012"/>
</object>
<int key="connectionID">29</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">contentView</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="592196657"/>
</object>
<int key="connectionID">30</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="191373211"/>
</object>
<int key="connectionID">31</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">titleField</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="837703426"/>
</object>
<int key="connectionID">32</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">showAccounts:</string>
<reference key="source" ref="483648728"/>
<reference key="destination" ref="372490531"/>
</object>
<int key="connectionID">33</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">showSettings:</string>
<reference key="source" ref="471140135"/>
<reference key="destination" ref="372490531"/>
</object>
<int key="connectionID">34</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1</int>
<reference key="object" ref="191373211"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="199768012"/>
<reference ref="837703426"/>
<reference ref="592196657"/>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="975951072"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="592196657"/>
<reference key="parent" ref="191373211"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">14</int>
<reference key="object" ref="199768012"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="483648728"/>
<reference ref="471140135"/>
<reference ref="398898843"/>
</object>
<reference key="parent" ref="191373211"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">15</int>
<reference key="object" ref="837703426"/>
<reference key="parent" ref="191373211"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">16</int>
<reference key="object" ref="483648728"/>
<reference key="parent" ref="199768012"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">17</int>
<reference key="object" ref="471140135"/>
<reference key="parent" ref="199768012"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">18</int>
<reference key="object" ref="398898843"/>
<reference key="parent" ref="199768012"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>1.IBEditorWindowLastContentRect</string>
<string>1.IBPluginDependency</string>
<string>14.IBPluginDependency</string>
<string>15.IBPluginDependency</string>
<string>16.IBPluginDependency</string>
<string>17.IBPluginDependency</string>
<string>18.IBPluginDependency</string>
<string>5.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>MGMAccountController</string>
<string>UIResponder</string>
<string>{{354, 276}, {320, 480}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">34</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">MGMAccountController</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>showAccounts:</string>
<string>showSettings:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
<string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>showAccounts:</string>
<string>showSettings:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBActionInfo">
<string key="name">showAccounts:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">showSettings:</string>
<string key="candidateClassName">id</string>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>contentView</string>
<string>titleField</string>
<string>toolbar</string>
<string>view</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>UIView</string>
<string>UILabel</string>
<string>UIToolbar</string>
<string>UIView</string>
</object>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>contentView</string>
<string>titleField</string>
<string>toolbar</string>
<string>view</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBToOneOutletInfo">
<string key="name">contentView</string>
<string key="candidateClassName">UIView</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">titleField</string>
<string key="candidateClassName">UILabel</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">toolbar</string>
<string key="candidateClassName">UIToolbar</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">view</string>
<string key="candidateClassName">UIView</string>
</object>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/VoiceMob/MGMAccountController.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="700801015">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIBarButtonItem</string>
<string key="superclassName">UIBarItem</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIBarButtonItem.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIBarItem</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIBarItem.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UILabel</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<reference key="sourceIdentifier" ref="700801015"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIToolbar</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIToolbar.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="1024" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">../../VoiceMob.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">117</string>
</data>
</archive>

View File

@ -13,7 +13,6 @@
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
<integer value="1"/> <integer value="1"/>
<integer value="14"/>
</object> </object>
<object class="NSArray" key="IBDocument.PluginDependencies"> <object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
@ -155,7 +154,7 @@
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object> </object>
<object class="IBUIView" id="543000349"> <object class="IBUIView" id="543000349">
<reference key="NSNextResponder"/> <nil key="NSNextResponder"/>
<int key="NSvFlags">292</int> <int key="NSvFlags">292</int>
<object class="NSMutableArray" key="NSSubviews"> <object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
@ -164,7 +163,6 @@
<int key="NSvFlags">274</int> <int key="NSvFlags">274</int>
<string key="NSFrameSize">{320, 373}</string> <string key="NSFrameSize">{320, 373}</string>
<reference key="NSSuperview" ref="543000349"/> <reference key="NSSuperview" ref="543000349"/>
<reference key="NSWindow"/>
<reference key="IBUIBackgroundColor" ref="815808359"/> <reference key="IBUIBackgroundColor" ref="815808359"/>
<bool key="IBUIClipsSubviews">YES</bool> <bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIMultipleTouchEnabled">YES</bool> <bool key="IBUIMultipleTouchEnabled">YES</bool>
@ -182,7 +180,6 @@
<int key="NSvFlags">292</int> <int key="NSvFlags">292</int>
<string key="NSFrame">{{154, 337}, {146, 16}}</string> <string key="NSFrame">{{154, 337}, {146, 16}}</string>
<reference key="NSSuperview" ref="543000349"/> <reference key="NSSuperview" ref="543000349"/>
<reference key="NSWindow"/>
<reference key="IBUIBackgroundColor" ref="815808359"/> <reference key="IBUIBackgroundColor" ref="815808359"/>
<bool key="IBUIOpaque">NO</bool> <bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool> <bool key="IBUIClipsSubviews">YES</bool>
@ -205,13 +202,11 @@
</object> </object>
</object> </object>
<string key="NSFrameSize">{320, 373}</string> <string key="NSFrameSize">{320, 373}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="IBUIBackgroundColor" ref="815808359"/> <reference key="IBUIBackgroundColor" ref="815808359"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object> </object>
<object class="IBUIView" id="882170606"> <object class="IBUIView" id="882170606">
<reference key="NSNextResponder"/> <nil key="NSNextResponder"/>
<int key="NSvFlags">292</int> <int key="NSvFlags">292</int>
<object class="NSMutableArray" key="NSSubviews"> <object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
@ -220,7 +215,6 @@
<int key="NSvFlags">274</int> <int key="NSvFlags">274</int>
<string key="NSFrameSize">{320, 116}</string> <string key="NSFrameSize">{320, 116}</string>
<reference key="NSSuperview" ref="882170606"/> <reference key="NSSuperview" ref="882170606"/>
<reference key="NSWindow"/>
<reference key="IBUIBackgroundColor" ref="815808359"/> <reference key="IBUIBackgroundColor" ref="815808359"/>
<bool key="IBUIClipsSubviews">YES</bool> <bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIMultipleTouchEnabled">YES</bool> <bool key="IBUIMultipleTouchEnabled">YES</bool>
@ -244,7 +238,6 @@
<int key="NSvFlags">292</int> <int key="NSvFlags">292</int>
<string key="NSFrame">{{20, 124}, {29, 29}}</string> <string key="NSFrame">{{20, 124}, {29, 29}}</string>
<reference key="NSSuperview" ref="882170606"/> <reference key="NSSuperview" ref="882170606"/>
<reference key="NSWindow"/>
<reference key="IBUIBackgroundColor" ref="815808359"/> <reference key="IBUIBackgroundColor" ref="815808359"/>
<bool key="IBUIOpaque">NO</bool> <bool key="IBUIOpaque">NO</bool>
<int key="IBUITag">1</int> <int key="IBUITag">1</int>
@ -275,7 +268,6 @@
<int key="NSvFlags">292</int> <int key="NSvFlags">292</int>
<string key="NSFrame">{{20, 161}, {29, 29}}</string> <string key="NSFrame">{{20, 161}, {29, 29}}</string>
<reference key="NSSuperview" ref="882170606"/> <reference key="NSSuperview" ref="882170606"/>
<reference key="NSWindow"/>
<reference key="IBUIBackgroundColor" ref="815808359"/> <reference key="IBUIBackgroundColor" ref="815808359"/>
<bool key="IBUIOpaque">NO</bool> <bool key="IBUIOpaque">NO</bool>
<int key="IBUITag">2</int> <int key="IBUITag">2</int>
@ -299,7 +291,6 @@
<int key="NSvFlags">292</int> <int key="NSvFlags">292</int>
<string key="NSFrame">{{20, 198}, {29, 29}}</string> <string key="NSFrame">{{20, 198}, {29, 29}}</string>
<reference key="NSSuperview" ref="882170606"/> <reference key="NSSuperview" ref="882170606"/>
<reference key="NSWindow"/>
<reference key="IBUIBackgroundColor" ref="815808359"/> <reference key="IBUIBackgroundColor" ref="815808359"/>
<bool key="IBUIOpaque">NO</bool> <bool key="IBUIOpaque">NO</bool>
<int key="IBUITag">3</int> <int key="IBUITag">3</int>
@ -320,7 +311,6 @@
<int key="NSvFlags">292</int> <int key="NSvFlags">292</int>
<string key="NSFrame">{{57, 127}, {242, 21}}</string> <string key="NSFrame">{{57, 127}, {242, 21}}</string>
<reference key="NSSuperview" ref="882170606"/> <reference key="NSSuperview" ref="882170606"/>
<reference key="NSWindow"/>
<bool key="IBUIOpaque">NO</bool> <bool key="IBUIOpaque">NO</bool>
<int key="IBUITag">1</int> <int key="IBUITag">1</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
@ -343,7 +333,6 @@
<int key="NSvFlags">292</int> <int key="NSvFlags">292</int>
<string key="NSFrame">{{58, 165}, {242, 21}}</string> <string key="NSFrame">{{58, 165}, {242, 21}}</string>
<reference key="NSSuperview" ref="882170606"/> <reference key="NSSuperview" ref="882170606"/>
<reference key="NSWindow"/>
<bool key="IBUIOpaque">NO</bool> <bool key="IBUIOpaque">NO</bool>
<int key="IBUITag">2</int> <int key="IBUITag">2</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
@ -359,7 +348,6 @@
<int key="NSvFlags">292</int> <int key="NSvFlags">292</int>
<string key="NSFrame">{{58, 202}, {242, 21}}</string> <string key="NSFrame">{{58, 202}, {242, 21}}</string>
<reference key="NSSuperview" ref="882170606"/> <reference key="NSSuperview" ref="882170606"/>
<reference key="NSWindow"/>
<bool key="IBUIOpaque">NO</bool> <bool key="IBUIOpaque">NO</bool>
<int key="IBUITag">3</int> <int key="IBUITag">3</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
@ -372,8 +360,6 @@
</object> </object>
</object> </object>
<string key="NSFrameSize">{320, 373}</string> <string key="NSFrameSize">{320, 373}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="IBUIBackgroundColor" ref="815808359"/> <reference key="IBUIBackgroundColor" ref="815808359"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object> </object>
@ -401,7 +387,7 @@
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object> </object>
<object class="IBUIView" id="501940664"> <object class="IBUIView" id="501940664">
<reference key="NSNextResponder"/> <nil key="NSNextResponder"/>
<int key="NSvFlags">292</int> <int key="NSvFlags">292</int>
<object class="NSMutableArray" key="NSSubviews"> <object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
@ -478,6 +464,8 @@
<bool key="IBUIAdjustsFontSizeToFit">YES</bool> <bool key="IBUIAdjustsFontSizeToFit">YES</bool>
<float key="IBUIMinimumFontSize">17</float> <float key="IBUIMinimumFontSize">17</float>
<object class="IBUITextInputTraits" key="IBUITextInputTraits"> <object class="IBUITextInputTraits" key="IBUITextInputTraits">
<int key="IBUIAutocorrectionType">1</int>
<int key="IBUIKeyboardType">7</int>
<int key="IBUIReturnKeyType">9</int> <int key="IBUIReturnKeyType">9</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object> </object>
@ -509,12 +497,11 @@
</object> </object>
</object> </object>
<string key="NSFrameSize">{320, 373}</string> <string key="NSFrameSize">{320, 373}</string>
<reference key="NSSuperview"/>
<reference key="IBUIBackgroundColor" ref="815808359"/> <reference key="IBUIBackgroundColor" ref="815808359"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object> </object>
<object class="IBUIView" id="977706114"> <object class="IBUIView" id="977706114">
<reference key="NSNextResponder"/> <nil key="NSNextResponder"/>
<int key="NSvFlags">292</int> <int key="NSvFlags">292</int>
<object class="NSMutableArray" key="NSSubviews"> <object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
@ -523,7 +510,6 @@
<int key="NSvFlags">274</int> <int key="NSvFlags">274</int>
<string key="NSFrameSize">{320, 121}</string> <string key="NSFrameSize">{320, 121}</string>
<reference key="NSSuperview" ref="977706114"/> <reference key="NSSuperview" ref="977706114"/>
<reference key="NSWindow"/>
<reference key="IBUIBackgroundColor" ref="815808359"/> <reference key="IBUIBackgroundColor" ref="815808359"/>
<bool key="IBUIClipsSubviews">YES</bool> <bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIMultipleTouchEnabled">YES</bool> <bool key="IBUIMultipleTouchEnabled">YES</bool>
@ -541,7 +527,6 @@
<int key="NSvFlags">292</int> <int key="NSvFlags">292</int>
<string key="NSFrame">{{20, 134}, {80, 21}}</string> <string key="NSFrame">{{20, 134}, {80, 21}}</string>
<reference key="NSSuperview" ref="977706114"/> <reference key="NSSuperview" ref="977706114"/>
<reference key="NSWindow"/>
<reference key="IBUIBackgroundColor" ref="815808359"/> <reference key="IBUIBackgroundColor" ref="815808359"/>
<bool key="IBUIOpaque">NO</bool> <bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool> <bool key="IBUIClipsSubviews">YES</bool>
@ -560,7 +545,6 @@
<int key="NSvFlags">292</int> <int key="NSvFlags">292</int>
<string key="NSFrame">{{20, 173}, {80, 21}}</string> <string key="NSFrame">{{20, 173}, {80, 21}}</string>
<reference key="NSSuperview" ref="977706114"/> <reference key="NSSuperview" ref="977706114"/>
<reference key="NSWindow"/>
<reference key="IBUIBackgroundColor" ref="815808359"/> <reference key="IBUIBackgroundColor" ref="815808359"/>
<bool key="IBUIOpaque">NO</bool> <bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool> <bool key="IBUIClipsSubviews">YES</bool>
@ -579,7 +563,6 @@
<int key="NSvFlags">292</int> <int key="NSvFlags">292</int>
<string key="NSFrame">{{108, 129}, {192, 31}}</string> <string key="NSFrame">{{108, 129}, {192, 31}}</string>
<reference key="NSSuperview" ref="977706114"/> <reference key="NSSuperview" ref="977706114"/>
<reference key="NSWindow"/>
<reference key="IBUIBackgroundColor" ref="815808359"/> <reference key="IBUIBackgroundColor" ref="815808359"/>
<bool key="IBUIOpaque">NO</bool> <bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool> <bool key="IBUIClipsSubviews">YES</bool>
@ -595,6 +578,8 @@
<bool key="IBUIAdjustsFontSizeToFit">YES</bool> <bool key="IBUIAdjustsFontSizeToFit">YES</bool>
<float key="IBUIMinimumFontSize">17</float> <float key="IBUIMinimumFontSize">17</float>
<object class="IBUITextInputTraits" key="IBUITextInputTraits"> <object class="IBUITextInputTraits" key="IBUITextInputTraits">
<int key="IBUIAutocorrectionType">1</int>
<int key="IBUIKeyboardType">7</int>
<int key="IBUIReturnKeyType">9</int> <int key="IBUIReturnKeyType">9</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object> </object>
@ -604,7 +589,6 @@
<int key="NSvFlags">292</int> <int key="NSvFlags">292</int>
<string key="NSFrame">{{108, 168}, {192, 31}}</string> <string key="NSFrame">{{108, 168}, {192, 31}}</string>
<reference key="NSSuperview" ref="977706114"/> <reference key="NSSuperview" ref="977706114"/>
<reference key="NSWindow"/>
<reference key="IBUIBackgroundColor" ref="815808359"/> <reference key="IBUIBackgroundColor" ref="815808359"/>
<bool key="IBUIOpaque">NO</bool> <bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool> <bool key="IBUIClipsSubviews">YES</bool>
@ -627,8 +611,6 @@
</object> </object>
</object> </object>
<string key="NSFrameSize">{320, 373}</string> <string key="NSFrameSize">{320, 373}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="IBUIBackgroundColor" ref="815808359"/> <reference key="IBUIBackgroundColor" ref="815808359"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object> </object>
@ -716,6 +698,7 @@
<bool key="IBUIAdjustsFontSizeToFit">YES</bool> <bool key="IBUIAdjustsFontSizeToFit">YES</bool>
<float key="IBUIMinimumFontSize">17</float> <float key="IBUIMinimumFontSize">17</float>
<object class="IBUITextInputTraits" key="IBUITextInputTraits"> <object class="IBUITextInputTraits" key="IBUITextInputTraits">
<int key="IBUIAutocorrectionType">1</int>
<int key="IBUIReturnKeyType">9</int> <int key="IBUIReturnKeyType">9</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object> </object>
@ -785,6 +768,8 @@
<bool key="IBUIAdjustsFontSizeToFit">YES</bool> <bool key="IBUIAdjustsFontSizeToFit">YES</bool>
<float key="IBUIMinimumFontSize">17</float> <float key="IBUIMinimumFontSize">17</float>
<object class="IBUITextInputTraits" key="IBUITextInputTraits"> <object class="IBUITextInputTraits" key="IBUITextInputTraits">
<int key="IBUIAutocorrectionType">1</int>
<int key="IBUIKeyboardType">3</int>
<int key="IBUIReturnKeyType">9</int> <int key="IBUIReturnKeyType">9</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object> </object>
@ -829,6 +814,8 @@
<bool key="IBUIAdjustsFontSizeToFit">YES</bool> <bool key="IBUIAdjustsFontSizeToFit">YES</bool>
<float key="IBUIMinimumFontSize">17</float> <float key="IBUIMinimumFontSize">17</float>
<object class="IBUITextInputTraits" key="IBUITextInputTraits"> <object class="IBUITextInputTraits" key="IBUITextInputTraits">
<int key="IBUIAutocorrectionType">1</int>
<int key="IBUIKeyboardType">3</int>
<int key="IBUIReturnKeyType">9</int> <int key="IBUIReturnKeyType">9</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object> </object>
@ -873,6 +860,7 @@
<bool key="IBUIAdjustsFontSizeToFit">YES</bool> <bool key="IBUIAdjustsFontSizeToFit">YES</bool>
<float key="IBUIMinimumFontSize">17</float> <float key="IBUIMinimumFontSize">17</float>
<object class="IBUITextInputTraits" key="IBUITextInputTraits"> <object class="IBUITextInputTraits" key="IBUITextInputTraits">
<int key="IBUIAutocorrectionType">1</int>
<int key="IBUIReturnKeyType">9</int> <int key="IBUIReturnKeyType">9</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object> </object>
@ -1990,7 +1978,7 @@
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>{{42, 273}, {320, 373}}</string> <string>{{42, 273}, {320, 373}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>{{42, 273}, {320, 373}}</string> <string>{{169, 126}, {320, 373}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>{{42, 273}, {320, 373}}</string> <string>{{42, 273}, {320, 373}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -2628,7 +2616,7 @@
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
<string>{29, 29}</string> <string>{29, 29}</string>
<string>{29, 29}</string> <string>{29, 29}</string>
<string>{411, 512}</string> <string>{320, 399}</string>
</object> </object>
</object> </object>
<string key="IBCocoaTouchPluginVersion">117</string> <string key="IBCocoaTouchPluginVersion">117</string>

View File

@ -0,0 +1,317 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1024</int>
<string key="IBDocument.SystemVersion">10F569</string>
<string key="IBDocument.InterfaceBuilderVersion">788</string>
<string key="IBDocument.AppKitVersion">1038.29</string>
<string key="IBDocument.HIToolboxVersion">461.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">117</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="7"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="975951072">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUITableView" id="661509582">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{320, 416}</string>
<reference key="NSSuperview"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<bool key="IBUIClipsSubviews">YES</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBUIAlwaysBounceVertical">YES</bool>
<int key="IBUISeparatorStyle">1</int>
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
<bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
<float key="IBUIRowHeight">44</float>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">tableView</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="661509582"/>
</object>
<int key="connectionID">8</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">dataSource</string>
<reference key="source" ref="661509582"/>
<reference key="destination" ref="372490531"/>
</object>
<int key="connectionID">9</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="661509582"/>
<reference key="destination" ref="372490531"/>
</object>
<int key="connectionID">10</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="975951072"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">7</int>
<reference key="object" ref="661509582"/>
<reference key="parent" ref="0"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>7.IBEditorWindowLastContentRect</string>
<string>7.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>MGMAccounts</string>
<string>UIResponder</string>
<string>{{591, 142}, {320, 416}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">10</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">MGMAccounts</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="outlets">
<string key="NS.key.0">tableView</string>
<string key="NS.object.0">UITableView</string>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<string key="NS.key.0">tableView</string>
<object class="IBToOneOutletInfo" key="NS.object.0">
<string key="name">tableView</string>
<string key="candidateClassName">UITableView</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/VoiceMob/MGMAccounts.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="590550653">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<reference key="sourceIdentifier" ref="590550653"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIScrollView</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UITableView</string>
<string key="superclassName">UIScrollView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITableView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="1024" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">../../VoiceMob.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">117</string>
</data>
</archive>

View File

@ -13,7 +13,6 @@
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
<integer value="2"/> <integer value="2"/>
<integer value="6"/>
</object> </object>
<object class="NSArray" key="IBDocument.PluginDependencies"> <object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
@ -95,6 +94,9 @@
<object class="IBObjectRecord"> <object class="IBObjectRecord">
<int key="objectID">2</int> <int key="objectID">2</int>
<reference key="object" ref="380026005"/> <reference key="object" ref="380026005"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="parent" ref="0"/> <reference key="parent" ref="0"/>
</object> </object>
<object class="IBObjectRecord"> <object class="IBObjectRecord">
@ -164,7 +166,7 @@
</object> </object>
</object> </object>
<nil key="sourceID"/> <nil key="sourceID"/>
<int key="maxID">9</int> <int key="maxID">13</int>
</object> </object>
<object class="IBClassDescriber" key="IBDocument.Classes"> <object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions"> <object class="NSMutableArray" key="referencedPartialClassDescriptions">

View File

@ -0,0 +1,396 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1024</int>
<string key="IBDocument.SystemVersion">10F569</string>
<string key="IBDocument.InterfaceBuilderVersion">788</string>
<string key="IBDocument.AppKitVersion">1038.29</string>
<string key="IBDocument.HIToolboxVersion">461.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">117</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="8"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="975951072">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="634939239">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUITabBar" id="293974050">
<reference key="NSNextResponder" ref="634939239"/>
<int key="NSvFlags">266</int>
<string key="NSFrame">{{0, 367}, {320, 49}}</string>
<reference key="NSSuperview" ref="634939239"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwAA</bytes>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableArray" key="IBUIItems">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUITabBarItem" id="886672698">
<string key="IBUITitle">Keypad</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<reference key="IBUITabBar" ref="293974050"/>
</object>
<object class="IBUITabBarItem" id="323007537">
<string key="IBUITitle">Contacts</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<reference key="IBUITabBar" ref="293974050"/>
</object>
<object class="IBUITabBarItem" id="223492090">
<string key="IBUITitle">History</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<reference key="IBUITabBar" ref="293974050"/>
</object>
</object>
</object>
<object class="IBUIView" id="262613737">
<reference key="NSNextResponder" ref="634939239"/>
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{320, 367}</string>
<reference key="NSSuperview" ref="634939239"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
<object class="NSColorSpace" key="NSCustomColorSpace" id="760773540">
<int key="NSID">2</int>
</object>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</object>
<string key="NSFrameSize">{320, 416}</string>
<reference key="NSSuperview"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
<reference key="NSCustomColorSpace" ref="760773540"/>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="634939239"/>
</object>
<int key="connectionID">10</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="975951072"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">8</int>
<reference key="object" ref="634939239"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="293974050"/>
<reference ref="262613737"/>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">3</int>
<reference key="object" ref="293974050"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="886672698"/>
<reference ref="323007537"/>
<reference ref="223492090"/>
</object>
<reference key="parent" ref="634939239"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
<reference key="object" ref="886672698"/>
<reference key="parent" ref="293974050"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="323007537"/>
<reference key="parent" ref="293974050"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">7</int>
<reference key="object" ref="223492090"/>
<reference key="parent" ref="293974050"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">9</int>
<reference key="object" ref="262613737"/>
<reference key="parent" ref="634939239"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>3.IBPluginDependency</string>
<string>4.IBPluginDependency</string>
<string>5.IBPluginDependency</string>
<string>7.IBPluginDependency</string>
<string>8.IBEditorWindowLastContentRect</string>
<string>8.IBPluginDependency</string>
<string>9.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>MGMSIPUser</string>
<string>UIResponder</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>{{665, 98}, {320, 416}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">10</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">MGMSIPUser</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="outlets">
<string key="NS.key.0">view</string>
<string key="NS.object.0">UIView</string>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<string key="NS.key.0">view</string>
<object class="IBToOneOutletInfo" key="NS.object.0">
<string key="name">view</string>
<string key="candidateClassName">UIView</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/VoiceMob/SIP/MGMSIPUser.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="458790710">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIBarItem</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIBarItem.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<reference key="sourceIdentifier" ref="458790710"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UITabBar</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITabBar.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UITabBarItem</string>
<string key="superclassName">UIBarItem</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITabBarItem.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="1024" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">../../../VoiceMob.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">117</string>
</data>
</archive>

View File

@ -0,0 +1,25 @@
<?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>variants</key>
<array>
<dict>
<key>name</key>
<string>White - Light Blue</string>
<key>folder</key>
<string>white-lightblue</string>
<key>rebuild</key>
<false/>
<key>date</key>
<string>MMMM d, yyyy h:mm:ss a</string>
</dict>
</array>
<key>name</key>
<string>Bubbles</string>
<key>author</key>
<string>Mr. Gecko</string>
<key>site</key>
<string>http://mrgeckosmedia.com/</string>
</dict>
</plist>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,14 @@
<div class="inContent">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="bottom" class="pname" width="50"><img src="%PHOTO%" width="45" height="45" /><br />%TIME%</td>
<td align="left"><table border="0" cellpadding="0" cellspacing="0">
<tr><td class="ttl">&nbsp;</td><td class="ttm">&nbsp;</td><td class="ttr">&nbsp;</td></tr>
<tr><td class="tml">&nbsp;</td>
<td class="tmm">%TEXT%</td>
<td class="tmr">&nbsp;</td></tr>
<tr><td class="tbl">&nbsp;</td><td class="tbm">&nbsp;</td><td class="tbr">&nbsp;</td></tr>
</table></td>
</tr>
</table>
</div>

View File

@ -0,0 +1,14 @@
<div id="inContext">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="bottom" class="pname" width="50"><img src="%PHOTO%" width="45" height="45" /><br />%TIME%</td>
<td align="left"><table border="0" cellpadding="0" cellspacing="0">
<tr><td class="ttl">&nbsp;</td><td class="ttm">&nbsp;</td><td class="ttr">&nbsp;</td></tr>
<tr><td class="tml">&nbsp;</td>
<td class="tmm">%TEXT%</td>
<td class="tmr">&nbsp;</td></tr>
<tr><td class="tbl">&nbsp;</td><td class="tbm">&nbsp;</td><td class="tbr">&nbsp;</td></tr>
</table></td>
</tr>
</table>
</div>

View File

@ -0,0 +1,14 @@
<div class="inNextContent">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="bottom" class="pname" width="50"><img src="%PHOTO%" width="45" height="45" /><br />%TIME%</td>
<td align="left"><table border="0" cellpadding="0" cellspacing="0">
<tr><td class="ttl">&nbsp;</td><td class="ttm">&nbsp;</td><td class="ttr">&nbsp;</td></tr>
<tr><td class="tml">&nbsp;</td>
<td class="tmm">%TEXT%</td>
<td class="tmr">&nbsp;</td></tr>
<tr><td class="tbl">&nbsp;</td><td class="tbm">&nbsp;</td><td class="tbr">&nbsp;</td></tr>
</table></td>
</tr>
</table>
</div>

View File

@ -0,0 +1,14 @@
<div id="inNextContext">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="bottom" class="pname" width="50"><img src="%PHOTO%" width="45" height="45" /><br />%TIME%</td>
<td align="left"><table border="0" cellpadding="0" cellspacing="0">
<tr><td class="ttl">&nbsp;</td><td class="ttm">&nbsp;</td><td class="ttr">&nbsp;</td></tr>
<tr><td class="tml">&nbsp;</td>
<td class="tmm">%TEXT%</td>
<td class="tmr">&nbsp;</td></tr>
<tr><td class="tbl">&nbsp;</td><td class="tbm">&nbsp;</td><td class="tbr">&nbsp;</td></tr>
</table></td>
</tr>
</table>
</div>

View File

@ -0,0 +1,14 @@
<div class="outContext">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="right"><table border="0" cellpadding="0" cellspacing="0">
<tr><td class="utl">&nbsp;</td><td class="utm">&nbsp;</td><td class="utr">&nbsp;</td></tr>
<tr><td class="uml">&nbsp;</td>
<td class="umm">%TEXT%</td>
<td class="umr">&nbsp;</td></tr>
<tr><td class="ubl">&nbsp;</td><td class="ubm">&nbsp;</td><td class="ubr">&nbsp;</td></tr>
</table></td>
<td valign="bottom" class="pname" width="50"><img src="%PHOTO%" width="45" height="45" /><br />%TIME%</td>
</tr>
</table>
</div>

View File

@ -0,0 +1,14 @@
<div id="outContext">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="right"><table border="0" cellpadding="0" cellspacing="0">
<tr><td class="utl">&nbsp;</td><td class="utm">&nbsp;</td><td class="utr">&nbsp;</td></tr>
<tr><td class="uml">&nbsp;</td>
<td class="umm">%TEXT%</td>
<td class="umr">&nbsp;</td></tr>
<tr><td class="ubl">&nbsp;</td><td class="ubm">&nbsp;</td><td class="ubr">&nbsp;</td></tr>
</table></td>
<td valign="bottom" class="pname" width="50"><img src="%PHOTO%" width="45" height="45" /><br />%TIME%</td>
</tr>
</table>
</div>

View File

@ -0,0 +1,14 @@
<div class="outNextContent">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="right"><table border="0" cellpadding="0" cellspacing="0">
<tr><td class="utl">&nbsp;</td><td class="utm">&nbsp;</td><td class="utr">&nbsp;</td></tr>
<tr><td class="uml">&nbsp;</td>
<td class="umm">%TEXT%</td>
<td class="umr">&nbsp;</td></tr>
<tr><td class="ubl">&nbsp;</td><td class="ubm">&nbsp;</td><td class="ubr">&nbsp;</td></tr>
</table></td>
<td valign="bottom" class="pname" width="50"><img src="%PHOTO%" width="45" height="45" /><br />%TIME%</td>
</tr>
</table>
</div>

View File

@ -0,0 +1,14 @@
<div id="outNextContext">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="right"><table border="0" cellpadding="0" cellspacing="0">
<tr><td class="utl">&nbsp;</td><td class="utm">&nbsp;</td><td class="utr">&nbsp;</td></tr>
<tr><td class="uml">&nbsp;</td>
<td class="umm">%TEXT%</td>
<td class="umr">&nbsp;</td></tr>
<tr><td class="ubl">&nbsp;</td><td class="ubm">&nbsp;</td><td class="ubr">&nbsp;</td></tr>
</table></td>
<td valign="bottom" class="pname" width="50"><img src="%PHOTO%" width="45" height="45" /><br />%TIME%</td>
</tr>
</table>
</div>

View File

@ -0,0 +1,4 @@
</div>
%FOOTER%
</body>
</html>

View File

@ -0,0 +1,160 @@
<html>
<head>
<style type="text/css">
.ttl {
background: url("%THEME%/images/ttl.png") no-repeat top left;
width:21px;
height:14px;
font-size:0pt;
}
.utl {
background: url("%THEME%/images/utl.png") no-repeat top left;
width:21px;
height:14px;
font-size:0pt;
}
.ttm {
background: url("%THEME%/images/ttm.png") repeat-x top;
height:14px;
font-size:0pt;
}
.utm {
background: url("%THEME%/images/utm.png") repeat-x top;
height:14px;
font-size:0pt;
}
.ttr {
background: url("%THEME%/images/ttr.png") no-repeat top right;
width:21px;
height:14px;
font-size:0pt;
}
.utr {
background: url("%THEME%/images/utr.png") no-repeat top right;
width:21px;
height:14px;
font-size:0pt;
}
.tml {
background: url("%THEME%/images/tml.png") repeat-y bottom left;
width:21px;
font-size:0pt;
}
.uml {
background: url("%THEME%/images/uml.png") repeat-y bottom left;
width:21px;
font-size:0pt;
}
.tmm {
background: url("%THEME%/images/tmm.png") repeat bottom;
}
.umm {
background: url("%THEME%/images/umm.png") repeat bottom;
}
.tmr {
background: url("%THEME%/images/tmr.png") repeat-y bottom left;
width:21px;
font-size:0pt;
}
.umr {
background: url("%THEME%/images/umr.png") repeat-y bottom left;
width:21px;
font-size:0pt;
}
.tbl {
background: url("%THEME%/images/tbl.png") no-repeat bottom left;
width:21px;
height:14px;
font-size:0pt;
}
.ubl {
background: url("%THEME%/images/ubl.png") no-repeat bottom left;
width:21px;
height:14px;
font-size:0pt;
}
.tbm {
background: url("%THEME%/images/tbm.png") repeat-x bottom;
height:14px;
font-size:0pt;
}
.ubm {
background: url("%THEME%/images/ubm.png") repeat-x bottom;
height:14px;
font-size:0pt;
}
.tbr {
background: url("%THEME%/images/tbr.png") no-repeat bottom left;
width:21px;
height:14px;
font-size:0pt;
}
.ubr {
background: url("%THEME%/images/ubr.png") no-repeat bottom left;
width:21px;
height:14px;
font-size:0pt;
}
td.pname {
font-size:9pt;
color:#999999;
text-align:center;
}
#inContext {
display: none;
}
#inNextContext {
display: none;
}
#outContext {
display: none;
}
#outNextContext {
display: none;
}
.inContent .inNextContent .outContent .outNextContent {
display: block;
}
</style>
<script type="text/javascript">
function newMessage(text, photourl, time, id, name, number, lastdate, type) {
var template = null;
if (type==1) {
template = document.getElementById("outContext").cloneNode(true);
template.setAttribute("class", "outContent");
} else if (type==2) {
template = document.getElementById("outNextContext").cloneNode(true);
template.setAttribute("class", "outNextContent");
} else if (type==3) {
template = document.getElementById("inContext").cloneNode(true);
template.setAttribute("class", "inContent");
} else if (type==4) {
template = document.getElementById("inNextContext").cloneNode(true);
template.setAttribute("class", "inNextContent");
}
template.removeAttribute("id");
template.innerHTML = template.innerHTML.replace(/%TEXT%/g, text);
template.innerHTML = template.innerHTML.replace(/%PHOTO%/g, photourl);
template.innerHTML = template.innerHTML.replace(/%TIME%/g, time);
template.innerHTML = template.innerHTML.replace(/%MESSAGEID%/g, id);
template.innerHTML = template.innerHTML.replace(/%NAME%/g, name);
template.innerHTML = template.innerHTML.replace(/%NUMBER%/g, number);
document.getElementById("content").appendChild(template);
}
function scrollToBottom() {
window.scrollTo(0, document.body.scrollHeight);
}
</script>
</head>
<body>
%HEADER%
<div id="content">

View File

@ -0,0 +1,45 @@
<?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>sounds</key>
<array>
<dict>
<key>name</key>
<string>Bass</string>
<key>file</key>
<string>bass.mp3</string>
</dict>
<dict>
<key>name</key>
<string>Bells</string>
<key>file</key>
<string>bells.mp3</string>
</dict>
<dict>
<key>name</key>
<string>Ringtone</string>
<key>file</key>
<string>ringtone.mp3</string>
</dict>
<dict>
<key>name</key>
<string>Hold Music 1</string>
<key>file</key>
<string>hold1.mp3</string>
</dict>
<dict>
<key>name</key>
<string>Hold Music 2</string>
<key>file</key>
<string>hold2.mp3</string>
</dict>
</array>
<key>name</key>
<string>Voice Mac</string>
<key>author</key>
<string>Mr. Gecko</string>
<key>site</key>
<string>http://mrgeckosmedia.com/</string>
</dict>
</plist>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,550 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1024</int>
<string key="IBDocument.SystemVersion">10F569</string>
<string key="IBDocument.InterfaceBuilderVersion">788</string>
<string key="IBDocument.AppKitVersion">1038.29</string>
<string key="IBDocument.HIToolboxVersion">461.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">117</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="3"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="975951072">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="829313535">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUITableView" id="678183807">
<reference key="NSNextResponder" ref="829313535"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{0, 44}, {320, 323}}</string>
<reference key="NSSuperview" ref="829313535"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
<object class="NSColorSpace" key="NSCustomColorSpace" id="500982756">
<int key="NSID">2</int>
</object>
</object>
<bool key="IBUIClipsSubviews">YES</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBUIAlwaysBounceVertical">YES</bool>
<int key="IBUISeparatorStyle">1</int>
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
<bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
<float key="IBUIRowHeight">60</float>
</object>
<object class="IBUISearchBar" id="740966001">
<reference key="NSNextResponder" ref="829313535"/>
<int key="NSvFlags">290</int>
<string key="NSFrameSize">{320, 44}</string>
<reference key="NSSuperview" ref="829313535"/>
<int key="IBUIContentMode">3</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBBarStyle">1</int>
<string key="IBPlaceholder">Search</string>
<bool key="IBShowsCancelButton">YES</bool>
<object class="IBUITextInputTraits" key="IBTextInputTraits">
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="NSArray" key="IBScopeButtonTitles">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>Scope</string>
<string>Scope</string>
</object>
</object>
<object class="IBUIButton" id="639333198">
<reference key="NSNextResponder" ref="829313535"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{0, 44}, {320, 152}}</string>
<reference key="NSSuperview" ref="829313535"/>
<bool key="IBUIOpaque">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<object class="NSFont" key="IBUIFont">
<string key="NSName">Helvetica-Bold</string>
<double key="NSSize">15</double>
<int key="NSfFlags">16</int>
</object>
<object class="NSColor" key="IBUIHighlightedTitleColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<object class="NSColor" key="IBUINormalTitleColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
</object>
<object class="NSColor" key="IBUINormalTitleShadowColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC41AA</bytes>
</object>
</object>
</object>
<string key="NSFrameSize">{320, 367}</string>
<reference key="NSSuperview"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
<reference key="NSCustomColorSpace" ref="500982756"/>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">contactsTable</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="678183807"/>
</object>
<int key="connectionID">7</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">searchBar</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="740966001"/>
</object>
<int key="connectionID">8</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="829313535"/>
</object>
<int key="connectionID">9</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">dataSource</string>
<reference key="source" ref="678183807"/>
<reference key="destination" ref="372490531"/>
</object>
<int key="connectionID">10</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="678183807"/>
<reference key="destination" ref="372490531"/>
</object>
<int key="connectionID">11</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">searchCancelButton</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="639333198"/>
</object>
<int key="connectionID">13</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">cancelSearch:</string>
<reference key="source" ref="639333198"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">14</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="740966001"/>
<reference key="destination" ref="372490531"/>
</object>
<int key="connectionID">15</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="975951072"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">3</int>
<reference key="object" ref="829313535"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="740966001"/>
<reference ref="678183807"/>
<reference ref="639333198"/>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
<reference key="object" ref="740966001"/>
<reference key="parent" ref="829313535"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="678183807"/>
<reference key="parent" ref="829313535"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">12</int>
<reference key="object" ref="639333198"/>
<reference key="parent" ref="829313535"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>12.IBPluginDependency</string>
<string>3.IBEditorWindowLastContentRect</string>
<string>3.IBPluginDependency</string>
<string>4.IBPluginDependency</string>
<string>5.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>MGMVoiceContacts</string>
<string>UIResponder</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>{{279, 294}, {320, 367}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">15</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">MGMContactsController</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="actions">
<string key="NS.key.0">cancelSearch:</string>
<string key="NS.object.0">id</string>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<string key="NS.key.0">cancelSearch:</string>
<object class="IBActionInfo" key="NS.object.0">
<string key="name">cancelSearch:</string>
<string key="candidateClassName">id</string>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>contactsTable</string>
<string>searchBar</string>
<string>searchCancelButton</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>UITableView</string>
<string>UISearchBar</string>
<string>UIButton</string>
</object>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>contactsTable</string>
<string>searchBar</string>
<string>searchCancelButton</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBToOneOutletInfo">
<string key="name">contactsTable</string>
<string key="candidateClassName">UITableView</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">searchBar</string>
<string key="candidateClassName">UISearchBar</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">searchCancelButton</string>
<string key="candidateClassName">UIButton</string>
</object>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/VoiceMob/MGMContactsController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">MGMContactsController</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="outlets">
<string key="NS.key.0">view</string>
<string key="NS.object.0">UIView</string>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<string key="NS.key.0">view</string>
<object class="IBToOneOutletInfo" key="NS.object.0">
<string key="name">view</string>
<string key="candidateClassName">UIView</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBUserSource</string>
<string key="minorKey"/>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">MGMVoiceContacts</string>
<string key="superclassName">MGMContactsController</string>
<object class="NSMutableDictionary" key="outlets">
<string key="NS.key.0">view</string>
<string key="NS.object.0">UIView</string>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<string key="NS.key.0">view</string>
<object class="IBToOneOutletInfo" key="NS.object.0">
<string key="name">view</string>
<string key="candidateClassName">UIView</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/VoiceMob/Voice/MGMVoiceContacts.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="978922973">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIButton</string>
<string key="superclassName">UIControl</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIButton.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIControl</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIControl.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<reference key="sourceIdentifier" ref="978922973"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIScrollView</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchBar</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UITableView</string>
<string key="superclassName">UIScrollView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITableView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="1024" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">../../../VoiceMob.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">117</string>
</data>
</archive>

View File

@ -0,0 +1,801 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1024</int>
<string key="IBDocument.SystemVersion">10F569</string>
<string key="IBDocument.InterfaceBuilderVersion">788</string>
<string key="IBDocument.AppKitVersion">1038.29</string>
<string key="IBDocument.HIToolboxVersion">461.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">117</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="18"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="975951072">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="105883431">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUIView" id="182115038">
<reference key="NSNextResponder" ref="105883431"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{20, 90}, {88, 45}}</string>
<reference key="NSSuperview" ref="105883431"/>
<object class="NSColor" key="IBUIBackgroundColor" id="116151084">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MAA</bytes>
</object>
<int key="IBUITag">1</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="1043698882">
<reference key="NSNextResponder" ref="105883431"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{20, 20}, {280, 62}}</string>
<reference key="NSSuperview" ref="105883431"/>
<reference key="IBUIBackgroundColor" ref="116151084"/>
<int key="IBUITag">-1</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="47181458">
<reference key="NSNextResponder" ref="105883431"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{116, 90}, {88, 45}}</string>
<reference key="NSSuperview" ref="105883431"/>
<reference key="IBUIBackgroundColor" ref="116151084"/>
<int key="IBUITag">2</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="326881988">
<reference key="NSNextResponder" ref="105883431"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{212, 90}, {88, 45}}</string>
<reference key="NSSuperview" ref="105883431"/>
<reference key="IBUIBackgroundColor" ref="116151084"/>
<int key="IBUITag">3</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="931065462">
<reference key="NSNextResponder" ref="105883431"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{20, 143}, {88, 45}}</string>
<reference key="NSSuperview" ref="105883431"/>
<reference key="IBUIBackgroundColor" ref="116151084"/>
<int key="IBUITag">4</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="766811527">
<reference key="NSNextResponder" ref="105883431"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{116, 143}, {88, 45}}</string>
<reference key="NSSuperview" ref="105883431"/>
<reference key="IBUIBackgroundColor" ref="116151084"/>
<int key="IBUITag">5</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="792169052">
<reference key="NSNextResponder" ref="105883431"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{212, 143}, {88, 45}}</string>
<reference key="NSSuperview" ref="105883431"/>
<reference key="IBUIBackgroundColor" ref="116151084"/>
<int key="IBUITag">6</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="625221876">
<reference key="NSNextResponder" ref="105883431"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{20, 196}, {88, 45}}</string>
<reference key="NSSuperview" ref="105883431"/>
<reference key="IBUIBackgroundColor" ref="116151084"/>
<int key="IBUITag">7</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="926720313">
<reference key="NSNextResponder" ref="105883431"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{116, 196}, {88, 45}}</string>
<reference key="NSSuperview" ref="105883431"/>
<reference key="IBUIBackgroundColor" ref="116151084"/>
<int key="IBUITag">8</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="54922877">
<reference key="NSNextResponder" ref="105883431"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{212, 196}, {88, 45}}</string>
<reference key="NSSuperview" ref="105883431"/>
<reference key="IBUIBackgroundColor" ref="116151084"/>
<int key="IBUITag">9</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="634613182">
<reference key="NSNextResponder" ref="105883431"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{20, 249}, {88, 45}}</string>
<reference key="NSSuperview" ref="105883431"/>
<reference key="IBUIBackgroundColor" ref="116151084"/>
<int key="IBUITag">10</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="282729312">
<reference key="NSNextResponder" ref="105883431"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{116, 249}, {88, 45}}</string>
<reference key="NSSuperview" ref="105883431"/>
<reference key="IBUIBackgroundColor" ref="116151084"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="258072657">
<reference key="NSNextResponder" ref="105883431"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{212, 249}, {88, 45}}</string>
<reference key="NSSuperview" ref="105883431"/>
<reference key="IBUIBackgroundColor" ref="116151084"/>
<int key="IBUITag">11</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="631964948">
<reference key="NSNextResponder" ref="105883431"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{20, 302}, {88, 45}}</string>
<reference key="NSSuperview" ref="105883431"/>
<reference key="IBUIBackgroundColor" ref="116151084"/>
<int key="IBUITag">12</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="651161502">
<reference key="NSNextResponder" ref="105883431"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{116, 302}, {88, 45}}</string>
<reference key="NSSuperview" ref="105883431"/>
<reference key="IBUIBackgroundColor" ref="116151084"/>
<int key="IBUITag">13</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="830161465">
<reference key="NSNextResponder" ref="105883431"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{212, 302}, {88, 45}}</string>
<reference key="NSSuperview" ref="105883431"/>
<reference key="IBUIBackgroundColor" ref="116151084"/>
<int key="IBUITag">14</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</object>
<string key="NSFrameSize">{320, 367}</string>
<reference key="NSSuperview"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC4xMDAwMDAwMDE1AA</bytes>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="105883431"/>
</object>
<int key="connectionID">34</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">numberView</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="1043698882"/>
</object>
<int key="connectionID">48</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">dial:</string>
<reference key="source" ref="182115038"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">49</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">dial:</string>
<reference key="source" ref="47181458"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">50</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">dial:</string>
<reference key="source" ref="326881988"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">51</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">dial:</string>
<reference key="source" ref="931065462"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">52</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">dial:</string>
<reference key="source" ref="766811527"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">53</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">dial:</string>
<reference key="source" ref="792169052"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">54</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">dial:</string>
<reference key="source" ref="625221876"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">55</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">dial:</string>
<reference key="source" ref="926720313"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">56</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">dial:</string>
<reference key="source" ref="54922877"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">57</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">dial:</string>
<reference key="source" ref="634613182"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">58</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">dial:</string>
<reference key="source" ref="282729312"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">59</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">dial:</string>
<reference key="source" ref="258072657"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">60</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">delete:</string>
<reference key="source" ref="830161465"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">61</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">call:</string>
<reference key="source" ref="651161502"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">62</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="975951072"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">18</int>
<reference key="object" ref="105883431"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="1043698882"/>
<reference ref="47181458"/>
<reference ref="326881988"/>
<reference ref="931065462"/>
<reference ref="766811527"/>
<reference ref="792169052"/>
<reference ref="625221876"/>
<reference ref="926720313"/>
<reference ref="54922877"/>
<reference ref="634613182"/>
<reference ref="282729312"/>
<reference ref="258072657"/>
<reference ref="631964948"/>
<reference ref="651161502"/>
<reference ref="830161465"/>
<reference ref="182115038"/>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">3</int>
<reference key="object" ref="182115038"/>
<reference key="parent" ref="105883431"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">19</int>
<reference key="object" ref="1043698882"/>
<reference key="parent" ref="105883431"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">20</int>
<reference key="object" ref="47181458"/>
<reference key="parent" ref="105883431"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">21</int>
<reference key="object" ref="326881988"/>
<reference key="parent" ref="105883431"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">22</int>
<reference key="object" ref="931065462"/>
<reference key="parent" ref="105883431"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">23</int>
<reference key="object" ref="766811527"/>
<reference key="parent" ref="105883431"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">24</int>
<reference key="object" ref="792169052"/>
<reference key="parent" ref="105883431"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">25</int>
<reference key="object" ref="625221876"/>
<reference key="parent" ref="105883431"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">26</int>
<reference key="object" ref="926720313"/>
<reference key="parent" ref="105883431"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">27</int>
<reference key="object" ref="54922877"/>
<reference key="parent" ref="105883431"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">28</int>
<reference key="object" ref="634613182"/>
<reference key="parent" ref="105883431"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">29</int>
<reference key="object" ref="282729312"/>
<reference key="parent" ref="105883431"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">30</int>
<reference key="object" ref="258072657"/>
<reference key="parent" ref="105883431"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">31</int>
<reference key="object" ref="631964948"/>
<reference key="parent" ref="105883431"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">32</int>
<reference key="object" ref="651161502"/>
<reference key="parent" ref="105883431"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">33</int>
<reference key="object" ref="830161465"/>
<reference key="parent" ref="105883431"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>18.IBEditorWindowLastContentRect</string>
<string>18.IBPluginDependency</string>
<string>19.CustomClassName</string>
<string>19.IBPluginDependency</string>
<string>20.CustomClassName</string>
<string>20.IBPluginDependency</string>
<string>21.CustomClassName</string>
<string>21.IBPluginDependency</string>
<string>22.CustomClassName</string>
<string>22.IBPluginDependency</string>
<string>23.CustomClassName</string>
<string>23.IBPluginDependency</string>
<string>24.CustomClassName</string>
<string>24.IBPluginDependency</string>
<string>25.CustomClassName</string>
<string>25.IBPluginDependency</string>
<string>26.CustomClassName</string>
<string>26.IBPluginDependency</string>
<string>27.CustomClassName</string>
<string>27.IBPluginDependency</string>
<string>28.CustomClassName</string>
<string>28.IBPluginDependency</string>
<string>29.CustomClassName</string>
<string>29.IBPluginDependency</string>
<string>3.CustomClassName</string>
<string>3.IBPluginDependency</string>
<string>30.CustomClassName</string>
<string>30.IBPluginDependency</string>
<string>31.CustomClassName</string>
<string>31.IBPluginDependency</string>
<string>32.CustomClassName</string>
<string>32.IBPluginDependency</string>
<string>33.CustomClassName</string>
<string>33.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>MGMVoicePad</string>
<string>UIResponder</string>
<string>{{536, 121}, {320, 367}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>MGMNumberView</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>MGMNumberView</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>MGMNumberView</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>MGMNumberView</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>MGMNumberView</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>MGMNumberView</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>MGMNumberView</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>MGMNumberView</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>MGMNumberView</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>MGMNumberView</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>MGMNumberView</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>MGMNumberView</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>MGMNumberView</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>MGMNumberView</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>MGMNumberView</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>MGMNumberView</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">62</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">MGMNumberView</string>
<string key="superclassName">UIControl</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/VoiceMob/Views/MGMNumberView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">MGMVoicePad</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>call:</string>
<string>delete:</string>
<string>dial:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
<string>id</string>
<string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>call:</string>
<string>delete:</string>
<string>dial:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBActionInfo">
<string key="name">call:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">delete:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">dial:</string>
<string key="candidateClassName">id</string>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>numberView</string>
<string>view</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>MGMNumberView</string>
<string>UIView</string>
</object>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>numberView</string>
<string>view</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBToOneOutletInfo">
<string key="name">numberView</string>
<string key="candidateClassName">MGMNumberView</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">view</string>
<string key="candidateClassName">UIView</string>
</object>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/VoiceMob/Voice/MGMVoicePad.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="561708306">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIControl</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIControl.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<reference key="sourceIdentifier" ref="561708306"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="1024" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">../../../VoiceMob.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">117</string>
</data>
</archive>

View File

@ -0,0 +1,463 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1024</int>
<string key="IBDocument.SystemVersion">10F569</string>
<string key="IBDocument.InterfaceBuilderVersion">788</string>
<string key="IBDocument.AppKitVersion">1038.29</string>
<string key="IBDocument.HIToolboxVersion">461.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">117</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="9"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="975951072">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="634939239">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUITabBar" id="293974050">
<reference key="NSNextResponder" ref="634939239"/>
<int key="NSvFlags">266</int>
<string key="NSFrame">{{0, 367}, {320, 49}}</string>
<reference key="NSSuperview" ref="634939239"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwAA</bytes>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableArray" key="IBUIItems">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUITabBarItem" id="886672698">
<string key="IBUITitle">Keypad</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<reference key="IBUITabBar" ref="293974050"/>
</object>
<object class="IBUITabBarItem" id="323007537">
<string key="IBUITitle">Contacts</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<reference key="IBUITabBar" ref="293974050"/>
</object>
<object class="IBUITabBarItem" id="411565696">
<string key="IBUITitle">SMS Messages</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<reference key="IBUITabBar" ref="293974050"/>
</object>
<object class="IBUITabBarItem" id="223492090">
<string key="IBUITitle">Inbox</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<reference key="IBUITabBar" ref="293974050"/>
</object>
</object>
</object>
<object class="IBUIView" id="262613737">
<reference key="NSNextResponder" ref="634939239"/>
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{320, 367}</string>
<reference key="NSSuperview" ref="634939239"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</object>
<string key="NSFrameSize">{320, 416}</string>
<reference key="NSSuperview"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
<object class="NSColorSpace" key="NSCustomColorSpace">
<int key="NSID">2</int>
</object>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="634939239"/>
</object>
<int key="connectionID">10</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">tabView</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="262613737"/>
</object>
<int key="connectionID">74</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">tabBar</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="293974050"/>
</object>
<int key="connectionID">75</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="293974050"/>
<reference key="destination" ref="372490531"/>
</object>
<int key="connectionID">76</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="975951072"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">8</int>
<reference key="object" ref="634939239"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="293974050"/>
<reference ref="262613737"/>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">3</int>
<reference key="object" ref="293974050"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="886672698"/>
<reference ref="323007537"/>
<reference ref="411565696"/>
<reference ref="223492090"/>
</object>
<reference key="parent" ref="634939239"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
<reference key="object" ref="886672698"/>
<reference key="parent" ref="293974050"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="323007537"/>
<reference key="parent" ref="293974050"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">6</int>
<reference key="object" ref="411565696"/>
<reference key="parent" ref="293974050"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">7</int>
<reference key="object" ref="223492090"/>
<reference key="parent" ref="293974050"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">9</int>
<reference key="object" ref="262613737"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="parent" ref="634939239"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>3.IBPluginDependency</string>
<string>4.IBPluginDependency</string>
<string>5.IBPluginDependency</string>
<string>6.IBPluginDependency</string>
<string>7.IBPluginDependency</string>
<string>8.IBEditorWindowLastContentRect</string>
<string>8.IBPluginDependency</string>
<string>9.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>MGMVoiceUser</string>
<string>UIResponder</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>{{497, 127}, {320, 416}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">76</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">MGMVoiceUser</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>tabBar</string>
<string>tabView</string>
<string>view</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>UITabBar</string>
<string>UIView</string>
<string>UIView</string>
</object>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>tabBar</string>
<string>tabView</string>
<string>view</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBToOneOutletInfo">
<string key="name">tabBar</string>
<string key="candidateClassName">UITabBar</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">tabView</string>
<string key="candidateClassName">UIView</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">view</string>
<string key="candidateClassName">UIView</string>
</object>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/VoiceMob/Voice/MGMVoiceUser.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="458790710">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIBarItem</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIBarItem.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<reference key="sourceIdentifier" ref="458790710"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UITabBar</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITabBar.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UITabBarItem</string>
<string key="superclassName">UIBarItem</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITabBarItem.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="1024" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">../../../VoiceMob.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">117</string>
</data>
</archive>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@ -25,11 +25,29 @@
2A1E99A3124D70A500D3BEAE /* RadioSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 2A1E99A1124D70A500D3BEAE /* RadioSelected.png */; }; 2A1E99A3124D70A500D3BEAE /* RadioSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 2A1E99A1124D70A500D3BEAE /* RadioSelected.png */; };
2A1E99A6124D77F900D3BEAE /* MGMAccountSetup.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A1E99A5124D77F900D3BEAE /* MGMAccountSetup.m */; }; 2A1E99A6124D77F900D3BEAE /* MGMAccountSetup.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A1E99A5124D77F900D3BEAE /* MGMAccountSetup.m */; };
2A1E9A0F124D827B00D3BEAE /* VoiceMob Setup.png in Resources */ = {isa = PBXBuildFile; fileRef = 2A1E9A0E124D827B00D3BEAE /* VoiceMob Setup.png */; }; 2A1E9A0F124D827B00D3BEAE /* VoiceMob Setup.png in Resources */ = {isa = PBXBuildFile; fileRef = 2A1E9A0E124D827B00D3BEAE /* VoiceMob Setup.png */; };
2A1E9AEC124DA3CC00D3BEAE /* MGMSIPUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A1E9AEB124DA3CC00D3BEAE /* MGMSIPUser.m */; };
2A1E9B0F124DA4CB00D3BEAE /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A1E9B0E124DA4CB00D3BEAE /* AudioToolbox.framework */; }; 2A1E9B0F124DA4CB00D3BEAE /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A1E9B0E124DA4CB00D3BEAE /* AudioToolbox.framework */; };
2A1E9B13124DA4D700D3BEAE /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A1E9B12124DA4D700D3BEAE /* CoreAudio.framework */; }; 2A1E9B13124DA4D700D3BEAE /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A1E9B12124DA4D700D3BEAE /* CoreAudio.framework */; };
2A1E9B45124DA63C00D3BEAE /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A1E9B44124DA63C00D3BEAE /* CFNetwork.framework */; }; 2A1E9B45124DA63C00D3BEAE /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A1E9B44124DA63C00D3BEAE /* CFNetwork.framework */; };
2A1E9BA6124DB1AE00D3BEAE /* VoiceMob.png in Resources */ = {isa = PBXBuildFile; fileRef = 2A1E9BA5124DB1AE00D3BEAE /* VoiceMob.png */; }; 2A1E9BA6124DB1AE00D3BEAE /* VoiceMob.png in Resources */ = {isa = PBXBuildFile; fileRef = 2A1E9BA5124DB1AE00D3BEAE /* VoiceMob.png */; };
2A316C3412529555009998B6 /* MGMSIPUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A316C3212529555009998B6 /* MGMSIPUser.m */; };
2A316C3712529567009998B6 /* MGMVoiceUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A316C3612529567009998B6 /* MGMVoiceUser.m */; };
2A316C49125296A5009998B6 /* SIPUser_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A316C46125296A5009998B6 /* SIPUser_iPhone.xib */; };
2A316C4A125296A5009998B6 /* VoiceUser_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A316C48125296A5009998B6 /* VoiceUser_iPhone.xib */; };
2A316DE71252C8BA009998B6 /* MGMProgressView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A316DE61252C8BA009998B6 /* MGMProgressView.m */; };
2A316F101252FBED009998B6 /* MGMNumberView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A316F0F1252FBED009998B6 /* MGMNumberView.m */; };
2A31708C1253987F009998B6 /* VoicePad_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A31708B1253987F009998B6 /* VoicePad_iPhone.xib */; };
2A3170A712539BFA009998B6 /* MGMVoicePad.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A3170A612539BFA009998B6 /* MGMVoicePad.m */; };
2A354CD81251820C00454A75 /* Accounts_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A354CD71251820C00454A75 /* Accounts_iPhone.xib */; };
2A354CDC1251830F00454A75 /* MGMAccounts.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A354CDB1251830F00454A75 /* MGMAccounts.m */; };
2A9067C71254302E0008461E /* VoiceContacts_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A9067C61254302E0008461E /* VoiceContacts_iPhone.xib */; };
2A9067CB125430DA0008461E /* MGMVoiceContacts.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A9067CA125430DA0008461E /* MGMVoiceContacts.m */; };
2A9067CE125431010008461E /* MGMContactsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A9067CD125431010008461E /* MGMContactsController.m */; };
2A906840125436130008461E /* MGMContactView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A90683F125436120008461E /* MGMContactView.m */; };
2A90693C1254CF040008461E /* SMS Themes in Resources */ = {isa = PBXBuildFile; fileRef = 2A9069071254CF040008461E /* SMS Themes */; };
2A90693D1254CF040008461E /* Sounds in Resources */ = {isa = PBXBuildFile; fileRef = 2A9069321254CF040008461E /* Sounds */; };
2A906A041254D4BB0008461E /* blankicon.png in Resources */ = {isa = PBXBuildFile; fileRef = 2A906A031254D4BB0008461E /* blankicon.png */; };
2ABD37AE1250D448004AAE00 /* AccountController_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2ABD37AD1250D448004AAE00 /* AccountController_iPhone.xib */; };
2ABD380412513B26004AAE00 /* MGMAccountController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2ABD380312513B26004AAE00 /* MGMAccountController.m */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
@ -37,21 +55,21 @@
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = 2A1E97C8124D25DE00D3BEAE /* VoiceBase.xcodeproj */; containerPortal = 2A1E97C8124D25DE00D3BEAE /* VoiceBase.xcodeproj */;
proxyType = 2; proxyType = 2;
remoteGlobalIDString = 8DC2EF5B0486A6940098B216 /* VoiceBase.framework */; remoteGlobalIDString = 8DC2EF5B0486A6940098B216;
remoteInfo = VoiceBase; remoteInfo = VoiceBase;
}; };
2A1E97D2124D25DE00D3BEAE /* PBXContainerItemProxy */ = { 2A1E97D2124D25DE00D3BEAE /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = 2A1E97C8124D25DE00D3BEAE /* VoiceBase.xcodeproj */; containerPortal = 2A1E97C8124D25DE00D3BEAE /* VoiceBase.xcodeproj */;
proxyType = 2; proxyType = 2;
remoteGlobalIDString = 2AE6EE531249DA0B0006B5AC /* libVoiceBase.a */; remoteGlobalIDString = 2AE6EE531249DA0B0006B5AC;
remoteInfo = "VoiceBase Touch"; remoteInfo = "VoiceBase Touch";
}; };
2A1E97D4124D25E800D3BEAE /* PBXContainerItemProxy */ = { 2A1E97D4124D25E800D3BEAE /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = 2A1E97C8124D25DE00D3BEAE /* VoiceBase.xcodeproj */; containerPortal = 2A1E97C8124D25DE00D3BEAE /* VoiceBase.xcodeproj */;
proxyType = 1; proxyType = 1;
remoteGlobalIDString = 2AE6EE521249DA0B0006B5AC /* VoiceBase Touch */; remoteGlobalIDString = 2AE6EE521249DA0B0006B5AC;
remoteInfo = "VoiceBase Touch"; remoteInfo = "VoiceBase Touch";
}; };
/* End PBXContainerItemProxy section */ /* End PBXContainerItemProxy section */
@ -81,12 +99,39 @@
2A1E99A4124D77F900D3BEAE /* MGMAccountSetup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMAccountSetup.h; sourceTree = "<group>"; }; 2A1E99A4124D77F900D3BEAE /* MGMAccountSetup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMAccountSetup.h; sourceTree = "<group>"; };
2A1E99A5124D77F900D3BEAE /* MGMAccountSetup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMAccountSetup.m; sourceTree = "<group>"; }; 2A1E99A5124D77F900D3BEAE /* MGMAccountSetup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMAccountSetup.m; sourceTree = "<group>"; };
2A1E9A0E124D827B00D3BEAE /* VoiceMob Setup.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "VoiceMob Setup.png"; sourceTree = "<group>"; }; 2A1E9A0E124D827B00D3BEAE /* VoiceMob Setup.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "VoiceMob Setup.png"; sourceTree = "<group>"; };
2A1E9AEA124DA3CC00D3BEAE /* MGMSIPUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSIPUser.h; sourceTree = "<group>"; };
2A1E9AEB124DA3CC00D3BEAE /* MGMSIPUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSIPUser.m; sourceTree = "<group>"; };
2A1E9B0E124DA4CB00D3BEAE /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 2A1E9B0E124DA4CB00D3BEAE /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
2A1E9B12124DA4D700D3BEAE /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; 2A1E9B12124DA4D700D3BEAE /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
2A1E9B44124DA63C00D3BEAE /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; 2A1E9B44124DA63C00D3BEAE /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
2A1E9BA5124DB1AE00D3BEAE /* VoiceMob.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = VoiceMob.png; sourceTree = SOURCE_ROOT; }; 2A1E9BA5124DB1AE00D3BEAE /* VoiceMob.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = VoiceMob.png; sourceTree = SOURCE_ROOT; };
2A316C3112529555009998B6 /* MGMSIPUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSIPUser.h; sourceTree = "<group>"; };
2A316C3212529555009998B6 /* MGMSIPUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSIPUser.m; sourceTree = "<group>"; };
2A316C3512529567009998B6 /* MGMVoiceUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMVoiceUser.h; sourceTree = "<group>"; };
2A316C3612529567009998B6 /* MGMVoiceUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMVoiceUser.m; sourceTree = "<group>"; };
2A316C46125296A5009998B6 /* SIPUser_iPhone.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SIPUser_iPhone.xib; sourceTree = "<group>"; };
2A316C48125296A5009998B6 /* VoiceUser_iPhone.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = VoiceUser_iPhone.xib; sourceTree = "<group>"; };
2A316DE51252C8BA009998B6 /* MGMProgressView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMProgressView.h; sourceTree = "<group>"; };
2A316DE61252C8BA009998B6 /* MGMProgressView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMProgressView.m; sourceTree = "<group>"; };
2A316F0E1252FBED009998B6 /* MGMNumberView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMNumberView.h; sourceTree = "<group>"; };
2A316F0F1252FBED009998B6 /* MGMNumberView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMNumberView.m; sourceTree = "<group>"; };
2A31708B1253987F009998B6 /* VoicePad_iPhone.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = VoicePad_iPhone.xib; sourceTree = "<group>"; };
2A3170A512539BFA009998B6 /* MGMVoicePad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMVoicePad.h; sourceTree = "<group>"; };
2A3170A612539BFA009998B6 /* MGMVoicePad.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMVoicePad.m; sourceTree = "<group>"; };
2A354CD71251820C00454A75 /* Accounts_iPhone.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = Accounts_iPhone.xib; sourceTree = "<group>"; };
2A354CDA1251830F00454A75 /* MGMAccounts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMAccounts.h; sourceTree = "<group>"; };
2A354CDB1251830F00454A75 /* MGMAccounts.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMAccounts.m; sourceTree = "<group>"; };
2A9067C61254302E0008461E /* VoiceContacts_iPhone.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = VoiceContacts_iPhone.xib; sourceTree = "<group>"; };
2A9067C9125430DA0008461E /* MGMVoiceContacts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMVoiceContacts.h; sourceTree = "<group>"; };
2A9067CA125430DA0008461E /* MGMVoiceContacts.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMVoiceContacts.m; sourceTree = "<group>"; };
2A9067CC125431010008461E /* MGMContactsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMContactsController.h; sourceTree = "<group>"; };
2A9067CD125431010008461E /* MGMContactsController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMContactsController.m; sourceTree = "<group>"; };
2A90683E125436120008461E /* MGMContactView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMContactView.h; sourceTree = "<group>"; };
2A90683F125436120008461E /* MGMContactView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMContactView.m; sourceTree = "<group>"; };
2A9069071254CF040008461E /* SMS Themes */ = {isa = PBXFileReference; lastKnownFileType = folder; path = "SMS Themes"; sourceTree = "<group>"; };
2A9069321254CF040008461E /* Sounds */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Sounds; sourceTree = "<group>"; };
2A906A031254D4BB0008461E /* blankicon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = blankicon.png; sourceTree = "<group>"; };
2ABD37AD1250D448004AAE00 /* AccountController_iPhone.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AccountController_iPhone.xib; sourceTree = "<group>"; };
2ABD380212513B25004AAE00 /* MGMAccountController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMAccountController.h; sourceTree = "<group>"; };
2ABD380312513B26004AAE00 /* MGMAccountController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMAccountController.m; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@ -163,12 +208,19 @@
children = ( children = (
2A1E991D124D499800D3BEAE /* MGMVMAddons.h */, 2A1E991D124D499800D3BEAE /* MGMVMAddons.h */,
2A1E991E124D499800D3BEAE /* MGMVMAddons.m */, 2A1E991E124D499800D3BEAE /* MGMVMAddons.m */,
2A9067CC125431010008461E /* MGMContactsController.h */,
2A9067CD125431010008461E /* MGMContactsController.m */,
2A1E97D7124D261E00D3BEAE /* MGMController.h */, 2A1E97D7124D261E00D3BEAE /* MGMController.h */,
2A1E97D8124D261E00D3BEAE /* MGMController.m */, 2A1E97D8124D261E00D3BEAE /* MGMController.m */,
2A1E99A4124D77F900D3BEAE /* MGMAccountSetup.h */, 2A1E99A4124D77F900D3BEAE /* MGMAccountSetup.h */,
2A1E99A5124D77F900D3BEAE /* MGMAccountSetup.m */, 2A1E99A5124D77F900D3BEAE /* MGMAccountSetup.m */,
2A1E9AEA124DA3CC00D3BEAE /* MGMSIPUser.h */, 2ABD380212513B25004AAE00 /* MGMAccountController.h */,
2A1E9AEB124DA3CC00D3BEAE /* MGMSIPUser.m */, 2ABD380312513B26004AAE00 /* MGMAccountController.m */,
2A354CDA1251830F00454A75 /* MGMAccounts.h */,
2A354CDB1251830F00454A75 /* MGMAccounts.m */,
2A316C3012529555009998B6 /* SIP */,
2A316C3312529555009998B6 /* Voice */,
2A316DE41252C8BA009998B6 /* Views */,
); );
name = Classes; name = Classes;
path = Classes/VoiceMob; path = Classes/VoiceMob;
@ -178,6 +230,7 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
2A1E9BA5124DB1AE00D3BEAE /* VoiceMob.png */, 2A1E9BA5124DB1AE00D3BEAE /* VoiceMob.png */,
2A906A031254D4BB0008461E /* blankicon.png */,
2A1E9A0E124D827B00D3BEAE /* VoiceMob Setup.png */, 2A1E9A0E124D827B00D3BEAE /* VoiceMob Setup.png */,
2A1E97C1124D22DA00D3BEAE /* Info.plist */, 2A1E97C1124D22DA00D3BEAE /* Info.plist */,
2A1E9825124D2B3D00D3BEAE /* MainWindow_iPhone.xib */, 2A1E9825124D2B3D00D3BEAE /* MainWindow_iPhone.xib */,
@ -185,6 +238,12 @@
2A1E997B124D69DE00D3BEAE /* AccountSetup_iPhone.xib */, 2A1E997B124D69DE00D3BEAE /* AccountSetup_iPhone.xib */,
2A1E99A0124D70A500D3BEAE /* Radio.png */, 2A1E99A0124D70A500D3BEAE /* Radio.png */,
2A1E99A1124D70A500D3BEAE /* RadioSelected.png */, 2A1E99A1124D70A500D3BEAE /* RadioSelected.png */,
2ABD37AD1250D448004AAE00 /* AccountController_iPhone.xib */,
2A354CD71251820C00454A75 /* Accounts_iPhone.xib */,
2A9069071254CF040008461E /* SMS Themes */,
2A9069321254CF040008461E /* Sounds */,
2A316C45125296A5009998B6 /* SIP */,
2A316C47125296A5009998B6 /* Voice */,
); );
name = Resources; name = Resources;
path = Resources/VoiceMob; path = Resources/VoiceMob;
@ -199,6 +258,59 @@
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
2A316C3012529555009998B6 /* SIP */ = {
isa = PBXGroup;
children = (
2A316C3112529555009998B6 /* MGMSIPUser.h */,
2A316C3212529555009998B6 /* MGMSIPUser.m */,
);
path = SIP;
sourceTree = "<group>";
};
2A316C3312529555009998B6 /* Voice */ = {
isa = PBXGroup;
children = (
2A316C3512529567009998B6 /* MGMVoiceUser.h */,
2A316C3612529567009998B6 /* MGMVoiceUser.m */,
2A3170A512539BFA009998B6 /* MGMVoicePad.h */,
2A3170A612539BFA009998B6 /* MGMVoicePad.m */,
2A9067C9125430DA0008461E /* MGMVoiceContacts.h */,
2A9067CA125430DA0008461E /* MGMVoiceContacts.m */,
);
path = Voice;
sourceTree = "<group>";
};
2A316C45125296A5009998B6 /* SIP */ = {
isa = PBXGroup;
children = (
2A316C46125296A5009998B6 /* SIPUser_iPhone.xib */,
);
path = SIP;
sourceTree = "<group>";
};
2A316C47125296A5009998B6 /* Voice */ = {
isa = PBXGroup;
children = (
2A316C48125296A5009998B6 /* VoiceUser_iPhone.xib */,
2A31708B1253987F009998B6 /* VoicePad_iPhone.xib */,
2A9067C61254302E0008461E /* VoiceContacts_iPhone.xib */,
);
path = Voice;
sourceTree = "<group>";
};
2A316DE41252C8BA009998B6 /* Views */ = {
isa = PBXGroup;
children = (
2A316DE51252C8BA009998B6 /* MGMProgressView.h */,
2A316DE61252C8BA009998B6 /* MGMProgressView.m */,
2A316F0E1252FBED009998B6 /* MGMNumberView.h */,
2A316F0F1252FBED009998B6 /* MGMNumberView.m */,
2A90683E125436120008461E /* MGMContactView.h */,
2A90683F125436120008461E /* MGMContactView.m */,
);
path = Views;
sourceTree = "<group>";
};
/* End PBXGroup section */ /* End PBXGroup section */
/* Begin PBXNativeTarget section */ /* Begin PBXNativeTarget section */
@ -272,6 +384,15 @@
2A1E99A3124D70A500D3BEAE /* RadioSelected.png in Resources */, 2A1E99A3124D70A500D3BEAE /* RadioSelected.png in Resources */,
2A1E9A0F124D827B00D3BEAE /* VoiceMob Setup.png in Resources */, 2A1E9A0F124D827B00D3BEAE /* VoiceMob Setup.png in Resources */,
2A1E9BA6124DB1AE00D3BEAE /* VoiceMob.png in Resources */, 2A1E9BA6124DB1AE00D3BEAE /* VoiceMob.png in Resources */,
2ABD37AE1250D448004AAE00 /* AccountController_iPhone.xib in Resources */,
2A354CD81251820C00454A75 /* Accounts_iPhone.xib in Resources */,
2A316C49125296A5009998B6 /* SIPUser_iPhone.xib in Resources */,
2A316C4A125296A5009998B6 /* VoiceUser_iPhone.xib in Resources */,
2A31708C1253987F009998B6 /* VoicePad_iPhone.xib in Resources */,
2A9067C71254302E0008461E /* VoiceContacts_iPhone.xib in Resources */,
2A90693C1254CF040008461E /* SMS Themes in Resources */,
2A90693D1254CF040008461E /* Sounds in Resources */,
2A906A041254D4BB0008461E /* blankicon.png in Resources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -286,7 +407,16 @@
2A1E97D9124D261E00D3BEAE /* MGMController.m in Sources */, 2A1E97D9124D261E00D3BEAE /* MGMController.m in Sources */,
2A1E991F124D499800D3BEAE /* MGMVMAddons.m in Sources */, 2A1E991F124D499800D3BEAE /* MGMVMAddons.m in Sources */,
2A1E99A6124D77F900D3BEAE /* MGMAccountSetup.m in Sources */, 2A1E99A6124D77F900D3BEAE /* MGMAccountSetup.m in Sources */,
2A1E9AEC124DA3CC00D3BEAE /* MGMSIPUser.m in Sources */, 2ABD380412513B26004AAE00 /* MGMAccountController.m in Sources */,
2A354CDC1251830F00454A75 /* MGMAccounts.m in Sources */,
2A316C3412529555009998B6 /* MGMSIPUser.m in Sources */,
2A316C3712529567009998B6 /* MGMVoiceUser.m in Sources */,
2A316DE71252C8BA009998B6 /* MGMProgressView.m in Sources */,
2A316F101252FBED009998B6 /* MGMNumberView.m in Sources */,
2A3170A712539BFA009998B6 /* MGMVoicePad.m in Sources */,
2A9067CB125430DA0008461E /* MGMVoiceContacts.m in Sources */,
2A9067CE125431010008461E /* MGMContactsController.m in Sources */,
2A906840125436130008461E /* MGMContactView.m in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };