diff --git a/About.rtf b/About.rtf index 1aaccb6..dbeaf18 100644 --- a/About.rtf +++ b/About.rtf @@ -17,7 +17,7 @@ RockStar ({\field{\*\fldinst{HYPERLINK "http://rocknthesweater.com"}}{\fldrslt r PowerOfCheese ({\field{\*\fldinst{HYPERLINK "http://xtrememachinez.com"}}{\fldrslt xtrememachinez.com}})\ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural -\cf0 VoiceMac Uses {\field{\*\fldinst{HYPERLINK "http://mrgeckosmedia.com"}}{\fldrslt MGMSIP}} as a wrapper for {\field{\*\fldinst{HYPERLINK "http://www.pjsip.org/"}}{\fldrslt PJSIP}} which is a VOIP library, {\field{\*\fldinst{HYPERLINK "http://ffmpeg.org/"}}{\fldrslt FFmpeg}} for audio conversion, {\field{\*\fldinst{HYPERLINK "http://sparkle.andymatuschak.org"}}{\fldrslt Sparkle}} for software update, and {\field{\*\fldinst{HYPERLINK "http://growl.info/"}}{\fldrslt Growl}} for notifications.\ +\cf0 VoiceMac uses {\field{\*\fldinst{HYPERLINK "http://mrgeckosmedia.com"}}{\fldrslt MGMSIP}} as a wrapper for {\field{\*\fldinst{HYPERLINK "http://www.pjsip.org/"}}{\fldrslt PJSIP}} which is a VOIP library, {\field{\*\fldinst{HYPERLINK "http://ffmpeg.org/"}}{\fldrslt FFmpeg}} for audio conversion, {\field{\*\fldinst{HYPERLINK "http://sparkle.andymatuschak.org"}}{\fldrslt Sparkle}} for software update, {\field{\*\fldinst{HYPERLINK "http://growl.info/"}}{\fldrslt Growl}} for notifications, and {\field{\*\fldinst{HYPERLINK "http://opensource.mrgeckosmedia.com/GeckoReporter"}}{\fldrslt GeckoReporter}} for crash and reporting.\ \ VoiceMac is the first Google Voice client for the Mac. Send multiple SMS Messages, send SMS Messages, receive SMS Messages, place calls, look at your call history, receive voicemail, reverse lookup a phone number, and search your contact list in one easy interface. When you receive a SMS Message or Voicemail, you get notifications view Growl and hear sounds that is customizable.\ \ diff --git a/Classes/VoiceBase/AddressBook/MGMContacts.h b/Classes/VoiceBase/AddressBook/MGMContacts.h index 95557f3..b4f0799 100644 --- a/Classes/VoiceBase/AddressBook/MGMContacts.h +++ b/Classes/VoiceBase/AddressBook/MGMContacts.h @@ -57,6 +57,7 @@ - (NSNumber *)countContactsMatching:(NSString *)theString; - (NSArray *)contactsMatching:(NSString *)theString page:(int)thePage; +- (NSArray *)contactsMatching:(NSString *)theString page:(int)thePage includePhoto:(BOOL)shouldIncludePhoto; - (NSArray *)contactCompletionsMatching:(NSString *)theString; - (NSDictionary *)contactWithID:(NSNumber *)theID; - (NSData *)photoDataForNumber:(NSString *)theNumber; diff --git a/Classes/VoiceBase/AddressBook/MGMContacts.m b/Classes/VoiceBase/AddressBook/MGMContacts.m index 73b18d1..0c1db29 100644 --- a/Classes/VoiceBase/AddressBook/MGMContacts.m +++ b/Classes/VoiceBase/AddressBook/MGMContacts.m @@ -285,9 +285,18 @@ const int MGMCMaxResults = 10; return [count autorelease]; } - (NSArray *)contactsMatching:(NSString *)theString page:(int)thePage { + return [self contactsMatching:theString page:thePage includePhoto:YES]; +} +- (NSArray *)contactsMatching:(NSString *)theString page:(int)thePage includePhoto:(BOOL)shouldIncludePhoto { if (contactsConnection==nil) return nil; [contactsLock lock]; + NSString *select = nil; + if (shouldIncludePhoto) + select = @"SELECT docid, name, company, number, label, photo"; + else + select = @"SELECT docid, name, company, number, label"; + NSMutableArray *contactsArray = [NSMutableArray array]; NSAutoreleasePool *pool = [NSAutoreleasePool new]; NSString *string = [theString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; @@ -295,11 +304,11 @@ const int MGMCMaxResults = 10; if (thePage==0) thePage = 1; long long int page = (thePage*maxResults)-maxResults; if (theString==nil || [string isEqual:@""]) { - result = [contactsConnection query:@"SELECT docid, * FROM contacts ORDER BY company, name LIMIT %qi, %d", page, maxResults]; + result = [contactsConnection query:[select stringByAppendingString:@" FROM contacts ORDER BY company, name LIMIT %qi, %d"], page, maxResults]; } else { if ([string isPhone]) { NSString *search = [NSString stringWithFormat:MGMCNum, [[string removePhoneWhiteSpace] littersToNumbers]]; - result = [contactsConnection query:@"SELECT docid, * FROM contacts WHERE number LIKE %@ ORDER BY company, name LIMIT %qi, %d", search, page, maxResults]; + result = [contactsConnection query:[select stringByAppendingString:@" FROM contacts WHERE number LIKE %@ ORDER BY company, name LIMIT %qi, %d"], search, page, maxResults]; } else { NSArray *words = [string componentsSeparatedByString:@" "]; NSMutableString *search = [NSMutableString string]; @@ -329,7 +338,7 @@ const int MGMCMaxResults = 10; } } } - result = [contactsConnection query:@"SELECT docid, *, offsets(contacts) AS offset FROM contacts WHERE contacts MATCH %@ ORDER BY offset LIMIT %qi, %d", search, page, maxResults]; + result = [contactsConnection query:[select stringByAppendingString:@", offsets(contacts) AS offset FROM contacts WHERE contacts MATCH %@ ORDER BY offset LIMIT %qi, %d"], search, page, maxResults]; } } NSDictionary *contact = nil; @@ -354,7 +363,7 @@ const int MGMCMaxResults = 10; if ([string isPhone]) { for (int i=0; i<2; i++) { NSString *search = [NSString stringWithFormat:@"%@%%", (i==0 ? [string phoneFormat] : [string phoneFormatAreaCode:[delegate areaCode]])]; - MGMLiteResult *result = [contactsConnection query:@"SELECT docid, * FROM contacts WHERE number LIKE %@ ORDER BY company, name LIMIT %d", search, maxResults]; + MGMLiteResult *result = [contactsConnection query:@"SELECT name, company, number FROM contacts WHERE number LIKE %@ ORDER BY company, name LIMIT %d", search, maxResults]; NSDictionary *contact = nil; while ((contact=[result nextRow])!=nil) { @@ -389,7 +398,7 @@ const int MGMCMaxResults = 10; [search appendFormat:MGMCWordSSA, word]; } } - MGMLiteResult *result = [contactsConnection query:@"SELECT docid, *, offsets(contacts) AS offset FROM contacts WHERE contacts MATCH %@ ORDER BY offset LIMIT %d", search, maxResults]; + MGMLiteResult *result = [contactsConnection query:@"SELECT name, company, number, offsets(contacts) AS offset FROM contacts WHERE contacts MATCH %@ ORDER BY offset LIMIT %d", search, maxResults]; NSDictionary *contact = nil; while ((contact=[result nextRow])!=nil) { @@ -426,6 +435,7 @@ const int MGMCMaxResults = 10; [pool drain]; return completions; } + - (NSDictionary *)contactWithID:(NSNumber *)theID { if (contactsConnection==nil) return nil; diff --git a/Classes/VoiceBase/MGMAddons.m b/Classes/VoiceBase/MGMAddons.m index c96c0ff..b258081 100644 --- a/Classes/VoiceBase/MGMAddons.m +++ b/Classes/VoiceBase/MGMAddons.m @@ -258,7 +258,7 @@ } return areaCode; } - return nil; + return @""; } - (NSString *)areaCodeLocation { switch ([self intValue]) { @@ -1310,7 +1310,7 @@ - (NSString *)addPercentEscapes { NSString *result = [self stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; - CFStringRef escapedString = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)self, NULL, CFSTR("!*'();:@&=+$,/?%#[]|"), kCFStringEncodingUTF8); + CFStringRef escapedString = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)self, NULL, CFSTR("!*'();:^@&=+$,/?%#[]|"), kCFStringEncodingUTF8); if (escapedString) { result = [NSString stringWithString:(NSString *)escapedString]; diff --git a/Classes/VoiceBase/MGMInstance.m b/Classes/VoiceBase/MGMInstance.m index 9432029..035b4da 100644 --- a/Classes/VoiceBase/MGMInstance.m +++ b/Classes/VoiceBase/MGMInstance.m @@ -28,8 +28,8 @@ NSString * const MGMVoiceBaseCopyright = @"Copyright (c) 2011 Mr. Gecko's Media (James Coleman). http://mrgeckosmedia.com/"; -NSString * const MGMVoiceIndexURL = @"https://www.google.com/voice/#inbox"; -NSString * const MGMLoginURL = @"https://www.google.com/accounts/ServiceLoginAuth"; +NSString * const MGMVoiceIndexURL = @"https://www.google.com/voice/"; +NSString * const MGMLoginURL = @"https://accounts.google.com/ServiceLoginAuth"; NSString * const MGMLoginVerifyURL = @"https://www.google.com/accounts/SmsAuth?persistent=yes"; NSString * const MGMXPCPath = @"/voice/xpc/?xpc=%7B%22cn%22%3A%22i70avDIMsA%22%2C%22tp%22%3Anull%2C%22pru%22%3A%22https%3A%2F%2Fwww.google.com%2Fvoice%2Fxpc%2Frelay%22%2C%22ppu%22%3A%22https%3A%2F%2Fwww.google.com%2Fvoice%2Fxpc%2Fblank%2F%22%2C%22lpu%22%3A%22https%3A%2F%2Fclients4.google.com%2Fvoice%2Fxpc%2Fblank%2F%22%7D"; NSString * const MGMCheckPath = @"/voice/xpc/checkMessages?r=%@"; @@ -237,7 +237,7 @@ const BOOL MGMInstanceInvisible = YES; [handler setFinish:@selector(indexDidFinish:)]; [handler setInvisible:MGMInstanceInvisible]; [connectionManager addHandler:handler]; - } else if ([returnedString containsString:@"Enter verification code"]) { + } else if ([returnedString containsString:@"verification code"]) { [verificationParameters release]; verificationParameters = [NSMutableDictionary new]; [verificationParameters setObject:@"yes" forKey:@"PersistentCookie"]; @@ -376,7 +376,7 @@ const BOOL MGMInstanceInvisible = YES; NSString *valueEnd = @"\""; NSString *valueStartQ = @"value='"; NSString *valueEndQ = @"'"; - NSArray *names = [NSArray arrayWithObjects:@"ltmpl", @"continue", @"followup", @"service", @"dsh", @"GALX", @"rmShown", nil]; + NSArray *names = [NSArray arrayWithObjects:@"ltmpl", @"pstMsg", @"dnConn", @"continue", @"followup", @"service", @"dsh", @"timeStmp", @"secTok", @"GALX", @"signIn", @"asts", @"rmShown", nil]; for (int i=0; i<[names count]; i++) { NSAutoreleasePool *pool = [NSAutoreleasePool new]; NSString *nameString = [NSString stringWithFormat:nameValue, [names objectAtIndex:i]]; @@ -532,7 +532,15 @@ const BOOL MGMInstanceInvisible = YES; } } } - if (![returnedString containsString:@"gc-header-did-display"] && ![userNumber isPhoneComplete]) { + if ([returnedString containsString:@"cookie functionality"]) { + NSError *error = [NSError errorWithDomain:@"com.MrGeckosMedia.MGMInstance.Login" code:3 userInfo:[NSDictionary dictionaryWithObject:@"There is a problem with VoiceMac's Cookie system, please contact the developer via the help menu." forKey:NSLocalizedDescriptionKey]]; + if (delegate!=nil && [delegate respondsToSelector:@selector(loginError:)]) { + [delegate loginError:error]; + } else { + NSLog(@"Login Error: %@", error); + } + return; + } else if (![returnedString containsString:@"gc-header-did-display"] && ![userNumber isPhoneComplete]) { NSError *error = [NSError errorWithDomain:@"com.MrGeckosMedia.MGMInstance.Login" code:2 userInfo:[NSDictionary dictionaryWithObject:@"Your Google Account does not appear to have a Google Number, please visit voice.google.com and setup one before continuing." forKey:NSLocalizedDescriptionKey]]; if (delegate!=nil && [delegate respondsToSelector:@selector(loginError:)]) { [delegate loginError:error]; @@ -580,7 +588,6 @@ const BOOL MGMInstanceInvisible = YES; NSLog(@"XPCURL = %@", XPCURL); #endif loggedIn = YES; - if (delegate!=nil && [delegate respondsToSelector:@selector(loginSuccessful)]) [delegate loginSuccessful]; if (!checkingAccount) { [contacts updateContacts]; [checkTimer invalidate]; @@ -592,6 +599,7 @@ const BOOL MGMInstanceInvisible = YES; creditTimer = [[NSTimer scheduledTimerWithTimeInterval:60.0 target:self selector:@selector(creditTimer) userInfo:nil repeats:YES] retain]; [creditTimer fire]; } + if (delegate!=nil && [delegate respondsToSelector:@selector(loginSuccessful)]) [delegate loginSuccessful]; } } - (void)cancelVerification { diff --git a/Classes/VoiceBase/SIP/MGMSIPAccount.m b/Classes/VoiceBase/SIP/MGMSIPAccount.m index e41413e..9df5f38 100644 --- a/Classes/VoiceBase/SIP/MGMSIPAccount.m +++ b/Classes/VoiceBase/SIP/MGMSIPAccount.m @@ -160,8 +160,8 @@ const int MGMSIPAccountReregisterTimeoutDefault = 300; registrar = [theRegistrar copy]; } - (NSString *)SIPAddress { - if (SIPAddress==nil && domain!=nil && userName!=nil) - return [NSString stringWithFormat:@"%@@%@", userName, domain]; + if (SIPAddress==nil && registrar!=nil && userName!=nil) + return [NSString stringWithFormat:@"%@@%@", userName, registrar]; return SIPAddress; } - (void)setSIPAddress:(NSString *)theSIPAddress { @@ -387,7 +387,7 @@ const int MGMSIPAccountReregisterTimeoutDefault = 300; - (MGMSIPCall *)makeCallToNumber:(NSString *)theNumber { MGMSIPURL *SIPURL = [MGMSIPURL URLWithSIPAddress:theNumber]; if ([[SIPURL host] isEqual:theNumber]) { - [SIPURL setHost:domain]; + [SIPURL setHost:registrar]; [SIPURL setUserName:theNumber]; } return [self makeCallToSIPURL:SIPURL]; diff --git a/Classes/VoiceMac/Inbox/MGMInboxPlayWindow.m b/Classes/VoiceMac/Inbox/MGMInboxPlayWindow.m index 7279b94..c120b7b 100644 --- a/Classes/VoiceMac/Inbox/MGMInboxPlayWindow.m +++ b/Classes/VoiceMac/Inbox/MGMInboxPlayWindow.m @@ -81,10 +81,10 @@ - (void)handler:(MGMURLBasicHandler *)theHandler didFailWithError:(NSError *)theError { NSLog(@"Starting Audio Error: %@", theError); - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert setMessageText:@"Error loading audio"]; - [theAlert setInformativeText:[theError localizedDescription]]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert setMessageText:@"Error loading audio"]; + [alert setInformativeText:[theError localizedDescription]]; + [alert runModal]; } - (void)handlerDidFinish:(MGMURLBasicHandler *)theHandler { QTDataReference *audioReference = [QTDataReference dataReferenceWithReferenceToData:[theHandler data] name:@"voicemail.mp3" MIMEType:nil]; diff --git a/Classes/VoiceMac/Inbox/MGMInboxWindow.m b/Classes/VoiceMac/Inbox/MGMInboxWindow.m index 0891c1f..823cce2 100644 --- a/Classes/VoiceMac/Inbox/MGMInboxWindow.m +++ b/Classes/VoiceMac/Inbox/MGMInboxWindow.m @@ -252,10 +252,10 @@ NSString * const MGMSID = @"id"; } - (void)inbox:(MGMDelegateInfo *)theInfo didFailWithError:(NSError *)theError instance:(MGMInstance *)theInstance { NSLog(@"Inbox Error: %@ for instance: %@", theError, theInstance); - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert setMessageText:@"Error loading inbox"]; - [theAlert setInformativeText:[theError localizedDescription]]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert setMessageText:@"Error loading inbox"]; + [alert setInformativeText:[theError localizedDescription]]; + [alert runModal]; [self stopProgress]; } - (void)inboxGotInfo:(NSArray *)theInfo instance:(MGMInstance *)theInstance { @@ -313,10 +313,10 @@ NSString * const MGMSID = @"id"; } - (IBAction)report:(MGMDelegateInfo *)theInfo didFailWithError:(NSError *)theError instance:(MGMInstance *)theInstance { NSLog(@"Report Error: %@ for instance: %@", theError, theInstance); - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert setMessageText:@"Error reporting"]; - [theAlert setInformativeText:[theError localizedDescription]]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert setMessageText:@"Error reporting"]; + [alert setInformativeText:[theError localizedDescription]]; + [alert runModal]; [self stopProgress]; } - (void)reportDidFinish:(MGMDelegateInfo *)theInfo instance:(MGMInstance *)theInstance { @@ -355,10 +355,10 @@ NSString * const MGMSID = @"id"; } - (void)delete:(MGMDelegateInfo *)theInfo didFailWithError:(NSError *)theError instance:(MGMInstance *)theInstance { NSLog(@"Delete Error: %@ for instance: %@", theError, theInstance); - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert setMessageText:@"Error deleting"]; - [theAlert setInformativeText:[theError localizedDescription]]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert setMessageText:@"Error deleting"]; + [alert setInformativeText:[theError localizedDescription]]; + [alert runModal]; [self stopProgress]; } - (void)deleteDidFinish:(MGMDelegateInfo *)theInfo instance:(MGMInstance *)theInstance { diff --git a/Classes/VoiceMac/MGMAccountSetup.h b/Classes/VoiceMac/MGMAccountSetup.h index 7b13d61..a63d7b2 100644 --- a/Classes/VoiceMac/MGMAccountSetup.h +++ b/Classes/VoiceMac/MGMAccountSetup.h @@ -26,8 +26,6 @@ extern NSString * const MGMSGoogleContacts; extern NSString * const MGMSSIP; extern NSString * const MGMSAccountType; -extern NSString * const MGMSIPDefaultDomain; - @interface MGMAccountSetup : NSObject { IBOutlet NSWindow *setupWindow; IBOutlet NSTextField *titleField; @@ -69,6 +67,7 @@ extern NSString * const MGMSIPDefaultDomain; MGMUser *S7CheckUser; MGMInstance *S7CheckInstance; MGMVoiceVerify *S7VerifyWindow; + BOOL S7Verified; MGMURLConnectionManager *S7ConnectionManager; #if MGMSIPENABLED MGMSIPAccount *S7CheckSIPAccount; diff --git a/Classes/VoiceMac/MGMAccountSetup.m b/Classes/VoiceMac/MGMAccountSetup.m index f0ea23d..a2f49a9 100644 --- a/Classes/VoiceMac/MGMAccountSetup.m +++ b/Classes/VoiceMac/MGMAccountSetup.m @@ -40,8 +40,6 @@ NSString * const MGMSAccountType = @"MGMSAccountType"; NSString * const MGMS7Crediential = @"Checking Login Credentials."; NSString * const MGMS7SIPWaiting = @"Waiting for Registration Status."; -NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; - @implementation MGMAccountSetup - (id)init { if ((self = [super init])) { @@ -238,10 +236,10 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; #if MGMSIPENABLED step = 6; #else - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert setMessageText:@"Unable to Add Account"]; - [theAlert setInformativeText:@"MGMSIP is not compiled with VoiceMac, you can not add a SIP account without first compiling with MGMSIP."]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert setMessageText:@"Unable to Add Account"]; + [alert setInformativeText:@"MGMSIP is not compiled with VoiceMac, you can not add a SIP account without first compiling with MGMSIP."]; + [alert runModal]; #endif break; } @@ -261,14 +259,14 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; if ([[S5EmailField stringValue] isEqual:@""] || [[S5PasswordField stringValue] isEqual:@""]) emptyFields = YES; } else if (accountType==2) { - if ([[S6UserNameField stringValue] isEqual:@""] || [[S6PasswordField stringValue] isEqual:@""]) + if ([[S6UserNameField stringValue] isEqual:@""] || [[S6PasswordField stringValue] isEqual:@""] || [[S6RegistrarField stringValue] isEqual:@""]) emptyFields = YES; } if (emptyFields) { - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert setMessageText:@"Missing Information"]; - [theAlert setInformativeText:@"It appears as if you did not fill the required fields, please fill out the required fields and then continue."]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert setMessageText:@"Missing Information"]; + [alert setInformativeText:@"It appears as if you did not fill the required fields, please fill out the required fields and then continue."]; + [alert runModal]; return; } step = 7; @@ -307,7 +305,7 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; } - (IBAction)S6DomainChanged:(id)sender { if ([[S6DomainField stringValue] isEqual:@""]) - [[S6RegistrarField cell] setPlaceholderString:MGMSIPDefaultDomain]; + [[S6RegistrarField cell] setPlaceholderString:@""]; else [[S6RegistrarField cell] setPlaceholderString:[S6DomainField stringValue]]; } @@ -322,6 +320,7 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; //Step 7 - (void)S7CheckGoogleVoice { + S7Verified = NO; S7CheckUser = [[MGMUser createUserWithName:[S4EmailField stringValue] password:[S4PasswordField stringValue]] retain]; [S7CheckUser setSetting:MGMSGoogleVoice forKey:MGMSAccountType]; S7CheckInstance = [[MGMInstance instanceWithUser:S7CheckUser delegate:self isCheck:YES] retain]; @@ -340,6 +339,7 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; [self displayStep]; } - (void)loginVerificationRequested { + S7Verified = YES; [S7VerifyWindow release]; S7VerifyWindow = [[MGMVoiceVerify verifyWithInstance:S7CheckInstance] retain]; } @@ -348,9 +348,11 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; S7VerifyWindow = nil; if (S7CheckUser!=nil) { [accountsCreated addObject:S7CheckUser]; - MGMUser *contactsUser = [MGMUser createUserWithName:[S4EmailField stringValue] password:[S4PasswordField stringValue]]; - [contactsUser setSetting:MGMSGoogleContacts forKey:MGMSAccountType]; - [S7CheckUser setSetting:[contactsUser settingForKey:MGMUserID] forKey:MGMCGoogleContactsUser]; + if (!S7Verified) { + MGMUser *contactsUser = [MGMUser createUserWithName:[S4EmailField stringValue] password:[S4PasswordField stringValue]]; + [contactsUser setSetting:MGMSGoogleContacts forKey:MGMSAccountType]; + [S7CheckUser setSetting:[contactsUser settingForKey:MGMUserID] forKey:MGMCGoogleContactsUser]; + } [S7CheckUser release]; S7CheckUser = nil; } @@ -424,7 +426,7 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; if ([[S6UserNameField stringValue] isPhone]) [S7CheckUser setSetting:[[S6UserNameField stringValue] areaCode] forKey:MGMSIPUserAreaCode]; if ([[S6DomainField stringValue] isEqual:@""]) - [S7CheckUser setSetting:MGMSIPDefaultDomain forKey:MGMSIPAccountDomain]; + [S7CheckUser setSetting:@"" forKey:MGMSIPAccountDomain]; else [S7CheckUser setSetting:[S6DomainField stringValue] forKey:MGMSIPAccountDomain]; if (![[S6RegistrarField stringValue] isEqual:@""]) diff --git a/Classes/VoiceMac/MGMVoiceUser.m b/Classes/VoiceMac/MGMVoiceUser.m index 6b32ea4..c90bcf6 100644 --- a/Classes/VoiceMac/MGMVoiceUser.m +++ b/Classes/VoiceMac/MGMVoiceUser.m @@ -120,10 +120,10 @@ NSString * const MGMLastUserPhoneKey = @"MGMLastUserPhone"; } - (void)loginError:(NSError *)theError { - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert setMessageText:@"Error logging in"]; - [theAlert setInformativeText:[theError localizedDescription]]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert setMessageText:@"Error logging in"]; + [alert setInformativeText:[theError localizedDescription]]; + [alert runModal]; [verifyWindow release]; verifyWindow = nil; diff --git a/Classes/VoiceMac/Preferences/MGMAccountsPane.m b/Classes/VoiceMac/Preferences/MGMAccountsPane.m index 3f54f8b..2746dee 100644 --- a/Classes/VoiceMac/Preferences/MGMAccountsPane.m +++ b/Classes/VoiceMac/Preferences/MGMAccountsPane.m @@ -261,7 +261,7 @@ NSString * const MGMLogout = @"Logout"; else [SIPFullNameField setStringValue:@""]; if ([user settingForKey:MGMSIPAccountDomain]==nil || [[user settingForKey:MGMSIPAccountDomain] isEqual:@""]) { - [[SIPRegistrarField cell] setPlaceholderString:MGMSIPDefaultDomain]; + [[SIPRegistrarField cell] setPlaceholderString:@""]; [SIPDomainField setStringValue:@""]; } else { [[SIPRegistrarField cell] setPlaceholderString:[user settingForKey:MGMSIPAccountDomain]]; @@ -369,13 +369,16 @@ NSString * const MGMLogout = @"Logout"; MGMUser *user = [MGMUser userWithID:[[MGMUser users] objectAtIndex:[usersTable selectedRow]]]; [user setSetting:[SIPFullNameField stringValue] forKey:MGMSIPAccountFullName]; if ([[SIPDomainField stringValue] isEqual:@""]) { - [[SIPRegistrarField cell] setPlaceholderString:MGMSIPDefaultDomain]; - [user setSetting:MGMSIPDefaultDomain forKey:MGMSIPAccountDomain]; + [[SIPRegistrarField cell] setPlaceholderString:@""]; + [user setSetting:@"" forKey:MGMSIPAccountDomain]; } else { [[SIPRegistrarField cell] setPlaceholderString:[SIPDomainField stringValue]]; [user setSetting:[SIPDomainField stringValue] forKey:MGMSIPAccountDomain]; } - [user setSetting:[SIPRegistrarField stringValue] forKey:MGMSIPAccountRegistrar]; + if ([[SIPRegistrarField stringValue] isEqual:@""] && [[SIPDomainField stringValue] isEqual:@""]) + NSBeep(); + else + [user setSetting:[SIPRegistrarField stringValue] forKey:MGMSIPAccountRegistrar]; if ([[SIPUserNameField stringValue] isEqual:@""] || [[SIPPasswordField stringValue] isEqual:@""]) { NSBeep(); if ([user settingForKey:MGMSIPAccountUserName]!=nil) { diff --git a/Classes/VoiceMac/SIP/MGMSIPUser.m b/Classes/VoiceMac/SIP/MGMSIPUser.m index 9d0c522..a992f8d 100644 --- a/Classes/VoiceMac/SIP/MGMSIPUser.m +++ b/Classes/VoiceMac/SIP/MGMSIPUser.m @@ -134,10 +134,10 @@ NSString * const MGMSIPUserAreaCode = @"MGMVSIPUserAreaCode"; SIPRegistrationTimeout = nil; if (!acountRegistered) { if (![account isRegistered]) { - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert setMessageText:@"Error logging in"]; - [theAlert setInformativeText:@"Unable to Register with Server. Please check your credentials."]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert setMessageText:@"Error logging in"]; + [alert setInformativeText:@"Unable to Register with Server. Please check your credentials."]; + [alert runModal]; } acountRegistered = YES; [self performSelectorOnMainThread:@selector(removeLoginProgress) withObject:nil waitUntilDone:YES]; @@ -174,10 +174,10 @@ NSString * const MGMSIPUserAreaCode = @"MGMVSIPUserAreaCode"; } - (void)loginErrored { loggingIn = NO; - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert setMessageText:@"Error logging in"]; - [theAlert setInformativeText:[account lastError]]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert setMessageText:@"Error logging in"]; + [alert setInformativeText:[account lastError]]; + [alert runModal]; [progressView stopProgess]; [progressView removeFromSuperview]; @@ -186,10 +186,10 @@ NSString * const MGMSIPUserAreaCode = @"MGMVSIPUserAreaCode"; [self performSelectorOnMainThread:@selector(removeLoginProgress) withObject:nil waitUntilDone:YES]; } - (void)logoutErrored { - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert setMessageText:@"Error logging out"]; - [theAlert setInformativeText:[account lastError]]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert setMessageText:@"Error logging out"]; + [alert setInformativeText:[account lastError]]; + [alert runModal]; } - (void)animationDidEnd:(NSAnimation *)animation { [progressFadeAnimation release]; @@ -233,7 +233,8 @@ NSString * const MGMSIPUserAreaCode = @"MGMVSIPUserAreaCode"; NSBeep(); return; } - + if ([phoneNumber hasPrefix:@"011"]) + phoneNumber = [phoneNumber substringFromIndex:3]; [account makeCallToNumber:phoneNumber]; } diff --git a/Classes/VoiceMac/SMS/MGMMultiSMS.m b/Classes/VoiceMac/SMS/MGMMultiSMS.m index 84304cf..ec8720c 100644 --- a/Classes/VoiceMac/SMS/MGMMultiSMS.m +++ b/Classes/VoiceMac/SMS/MGMMultiSMS.m @@ -113,15 +113,15 @@ } } if ([SMSNumbers count]<=0) { - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert setMessageText:@"Error sending a SMS Message"]; - [theAlert setInformativeText:@"You need to at least have 1 contact to send to."]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert setMessageText:@"Error sending a SMS Message"]; + [alert setInformativeText:@"You need to at least have 1 contact to send to."]; + [alert runModal]; } else if ([[SMSTextView string] isEqual:@""]) { - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert setMessageText:@"Error sending a SMS Message"]; - [theAlert setInformativeText:@"Message is blank."]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert setMessageText:@"Error sending a SMS Message"]; + [alert setInformativeText:@"Message is blank."]; + [alert runModal]; } else { [SMSTextView setEditable:NO]; sendingMessage = YES; @@ -138,12 +138,12 @@ [sendButton setEnabled:YES]; [cancelButton setEnabled:YES]; [SMSWindow makeFirstResponder:SMSTextView]; - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert addButtonWithTitle:@"Ok"]; - [theAlert setMessageText:@"Error sending a SMS Message"]; - [theAlert setInformativeText:[theError localizedDescription]]; - [theAlert setAlertStyle:2]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert addButtonWithTitle:@"Ok"]; + [alert setMessageText:@"Error sending a SMS Message"]; + [alert setInformativeText:[theError localizedDescription]]; + [alert setAlertStyle:2]; + [alert runModal]; } - (void)messageDidFinish:(MGMDelegateInfo *)theInfo instance:(MGMInstance *)theInstance { sendingMessage = NO; @@ -155,10 +155,10 @@ - (BOOL)windowShouldClose:(id)sender { if (sendingMessage) { - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert setMessageText:@"Sending a SMS Message"]; - [theAlert setInformativeText:@"Your SMS Message is currently being sent, please wait for it to be sent."]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert setMessageText:@"Sending a SMS Message"]; + [alert setInformativeText:@"Your SMS Message is currently being sent, please wait for it to be sent."]; + [alert runModal]; return NO; } return YES; diff --git a/Classes/VoiceMac/SMS/MGMSMSManager.m b/Classes/VoiceMac/SMS/MGMSMSManager.m index 37b0401..70a8f64 100644 --- a/Classes/VoiceMac/SMS/MGMSMSManager.m +++ b/Classes/VoiceMac/SMS/MGMSMSManager.m @@ -326,10 +326,10 @@ const float updateTimeInterval = 300.0; } if ([SMSMessages count]==1) { if (![[SMSMessages objectAtIndex:0] shouldClose]) { - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert setMessageText:@"Sending a SMS Message"]; - [theAlert setInformativeText:@"You currently have a SMS Message being sent, please wait for it to be sent."]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert setMessageText:@"Sending a SMS Message"]; + [alert setInformativeText:@"You currently have a SMS Message being sent, please wait for it to be sent."]; + [alert runModal]; return NO; } else { [[SMSMessages objectAtIndex:0] close:self]; diff --git a/Classes/VoiceMac/SMS/MGMSMSMessageView.h b/Classes/VoiceMac/SMS/MGMSMSMessageView.h index 4980fc3..4b89df6 100644 --- a/Classes/VoiceMac/SMS/MGMSMSMessageView.h +++ b/Classes/VoiceMac/SMS/MGMSMSMessageView.h @@ -34,6 +34,7 @@ BOOL sendingMessage; BOOL marking; + BOOL markingForMessage; float bottomMax; } diff --git a/Classes/VoiceMac/SMS/MGMSMSMessageView.m b/Classes/VoiceMac/SMS/MGMSMSMessageView.m index 226d625..0991249 100644 --- a/Classes/VoiceMac/SMS/MGMSMSMessageView.m +++ b/Classes/VoiceMac/SMS/MGMSMSMessageView.m @@ -204,6 +204,11 @@ - (IBAction)sendMessage:(id)sender { if ([[SMSTextView string] isEqual:@""]) return; + if (![[messageInfo objectForKey:MGMIRead] boolValue]) { + marking = YES; + markingForMessage = YES; + [[instance inbox] markEntries:[NSArray arrayWithObject:[messageInfo objectForKey:MGMIID]] read:YES delegate:self]; + } sendingMessage = YES; [SMSTextView setEditable:NO]; [[instance inbox] sendMessage:[SMSTextView string] phoneNumbers:[NSArray arrayWithObject:[messageInfo objectForKey:MGMIPhoneNumber]] smsID:[messageInfo objectForKey:MGMIID] delegate:self]; @@ -212,10 +217,10 @@ sendingMessage = NO; [SMSTextView setEditable:YES]; [[manager SMSWindow] makeFirstResponder:SMSTextView]; - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert setMessageText:@"Error sending a SMS Message"]; - [theAlert setInformativeText:[theError localizedDescription]]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert setMessageText:@"Error sending a SMS Message"]; + [alert setInformativeText:[theError localizedDescription]]; + [alert runModal]; } - (void)messageDidFinish:(MGMDelegateInfo *)theInfo instance:(MGMInstance *)theInstance { sendingMessage = NO; @@ -247,10 +252,10 @@ - (IBAction)close:(id)sender { if (sendingMessage) { - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert setMessageText:@"Sending a SMS Message"]; - [theAlert setInformativeText:@"Your SMS Message is currently being sent, please wait for it to be sent."]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert setMessageText:@"Sending a SMS Message"]; + [alert setInformativeText:@"Your SMS Message is currently being sent, please wait for it to be sent."]; + [alert runModal]; } else if (marking) { } else if (![[messageInfo objectForKey:MGMIRead] boolValue]) { @@ -265,15 +270,18 @@ } - (void)mark:(MGMDelegateInfo *)theInfo didFailWithError:(NSError *)theError instance:(MGMInstance *)theInstance { marking = NO; - NSAlert *theAlert = [[NSAlert new] autorelease]; - [theAlert setMessageText:@"Error marking as read"]; - [theAlert setInformativeText:[theError localizedDescription]]; - [theAlert runModal]; + NSAlert *alert = [[NSAlert new] autorelease]; + [alert setMessageText:@"Error marking as read"]; + [alert setInformativeText:[theError localizedDescription]]; + [alert runModal]; } - (void)markDidFinish:(MGMDelegateInfo *)theInfo instance:(MGMInstance *)theInstance { marking = NO; [messageInfo setObject:[NSNumber numberWithBool:YES] forKey:MGMIRead]; - [self close:self]; + if (markingForMessage) + markingForMessage = NO; + else + [self close:self]; } #if (MAC_OS_X_VERSION_MAX_ALLOWED >= 1060) diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMAbout.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMAbout.h old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMFileManager.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMFileManager.h old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMHTTPCookieStorage.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMHTTPCookieStorage.h index 08872e2..3f0faee 100644 --- a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMHTTPCookieStorage.h +++ b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMHTTPCookieStorage.h @@ -8,8 +8,13 @@ #import +#define MGMEnableMemorySaving 1 + @interface MGMHTTPCookieStorage : NSObject { @private +#if MGMEnableMemorySaving + MGMHTTPCookieStorage *foundCookieJar; +#endif NSString *cookiesPath; NSHTTPCookieAcceptPolicy policy; NSMutableArray *cookieJar; diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMJSON.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMJSON.h old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMKeychain.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMKeychain.h old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMKeychainItem.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMKeychainItem.h old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMLiteConnection.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMLiteConnection.h old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMLiteResult.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMLiteResult.h old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMMD5.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMMD5.h old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMPreferences.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMPreferences.h index 449758d..f6ba5b1 100644 --- a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMPreferences.h +++ b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMPreferences.h @@ -12,7 +12,7 @@ @interface MGMPreferences : NSObject #if (MAC_OS_X_VERSION_MAX_ALLOWED >= 1060) - + #endif { @private diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMPreferencesPane.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMPreferencesPane.h old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMTaskManager.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMTaskManager.h old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMTaskView.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMTaskView.h old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMURLBasicHandler.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMURLBasicHandler.h index 870448e..2fc97de 100644 --- a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMURLBasicHandler.h +++ b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMURLBasicHandler.h @@ -95,7 +95,7 @@ - (void)setRequest:(NSURLRequest *)theRequest; - (NSMutableURLRequest *)request; -- (NSURLResponse *)response; +- (NSHTTPURLResponse *)response; - (NSData *)data; - (NSString *)string; @end \ No newline at end of file diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMURLConnectionManager.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMURLConnectionManager.h old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMUser.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMUser.h old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMUsers.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMUsers.h old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMWhitePagesHandler.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMWhitePagesHandler.h old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/sqlite3.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/sqlite3.h old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/MGMUsers b/Frameworks/MGMUsers.framework/Versions/A/MGMUsers index 7a8176f..f40a449 100755 Binary files a/Frameworks/MGMUsers.framework/Versions/A/MGMUsers and b/Frameworks/MGMUsers.framework/Versions/A/MGMUsers differ diff --git a/Frameworks/MGMUsers.framework/Versions/A/Resources/English.lproj/InfoPlist.strings b/Frameworks/MGMUsers.framework/Versions/A/Resources/English.lproj/InfoPlist.strings old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Resources/Info.plist b/Frameworks/MGMUsers.framework/Versions/A/Resources/Info.plist old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Resources/MGMTaskView.nib b/Frameworks/MGMUsers.framework/Versions/A/Resources/MGMTaskView.nib old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Resources/MGMTasksWindow.nib b/Frameworks/MGMUsers.framework/Versions/A/Resources/MGMTasksWindow.nib old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Resources/TaskRestart.png b/Frameworks/MGMUsers.framework/Versions/A/Resources/TaskRestart.png old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Resources/TaskRestartPressed.png b/Frameworks/MGMUsers.framework/Versions/A/Resources/TaskRestartPressed.png old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Resources/TaskReveal.png b/Frameworks/MGMUsers.framework/Versions/A/Resources/TaskReveal.png old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Resources/TaskRevealPressed.png b/Frameworks/MGMUsers.framework/Versions/A/Resources/TaskRevealPressed.png old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Resources/TaskStop.png b/Frameworks/MGMUsers.framework/Versions/A/Resources/TaskStop.png old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Resources/TaskStopPressed.png b/Frameworks/MGMUsers.framework/Versions/A/Resources/TaskStopPressed.png old mode 100644 new mode 100755 diff --git a/Frameworks/MGMUsers.framework/Versions/A/Resources/aboutPane.nib b/Frameworks/MGMUsers.framework/Versions/A/Resources/aboutPane.nib old mode 100644 new mode 100755 diff --git a/Resources/Theme Tester/Info.plist b/Resources/Theme Tester/Info.plist index 2c00e8b..37c86a0 100644 Binary files a/Resources/Theme Tester/Info.plist and b/Resources/Theme Tester/Info.plist differ diff --git a/Resources/VoiceMac/English.lproj/AccountSetup.xib b/Resources/VoiceMac/English.lproj/AccountSetup.xib index 817ffd2..902d11e 100644 --- a/Resources/VoiceMac/English.lproj/AccountSetup.xib +++ b/Resources/VoiceMac/English.lproj/AccountSetup.xib @@ -2,10 +2,10 @@ 1050 - 10F569 - 788 - 1038.29 - 461.00 + 10J567 + 823 + 1038.35 + 462.00 YES @@ -15,13 +15,13 @@ YES - 788 - 788 + 823 + 823 YES - + YES @@ -184,7 +184,7 @@ Welcome To VoiceMac - + 256 YES @@ -241,6 +241,7 @@ aXRoIHNpbXBsZSBIVE1MIG9yIGJ5IGRvd25sb2FkaW5nIGEgdGhlbWUuA {{1, 1}, {420, 324}} + Welcome To VoiceMac @@ -778,7 +779,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 - {{16, 160}, {76, 17}} + {{16, 192}, {76, 17}} YES @@ -794,7 +795,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 - {{16, 130}, {76, 17}} + {{16, 162}, {76, 17}} YES @@ -810,7 +811,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 - {{16, 100}, {76, 17}} + {{16, 132}, {76, 17}} YES @@ -826,7 +827,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 - {{16, 70}, {76, 17}} + {{16, 102}, {76, 17}} YES @@ -842,7 +843,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 - {{16, 40}, {76, 17}} + {{16, 72}, {76, 17}} YES @@ -858,13 +859,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 - {{16, 203}, {388, 102}} + {{16, 220}, {388, 85}} YES 67239424 272629760 - To set up your SIP account, go to your SIP provider and find out the information needed to fill these forms. With Gizmo5, you can leave the domain blank and click on your icon to find out the username starting with 1747. The full name is just so you can easily identify the account with the Window menu. After you filled out the information, press continue. + To set up your SIP account, go to your SIP provider and find out the information needed to fill these forms. The full name is just so you can easily identify the account with the Window menu. After you filled out the information, press continue. @@ -874,7 +875,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 - {{97, 158}, {304, 22}} + {{97, 190}, {304, 22}} YES @@ -892,7 +893,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 - {{97, 128}, {304, 22}} + {{97, 160}, {304, 22}} YES @@ -900,7 +901,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 272630784 - proxy01.sipphone.com YES @@ -910,7 +910,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 - {{97, 98}, {304, 22}} + {{97, 130}, {304, 22}} YES @@ -918,7 +918,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 272630784 - proxy01.sipphone.com YES @@ -928,7 +927,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 - {{97, 68}, {304, 22}} + {{97, 100}, {304, 22}} YES @@ -945,7 +944,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 - {{97, 38}, {304, 22}} + {{97, 70}, {304, 22}} YES @@ -1074,7 +1073,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA Setup Successful - + 256 YES @@ -1116,21 +1115,20 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {420, 324}} - Setup Successful - + 5 YES YES YES - + @@ -1640,17 +1638,17 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA YES - - - - - - - - - - + + + + + + + + + + @@ -2147,8 +2145,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 10.IBPluginDependency 100.IBPluginDependency 101.IBPluginDependency + 101.IBViewBoundsToFrameTransform 102.IBPluginDependency 103.IBPluginDependency + 103.IBViewBoundsToFrameTransform 104.IBPluginDependency 105.IBPluginDependency 106.IBPluginDependency @@ -2202,23 +2202,31 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 81.IBPluginDependency 82.IBPluginDependency 83.IBPluginDependency + 83.IBViewBoundsToFrameTransform 84.IBPluginDependency 85.IBPluginDependency + 85.IBViewBoundsToFrameTransform 86.IBPluginDependency 87.IBPluginDependency + 87.IBViewBoundsToFrameTransform 88.IBPluginDependency 89.IBPluginDependency + 89.IBViewBoundsToFrameTransform 9.IBPluginDependency 90.IBPluginDependency 91.IBPluginDependency + 91.IBViewBoundsToFrameTransform 92.IBPluginDependency 93.IBPluginDependency 94.IBPluginDependency 95.IBPluginDependency + 95.IBViewBoundsToFrameTransform 96.IBPluginDependency 97.IBPluginDependency + 97.IBViewBoundsToFrameTransform 98.IBPluginDependency 99.IBPluginDependency + 99.IBViewBoundsToFrameTransform YES @@ -2231,8 +2239,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCwgAAwrAAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCwgAAwmgAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -2286,23 +2300,47 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBgAAAwy8AAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBgAAAwxEAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBgAAAwuYAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBgAAAwqoAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBgAAAwlwAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCwgAAwzIAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCwgAAwxQAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCwgAAwuwAAA + @@ -3007,41 +3045,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA Sparkle.framework/Headers/SUAppcast.h - - NSObject - - IBFrameworkSource - Sparkle.framework/Headers/SUAutomaticUpdateAlert.h - - - - NSObject - - IBFrameworkSource - Sparkle.framework/Headers/SUInstaller.h - - - - NSObject - - IBFrameworkSource - Sparkle.framework/Headers/SUUnarchiver.h - - - - NSObject - - IBFrameworkSource - Sparkle.framework/Headers/SUUpdateAlert.h - - - - NSObject - - IBFrameworkSource - Sparkle.framework/Headers/SUUpdatePermissionPrompt.h - - NSObject diff --git a/SIP/install b/SIP/install index 0f25262..f81bbc1 100755 --- a/SIP/install +++ b/SIP/install @@ -39,7 +39,6 @@ if [ "$1" = "ios" ]; then echo "#include " >> ${PJPROJECTNAME}-ios6/pjlib/include/pj/config_site.h echo "#define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0" >> ${PJPROJECTNAME}-ios6/pjlib/include/pj/config_site.h echo "#define PJMEDIA_AUDIO_DEV_HAS_COREAUDIO 1" >> ${PJPROJECTNAME}-ios6/pjlib/include/pj/config_site.h - echo "#define PJMEDIA_HAS_G722_CODEC 2" >> ${PJPROJECTNAME}-ios6/pjlib/include/pj/config_site.h OLDDIR="${PWD}" cd ${PJPROJECTNAME}-ios6 @@ -110,7 +109,6 @@ if [ "$1" = "simulator" ]; then echo "#include " >> ${PJPROJECTNAME}-simulator/pjlib/include/pj/config_site.h echo "#define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0" >> ${PJPROJECTNAME}-simulator/pjlib/include/pj/config_site.h echo "#define PJMEDIA_AUDIO_DEV_HAS_COREAUDIO 1" >> ${PJPROJECTNAME}-simulator/pjlib/include/pj/config_site.h - echo "#define PJMEDIA_HAS_G722_CODEC 2" >> ${PJPROJECTNAME}-simulator/pjlib/include/pj/config_site.h OLDDIR="${PWD}" cd ${PJPROJECTNAME}-simulator diff --git a/VoiceMac.xcodeproj/.LSOverride b/VoiceMac.xcodeproj/.LSOverride new file mode 100644 index 0000000..4c74f91 Binary files /dev/null and b/VoiceMac.xcodeproj/.LSOverride differ diff --git a/VoiceMac.xcodeproj/project.pbxproj b/VoiceMac.xcodeproj/project.pbxproj index cd7cc9c..c78c2ca 100644 --- a/VoiceMac.xcodeproj/project.pbxproj +++ b/VoiceMac.xcodeproj/project.pbxproj @@ -663,6 +663,7 @@ 8D11072C0486CEB800E47090 /* Sources */, 8D11072E0486CEB800E47090 /* Frameworks */, 2A1175F91245705200D119B5 /* Frameworks */, + 2A0EADDD13608B5A0074C118 /* Update Version */, ); buildRules = ( ); @@ -797,6 +798,21 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 2A0EADDD13608B5A0074C118 /* Update Version */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Update Version"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "#!/bin/bash\n#\n# Git Version\n#\n# Created by Mr. Gecko on 4/21/11.\n# No Copyright Claimed. Public Domain.\n#\n\nPATH=\"${PATH}:/usr/local/git/bin/\"\n\nINFO=\"${CONFIGURATION_BUILD_DIR}/${CONTENTS_FOLDER_PATH}/Info\"\nGITDIR=\"${PROJECT_DIR}/.git\"\n\nVERSION=`defaults read \"${INFO}\" CFBundleVersion`\nif [ -d \"${GITDIR}\" ]; then\n\tREVISION=`git --git-dir=\"${GITDIR}\" rev-parse --short HEAD`\n\tdefaults write \"${INFO}\" CFBundleShortVersionString -string \"${VERSION} (${REVISION})\"\nelse\n\tdefaults write \"${INFO}\" CFBundleShortVersionString -string \"${VERSION}\"\nfi"; + showEnvVarsInLog = 0; + }; 2A9FE23C13098D600061FB64 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647;