diff --git a/About.rtf b/About.rtf index f25e419..bb0ee1b 100644 --- a/About.rtf +++ b/About.rtf @@ -11,7 +11,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://sparkle.andymatuschak.org"}}{\fldrslt Sparkle}} for software update, and 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://sparkle.andymatuschak.org"}}{\fldrslt Sparkle}} for software update, and {\field{\*\fldinst{HYPERLINK "http://growl.info/"}}{\fldrslt Growl}} for notifications.\ \ 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/Theme Tester/MGMThemeTesterController.m b/Classes/Theme Tester/MGMThemeTesterController.m index 2e6e1ae..2b703bc 100644 --- a/Classes/Theme Tester/MGMThemeTesterController.m +++ b/Classes/Theme Tester/MGMThemeTesterController.m @@ -186,7 +186,7 @@ } NSDateFormatter *formatter = [[NSDateFormatter new] autorelease]; [formatter setDateFormat:[[themeManager variant] objectForKey:MGMTDate]]; - [SMSView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"newMessage('%@', '%@', '%@', %@, '%@', '%@', '%@', %d);", [[message objectForKey:MGMIText] escapeSMS], [[message objectForKey:MGMTPhoto] escapeSMS], [[message objectForKey:MGMITime] escapeSMS], [message objectForKey:MGMIID], [[message objectForKey:MGMTName] escapeSMS], [[[message objectForKey:MGMIPhoneNumber] readableNumber] escapeSMS], [formatter stringFromDate:[messageInfo objectForKey:MGMITime]], type]]; + [SMSView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"newMessage('%@', '%@', '%@', %@, '%@', '%@', '%@', %d);", [[message objectForKey:MGMIText] javascriptEscape], [[message objectForKey:MGMTPhoto] javascriptEscape], [[message objectForKey:MGMITime] javascriptEscape], [message objectForKey:MGMIID], [[message objectForKey:MGMTName] javascriptEscape], [[[message objectForKey:MGMIPhoneNumber] readableNumber] javascriptEscape], [formatter stringFromDate:[messageInfo objectForKey:MGMITime]], type]]; [SMSView stringByEvaluatingJavaScriptFromString:@"scrollToBottom();"]; } - (IBAction)incoming:(id)sender { diff --git a/Classes/VoiceBase/AddressBook/MGMAddressBook.m b/Classes/VoiceBase/AddressBook/MGMAddressBook.m index 1e82ee4..96fdaa4 100644 --- a/Classes/VoiceBase/AddressBook/MGMAddressBook.m +++ b/Classes/VoiceBase/AddressBook/MGMAddressBook.m @@ -20,7 +20,7 @@ @implementation MGMAddressBook - (id)initWithDelegate:(id)theDelegate { - if (self = [super init]) { + if ((self = [super init])) { delegate = theDelegate; shouldStop = NO; gettingContacts = NO; @@ -38,8 +38,7 @@ if (addressBook!=NULL) CFRelease(addressBook); #else - if (addressBook!=nil) - [addressBook release]; + [addressBook release]; #endif [super dealloc]; } @@ -101,10 +100,12 @@ NSMutableDictionary *contact = [NSMutableDictionary dictionary]; [contact setObject:name forKey:MGMCName]; [contact setObject:company forKey:MGMCCompany]; + CFStringRef phoneNumber = ABMultiValueCopyValueAtIndex(phones, p); if (delegate!=nil) - [contact setObject:[[(NSString *)ABMultiValueCopyValueAtIndex(phones, p) autorelease] phoneFormatWithAreaCode:[delegate areaCode]] forKey:MGMCNumber]; + [contact setObject:[(NSString *)phoneNumber phoneFormatWithAreaCode:[delegate areaCode]] forKey:MGMCNumber]; else - [contact setObject:[[(NSString *)ABMultiValueCopyValueAtIndex(phones, p) autorelease] phoneFormat] forKey:MGMCNumber]; + [contact setObject:[(NSString *)phoneNumber phoneFormat] forKey:MGMCNumber]; + CFRelease(phoneNumber); NSString *label = [(NSString *)ABMultiValueCopyLabelAtIndex(phones, p) autorelease]; NSRange range = [label rangeOfString:@"<"]; if (range.location!=NSNotFound) { diff --git a/Classes/VoiceBase/AddressBook/MGMContacts.m b/Classes/VoiceBase/AddressBook/MGMContacts.m index 410295a..f93dca1 100644 --- a/Classes/VoiceBase/AddressBook/MGMContacts.m +++ b/Classes/VoiceBase/AddressBook/MGMContacts.m @@ -42,7 +42,7 @@ const int MGMCMaxResults = 10; return [[[self alloc] initWithClass:theClass delegate:theDelegate] autorelease]; } - (id)initWithClass:(Class)theClass delegate:(id)theDelegate { - if (self = [super init]) { + if ((self = [super init])) { maxResults = MGMCMaxResults; delegate = theDelegate; user = [delegate user]; @@ -71,22 +71,15 @@ const int MGMCMaxResults = 10; } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; - if (updateLock!=nil) { - [updateLock lock]; - [updateLock unlock]; - [updateLock release]; - } - if (contactsLock!=nil) { - [contactsLock lock]; - [contactsLock unlock]; - [contactsLock release]; - } - if (contactsConnection!=nil) - [contactsConnection release]; - if (updateConnection!=nil) - [updateConnection release]; - if (contacts!=nil) - [contacts release]; + [updateLock lock]; + [updateLock unlock]; + [updateLock release]; + [contactsLock lock]; + [contactsLock unlock]; + [contactsLock release]; + [contactsConnection release]; + [updateConnection release]; + [contacts release]; [super dealloc]; } @@ -103,10 +96,8 @@ const int MGMCMaxResults = 10; [contacts stop]; [updateLock lock]; [updateLock unlock]; - if (updateConnection!=nil) { - [updateConnection release]; - updateConnection = nil; - } + [updateConnection release]; + updateConnection = nil; isUpdating = NO; stopingUpdate = NO; } @@ -117,7 +108,7 @@ const int MGMCMaxResults = 10; if ([theUser isEqual:user] && (![[theUser settingForKey:MGMSContactsSourceKey] isEqual:NSStringFromClass([contacts class])] || ([contacts isKindOfClass:[MGMGoogleContacts class]] && ![[[(MGMGoogleContacts *)contacts user] settingForKey:MGMUserID] isEqual:[theUser settingForKey:MGMCGoogleContactsUser]]))) { if (stopingUpdate) return; [self stop]; - if (contacts!=nil) [contacts release]; + [contacts release]; contacts = [[NSClassFromString([theUser settingForKey:MGMSContactsSourceKey]) alloc] initWithDelegate:delegate]; [self updateContacts]; } @@ -135,7 +126,7 @@ const int MGMCMaxResults = 10; } - (void)setContactsConnection:(MGMLiteConnection *)theConnection { [contactsLock lock]; - if (contactsConnection!=nil) [contactsConnection release]; + [contactsConnection release]; contactsConnection = [theConnection retain]; [contactsLock unlock]; } @@ -202,9 +193,8 @@ const int MGMCMaxResults = 10; long long int groupID = [updateConnection insertId]; for (unsigned int i=0; i<[theMembers count]; i++) { NSDictionary *result = [[updateConnection query:@"SELECT docid, * FROM contacts WHERE number = %@", [theMembers objectAtIndex:i]] nextRow]; - if (result!=nil) { + if (result!=nil) [updateConnection query:@"INSERT INTO groupMembers (groupid, contactid) VALUES (%qi, %@)", groupID, [result objectForKey:MGMCDocID]]; - } } } [updateLock unlock]; @@ -481,7 +471,7 @@ const int MGMCMaxResults = 10; else if (![[contact objectForKey:MGMCCompany] isEqual:@""]) return [contact objectForKey:MGMCCompany]; } - if ([theNumber isPhone]) + if ([theNumber isPhoneComplete]) return [theNumber readableNumber]; return theNumber; } @@ -533,9 +523,8 @@ const int MGMCMaxResults = 10; NSDictionary *member = nil; while ((member=[result nextRow])!=nil) { NSDictionary *contact = [self contactWithID:[member objectForKey:MGMCContactID]]; - if (contact!=nil) { + if (contact!=nil) [memebersArray addObject:contact]; - } } [contactsLock unlock]; [pool drain]; diff --git a/Classes/VoiceBase/AddressBook/MGMContactsProtocol.m b/Classes/VoiceBase/AddressBook/MGMContactsProtocol.m index 416409f..65c0359 100644 --- a/Classes/VoiceBase/AddressBook/MGMContactsProtocol.m +++ b/Classes/VoiceBase/AddressBook/MGMContactsProtocol.m @@ -22,4 +22,8 @@ NSString * const MGMCContactID = @"contactid"; NSString * const MGMCGoogleContactsUser = @"MGMCGoogleContactsUser"; -const float MGMABPhotoSizePX = 64.0; \ No newline at end of file +#if TARGET_OS_IPHONE +const float MGMABPhotoSizePX = 120.0; +#else +const float MGMABPhotoSizePX = 64.0; +#endif \ No newline at end of file diff --git a/Classes/VoiceBase/AddressBook/MGMGoogleContacts.m b/Classes/VoiceBase/AddressBook/MGMGoogleContacts.m index f5d5a69..c01e324 100644 --- a/Classes/VoiceBase/AddressBook/MGMGoogleContacts.m +++ b/Classes/VoiceBase/AddressBook/MGMGoogleContacts.m @@ -25,7 +25,7 @@ const BOOL MGMGoogleContactsInvisible = YES; @implementation MGMGoogleContacts - (id)initWithDelegate:(id)theDelegate { - if (self = [super init]) { + if ((self = [super init])) { gettingContacts = NO; delegate = theDelegate; user = [[MGMUser userWithID:[[delegate user] settingForKey:MGMCGoogleContactsUser]] retain]; @@ -49,22 +49,14 @@ const BOOL MGMGoogleContactsInvisible = YES; return self; } - (void)dealloc { - if (user!=nil) - [user release]; - if (connectionManager!=nil) { - [connectionManager cancelAll]; - [connectionManager release]; - } - if (authenticationString!=nil) - [authenticationString release]; - if (afterAuthentication!=nil) - [afterAuthentication release]; - if (releaseTimer!=nil) - [releaseTimer fire]; - if (contactEntries!=nil) - [contactEntries release]; - if (contactPhoto!=nil) - [contactPhoto release]; + [user release]; + [connectionManager cancelAll]; + [connectionManager release]; + [authenticationString release]; + [afterAuthentication release]; + [releaseTimer fire]; + [contactEntries release]; + [contactPhoto release]; [super dealloc]; } - (void)authentication:(NSDictionary *)theInfo didFailWithError:(NSError *)theError { @@ -88,7 +80,7 @@ const BOOL MGMGoogleContactsInvisible = YES; } - (void)authenticationDidFinish:(NSDictionary *)theInfo { NSDictionary *info = [MGMGoogleContacts dictionaryWithData:[theInfo objectForKey:MGMConnectionData]]; - if (authenticationString!=nil) [authenticationString release]; + [authenticationString release]; authenticationString = [[NSString stringWithFormat:@"GoogleLogin auth=%@", [info objectForKey:@"Auth"]] retain]; isAuthenticating = NO; while ([afterAuthentication count]!=0) { @@ -139,12 +131,10 @@ const BOOL MGMGoogleContactsInvisible = YES; if ([contactsSender respondsToSelector:@selector(contactsError:)]) [contactsSender contactsError:theError]; } - (void)contactsDidFinish:(NSDictionary *)theInfo { - if (releaseTimer!=nil) { - [releaseTimer invalidate]; - [releaseTimer release]; - releaseTimer = nil; - } - if (contacts!=nil) [contacts release]; + [releaseTimer invalidate]; + [releaseTimer release]; + releaseTimer = nil; + [contacts release]; contacts = [NSMutableArray new]; MGMXMLElement *XML = [(MGMXMLDocument *)[[[MGMXMLDocument alloc] initWithData:[theInfo objectForKey:MGMConnectionData] options:MGMXMLDocumentTidyXML error:nil] autorelease] rootElement]; contactEntries = [[XML elementsForName:@"entry"] retain]; @@ -254,15 +244,11 @@ const BOOL MGMGoogleContactsInvisible = YES; } } - (void)releaseContacts { - if (releaseTimer!=nil) { - [releaseTimer invalidate]; - [releaseTimer release]; - releaseTimer = nil; - } - if (contacts!=nil) { - [contacts release]; - contacts = nil; - } + [releaseTimer invalidate]; + [releaseTimer release]; + releaseTimer = nil; + [contacts release]; + contacts = nil; } - (void)getGroups:(id)sender { diff --git a/Classes/VoiceBase/MGMAddons.m b/Classes/VoiceBase/MGMAddons.m index 70c68ff..28e354e 100644 --- a/Classes/VoiceBase/MGMAddons.m +++ b/Classes/VoiceBase/MGMAddons.m @@ -144,12 +144,16 @@ return number; } - (BOOL)isPhone { + if ([self rangeOfString:@"@"].location!=NSNotFound) + return YES; NSString *number = [self removePhoneWhiteSpace]; if ([number length]<1) return NO; return [[NSCharacterSet decimalDigitCharacterSet] characterIsMember:[number characterAtIndex:0]]; } - (BOOL)isPhoneComplete { + if ([self rangeOfString:@"@"].location!=NSNotFound) + return YES; NSString *number = [self removePhoneWhiteSpace]; if ([number length]<1 || ![[NSCharacterSet decimalDigitCharacterSet] characterIsMember:[number characterAtIndex:0]]) return NO; @@ -162,6 +166,8 @@ return NO; } - (NSString *)phoneFormatWithAreaCode:(NSString *)theAreaCode { + if ([self rangeOfString:@"@"].location!=NSNotFound) + return self; NSString *number = [[self removePhoneWhiteSpace] littersToNumbers]; if (![number hasPrefix:@"011"]) { int length = [number length]; @@ -175,6 +181,8 @@ return number; } - (NSString *)phoneFormatAreaCode:(NSString *)theAreaCode { + if ([self rangeOfString:@"@"].location!=NSNotFound) + return self; NSString *number = [[self removePhoneWhiteSpace] littersToNumbers]; if (![number hasPrefix:@"011"]) { int length = [number length]; @@ -186,6 +194,8 @@ return number; } - (NSString *)phoneFormat { + if ([self rangeOfString:@"@"].location!=NSNotFound) + return self; NSString *number = [[self removePhoneWhiteSpace] littersToNumbers]; if (![number hasPrefix:@"011"]) { if ([number hasPrefix:@"1"]) @@ -1371,6 +1381,8 @@ NSComparisonResult dateSort(NSDictionary *info1, NSDictionary *info2, void *cont #else NSImage *image = [[NSImage alloc] initWithData:self]; #endif + if (image==nil) + return self; if (image!=nil) { #if TARGET_OS_IPHONE CGSize size = [image size]; @@ -1416,6 +1428,8 @@ NSComparisonResult dateSort(NSDictionary *info1, NSDictionary *info2, void *cont NSSize newSize = NSMakeSize(scaledWidth, scaledHeight); if (!NSEqualSizes(newSize, NSZeroSize)) { NSImage *newImage = [[NSImage alloc] initWithSize:newSize]; + if (newImage==nil || NSEqualSizes([newImage size], NSZeroSize)) + return self; [newImage lockFocus]; NSGraphicsContext *graphicsContext = [NSGraphicsContext currentContext]; [graphicsContext setImageInterpolation:NSImageInterpolationHigh]; diff --git a/Classes/VoiceBase/MGMInbox.m b/Classes/VoiceBase/MGMInbox.m index 10ea920..9a2c295 100644 --- a/Classes/VoiceBase/MGMInbox.m +++ b/Classes/VoiceBase/MGMInbox.m @@ -73,17 +73,15 @@ const BOOL MGMInboxInvisible = YES; return [[[self alloc] initWithInstance:theInstance] autorelease]; } - (id)initWithInstance:(MGMInstance *)theInstance { - if (self = [super init]) { + if ((self = [super init])) { instance = theInstance; connectionManager = [[MGMURLConnectionManager managerWithCookieStorage:[theInstance cookieStorage]] retain]; } return self; } - (void)dealloc { - if (connectionManager!=nil) { - [connectionManager cancelAll]; - [connectionManager release]; - } + [connectionManager cancelAll]; + [connectionManager release]; [super dealloc]; } diff --git a/Classes/VoiceBase/MGMInstance.m b/Classes/VoiceBase/MGMInstance.m index 321626f..7b0ca70 100644 --- a/Classes/VoiceBase/MGMInstance.m +++ b/Classes/VoiceBase/MGMInstance.m @@ -58,7 +58,7 @@ const BOOL MGMInstanceInvisible = YES; return [[[self alloc] initWithUser:theUser delegate:theDelegate isCheck:isCheck] autorelease]; } - (id)initWithUser:(MGMUser *)theUser delegate:(id)theDelegate isCheck:(BOOL)isCheck { - if (self = [super init]) { + if ((self = [super init])) { checkingAccount = isCheck; loggedIn = NO; webLoginTries = 0; @@ -75,44 +75,26 @@ const BOOL MGMInstanceInvisible = YES; return self; } - (void)dealloc { - if (connectionManager!=nil) { - [connectionManager cancelAll]; - [connectionManager release]; - } - if (user!=nil) - [user release]; - if (cookeStorage!=nil) - [cookeStorage release]; - if (inbox!=nil) - [inbox release]; - if (contacts!=nil) - [contacts release]; - if (XPCURL!=nil) - [XPCURL release]; - if (XPCCD!=nil) - [XPCCD release]; - if (rnr_se!=nil) - [rnr_se release]; - if (userName!=nil) - [userName release]; - if (userNumber!=nil) - [userNumber release]; - if (userAreacode!=nil) - [userAreacode release]; - if (userPhoneNumbers!=nil) - [userPhoneNumbers release]; - if (checkTimer!=nil) { - [checkTimer invalidate]; - [checkTimer release]; - checkTimer = nil; - } - if (unreadCounts!=nil) - [unreadCounts release]; - if (creditTimer!=nil) { - [creditTimer invalidate]; - [creditTimer release]; - creditTimer = nil; - } + [connectionManager cancelAll]; + [connectionManager release]; + [user release]; + [cookeStorage release]; + [inbox release]; + [contacts release]; + [XPCURL release]; + [XPCCD release]; + [rnr_se release]; + [userName release]; + [userNumber release]; + [userAreacode release]; + [userPhoneNumbers release]; + [checkTimer invalidate]; + [checkTimer release]; + checkTimer = nil; + [unreadCounts release]; + [creditTimer invalidate]; + [creditTimer release]; + creditTimer = nil; [super dealloc]; } @@ -125,16 +107,12 @@ const BOOL MGMInstanceInvisible = YES; [contacts stop]; [inbox stop]; [connectionManager cancelAll]; - if (checkTimer!=nil) { - [checkTimer invalidate]; - [checkTimer release]; - checkTimer = nil; - } - if (creditTimer!=nil) { - [creditTimer invalidate]; - [creditTimer release]; - creditTimer = nil; - } + [checkTimer invalidate]; + [checkTimer release]; + checkTimer = nil; + [creditTimer invalidate]; + [creditTimer release]; + creditTimer = nil; } - (void)registerSettings { @@ -323,7 +301,7 @@ const BOOL MGMInstanceInvisible = YES; if (range.location==NSNotFound) { NSLog(@"failed 0001"); } else { - if (rnr_se!=nil) [rnr_se release]; + [rnr_se release]; rnr_se = [[[string substringWithRange:NSMakeRange(0, range.location)] addPercentEscapes] copy]; } } @@ -364,7 +342,7 @@ const BOOL MGMInstanceInvisible = YES; if (range.location==NSNotFound) { NSLog(@"failed 0003.1"); } else { - if (userName!=nil) [userName release]; + [userName release]; userName = [[string substringWithRange:NSMakeRange(0, range.location)] copy]; } } @@ -406,7 +384,7 @@ const BOOL MGMInstanceInvisible = YES; if (range.location==NSNotFound) { NSLog(@"failed 0004.1"); } else { - if (userNumber!=nil) [userNumber release]; + [userNumber release]; userNumber = [[[string substringWithRange:NSMakeRange(0, range.location)] phoneFormat] copy]; } } @@ -420,7 +398,7 @@ const BOOL MGMInstanceInvisible = YES; } return; } - if (userAreacode!=nil) [userAreacode release]; + [userAreacode release]; userAreacode = [[userNumber areaCode] copy]; #if MGMInstanceDebug NSLog(@"Google Number = %@", userNumber); @@ -441,7 +419,7 @@ const BOOL MGMInstanceInvisible = YES; NSDictionary *phones = [phonesInfo parseJSON]; //NSLog(@"%@", phones); NSArray *phoneKeys = [phones allKeys]; - if (userPhoneNumbers!=nil) [userPhoneNumbers release]; + [userPhoneNumbers release]; userPhoneNumbers = [NSMutableArray new]; for (int i=0; i<[phoneKeys count]; i++) { NSDictionary *phoneInfo = [phones objectForKey:[phoneKeys objectAtIndex:i]]; @@ -465,7 +443,7 @@ const BOOL MGMInstanceInvisible = YES; if (range.location==NSNotFound) { NSLog(@"failed 0008"); } else { - if (XPCURL!=nil) [XPCURL release]; + [XPCURL release]; XPCURL = [[string substringWithRange:NSMakeRange(0, range.location)] copy]; } } @@ -476,16 +454,12 @@ const BOOL MGMInstanceInvisible = YES; if (delegate!=nil && [delegate respondsToSelector:@selector(loginSuccessful)]) [delegate loginSuccessful]; if (!checkingAccount) { [contacts updateContacts]; - if (checkTimer!=nil) { - [checkTimer invalidate]; - [checkTimer release]; - } + [checkTimer invalidate]; + [checkTimer release]; checkTimer = [[NSTimer scheduledTimerWithTimeInterval:15.0 target:self selector:@selector(checkTimer) userInfo:nil repeats:YES] retain]; [checkTimer fire]; - if (creditTimer!=nil) { - [creditTimer invalidate]; - [creditTimer release]; - } + [creditTimer invalidate]; + [creditTimer release]; creditTimer = [[NSTimer scheduledTimerWithTimeInterval:60.0 target:self selector:@selector(creditTimer) userInfo:nil repeats:YES] retain]; [creditTimer fire]; } @@ -503,7 +477,7 @@ const BOOL MGMInstanceInvisible = YES; range = [string rangeOfString:@"'"]; if (range.location==NSNotFound) NSLog(@"failed 0009"); - if (XPCCD!=nil) [XPCCD release]; + [XPCCD release]; XPCCD = [[[string substringWithRange:NSMakeRange(0, range.location)] addPercentEscapes] copy]; } #if MGMInstanceDebug @@ -535,7 +509,7 @@ const BOOL MGMInstanceInvisible = YES; if (delegate!=nil && [delegate respondsToSelector:@selector(updateVoicemail)]) [delegate updateVoicemail]; if (smsCount>0) if (delegate!=nil && [delegate respondsToSelector:@selector(updateSMS)]) [delegate updateSMS]; - if (unreadCounts!=nil) [unreadCounts release]; + [unreadCounts release]; unreadCounts = [currentUnreadCounts copy]; } } @@ -640,7 +614,9 @@ const BOOL MGMInstanceInvisible = YES; } } } else { - NSDictionary *info = [NSDictionary dictionaryWithObject:[infoDic objectForKey:@"error"] forKey:NSLocalizedDescriptionKey]; + NSDictionary *info = nil; + if ([infoDic objectForKey:@"error"]!=nil) + info = [NSDictionary dictionaryWithObject:[infoDic objectForKey:@"error"] forKey:NSLocalizedDescriptionKey]; NSError *error = [NSError errorWithDomain:@"com.MrGeckosMedia.VoiceBase.Call" code:1 userInfo:info]; NSDictionary *thisInfo = [theInfo objectForKey:MGMConnectionObject]; if ([thisInfo objectForKey:MGMIDidFailWithError]!=nil) { diff --git a/Classes/VoiceBase/MGMSound.h b/Classes/VoiceBase/MGMSound.h index 8dee451..b6ba108 100644 --- a/Classes/VoiceBase/MGMSound.h +++ b/Classes/VoiceBase/MGMSound.h @@ -22,6 +22,8 @@ @interface MGMSound : NSObject #if TARGET_OS_IPHONE +#else + #endif { #if TARGET_OS_IPHONE diff --git a/Classes/VoiceBase/MGMSound.m b/Classes/VoiceBase/MGMSound.m index 0edf93f..1a5c84b 100644 --- a/Classes/VoiceBase/MGMSound.m +++ b/Classes/VoiceBase/MGMSound.m @@ -10,7 +10,7 @@ @implementation MGMSound - (id)init { - if (self = [super init]) { + if ((self = [super init])) { loops = NO; } return self; @@ -19,7 +19,7 @@ return [self initWithContentsOfURL:[NSURL fileURLWithPath:theFile]]; } - (id)initWithContentsOfURL:(NSURL *)theURL { - if (self = [self init]) { + if ((self = [self init])) { #if TARGET_OS_IPHONE sound = [[AVAudioPlayer alloc] initWithContentsOfURL:theURL error:nil]; #else @@ -30,7 +30,7 @@ return self; } - (id)initWithData:(NSData *)theData { - if (self = [self init]) { + if ((self = [self init])) { #if TARGET_OS_IPHONE sound = [[AVAudioPlayer alloc] initWithData:theData error:nil]; #else @@ -41,11 +41,9 @@ return self; } - (void)dealloc { - if (sound!=nil) { - [sound setDelegate:nil]; - [sound stop]; - [sound release]; - } + [sound setDelegate:nil]; + [sound stop]; + [sound release]; [super dealloc]; } diff --git a/Classes/VoiceBase/MGMThemeManager.h b/Classes/VoiceBase/MGMThemeManager.h index 4ec6cf3..0c8c333 100644 --- a/Classes/VoiceBase/MGMThemeManager.h +++ b/Classes/VoiceBase/MGMThemeManager.h @@ -76,6 +76,7 @@ extern NSString * const MGMMP3Ext; extern NSString * const MGMWavExt; extern NSString * const MGMAuExt; extern NSString * const MGMM4AExt; +extern NSString * const MGMCAFExt; @interface MGMThemeManager : NSObject { NSMutableDictionary *currentTheme; diff --git a/Classes/VoiceBase/MGMThemeManager.m b/Classes/VoiceBase/MGMThemeManager.m index 8453fbe..299ffe6 100644 --- a/Classes/VoiceBase/MGMThemeManager.m +++ b/Classes/VoiceBase/MGMThemeManager.m @@ -108,10 +108,11 @@ NSString * const MGMMP3Ext = @"mp3"; NSString * const MGMWavExt = @"wav"; NSString * const MGMAuExt = @"au"; NSString * const MGMM4AExt = @"m4a"; +NSString * const MGMCAFExt = @"caf"; @implementation MGMThemeManager - (id)init { - if (self = [super init]) { + if ((self = [super init])) { shouldPostNotification = NO; [self registerDefaults]; if (![self setupCurrentTheme]) { @@ -128,8 +129,7 @@ NSString * const MGMM4AExt = @"m4a"; } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; - if (currentTheme!=nil) - [currentTheme release]; + [currentTheme release]; [super dealloc]; } @@ -172,17 +172,25 @@ NSString * const MGMM4AExt = @"m4a"; - (NSDictionary *)sounds { NSFileManager *manager = [NSFileManager defaultManager]; NSMutableDictionary *sounds = [NSMutableDictionary dictionary]; +#if TARGET_IPHONE_SIMULATOR || TARGET_OS_MAC NSMutableArray *systemSounds = [NSMutableArray array]; NSMutableArray *userSounds = [NSMutableArray array]; +#endif NSMutableArray *unknownSounds = [NSMutableArray array]; +#if TARGET_IPHONE_SIMULATOR || TARGET_OS_MAC NSString *systemSoundsPath = @"/System/Library/Sounds/"; NSString *userSoundsPath = [@"~/Library/Sounds/" stringByExpandingTildeInPath]; - NSArray *allowedExtensions = [NSArray arrayWithObjects:MGMAiffExt, MGMAifExt, MGMMP3Ext, MGMWavExt, MGMAuExt, MGMM4AExt, nil]; - NSArray *checkPaths = [NSArray arrayWithObjects:[self soundsFolderPath], [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:MGMTSoundsFolder], systemSoundsPath, userSoundsPath, nil]; +#endif + NSArray *allowedExtensions = [NSArray arrayWithObjects:MGMAiffExt, MGMAifExt, MGMMP3Ext, MGMWavExt, MGMAuExt, MGMM4AExt, MGMCAFExt, nil]; + NSArray *checkPaths = [NSArray arrayWithObjects:[self soundsFolderPath], [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:MGMTSoundsFolder] +#if TARGET_IPHONE_SIMULATOR || TARGET_OS_MAC + , systemSoundsPath, userSoundsPath +#endif + , nil]; for (int i=0; i<[checkPaths count]; i++) { NSDirectoryEnumerator *soundFolders = [manager enumeratorAtPath:[checkPaths objectAtIndex:i]]; NSString *soundName = nil; - while (soundName = [soundFolders nextObject]) { + while ((soundName = [soundFolders nextObject])) { NSString *path = [[[checkPaths objectAtIndex:i] stringByAppendingPathComponent:soundName] stringByResolvingSymlinksInPath]; if ([[[soundName pathExtension] lowercaseString] isEqual:MGMTSoundExt]) { if (![manager fileExistsAtPath:[path stringByAppendingPathComponent:MGMTInfoPlist]]) @@ -212,20 +220,27 @@ NSString * const MGMM4AExt = @"m4a"; NSMutableDictionary *sound = [NSMutableDictionary dictionary]; [sound setObject:[soundName stringByDeletingPathExtension] forKey:MGMTSName]; [sound setObject:path forKey:MGMTSPath]; - if ([[checkPaths objectAtIndex:i] isEqual:systemSoundsPath]) +#if TARGET_IPHONE_SIMULATOR || TARGET_OS_MAC + if ([[checkPaths objectAtIndex:i] isEqual:systemSoundsPath] && ![systemSounds containsObject:sound]) [systemSounds addObject:sound]; - else if ([[checkPaths objectAtIndex:i] isEqual:userSoundsPath]) + else if ([[checkPaths objectAtIndex:i] isEqual:userSoundsPath] && ![userSounds containsObject:sound]) [userSounds addObject:sound]; - else + else if (![[checkPaths objectAtIndex:i] isEqual:systemSoundsPath] && ![[checkPaths objectAtIndex:i] isEqual:userSoundsPath] && ![unknownSounds containsObject:sound]) [unknownSounds addObject:sound]; +#else + if (![unknownSounds containsObject:sound]) + [unknownSounds addObject:sound]; +#endif } } } +#if TARGET_IPHONE_SIMULATOR || TARGET_OS_MAC if ([systemSounds count]>0) [sounds setObject:systemSounds forKey:@"System Sounds"]; if ([userSounds count]>0) [sounds setObject:userSounds forKey:@"User Sounds"]; if ([unknownSounds count]>1) +#endif [sounds setObject:unknownSounds forKey:@"Unknown"]; return sounds; } @@ -255,7 +270,12 @@ NSString * const MGMM4AExt = @"m4a"; return path; path = [path replace:MGMTPResource with:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:MGMTSoundsFolder]]; path = [path replace:MGMTPSounds with:[self soundsFolderPath]]; - return [path stringByAppendingPathComponent:[defaults objectForKey:[MGMTSName stringByAppendingString:theSoundName]]]; + path = [path stringByAppendingPathComponent:[defaults objectForKey:[MGMTSName stringByAppendingString:theSoundName]]]; + if (![[NSFileManager defaultManager] fileExistsAtPath:path]) { + [defaults setObject:MGMTNoSound forKey:[MGMTSPath stringByAppendingString:theSoundName]]; + path = MGMTNoSound; + } + return path; } - (BOOL)setSound:(NSString *)theSoundName withPath:(NSString *)thePath { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; @@ -374,7 +394,7 @@ NSString * const MGMM4AExt = @"m4a"; for (int i=0; i<[checkPaths count]; i++) { NSDirectoryEnumerator *themeFolders = [manager enumeratorAtPath:[checkPaths objectAtIndex:i]]; NSString *themeFolder = nil; - while (themeFolder = [themeFolders nextObject]) { + while ((themeFolder = [themeFolders nextObject])) { if ([[[themeFolder pathExtension] lowercaseString] isEqual:MGMTThemeExt]) { NSString *folder = [[[checkPaths objectAtIndex:i] stringByAppendingPathComponent:themeFolder] stringByResolvingSymlinksInPath]; if (![manager fileExistsAtPath:[folder stringByAppendingPathComponent:MGMTInfoPlist]]) @@ -394,7 +414,7 @@ NSString * const MGMM4AExt = @"m4a"; } - (BOOL)setTheme:(NSDictionary *)theTheme { BOOL isNew = ![[theTheme objectForKey:MGMTThemePath] isEqual:[self currentThemePath]]; - if (currentTheme!=nil) [currentTheme release]; + [currentTheme release]; currentTheme = [theTheme mutableCopy]; NSFileManager *manager = [NSFileManager defaultManager]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; diff --git a/Classes/VoiceBase/SIP/MGMSIP.h b/Classes/VoiceBase/SIP/MGMSIP.h index 814cb3a..cb8dac2 100644 --- a/Classes/VoiceBase/SIP/MGMSIP.h +++ b/Classes/VoiceBase/SIP/MGMSIP.h @@ -30,6 +30,7 @@ extern NSString * const MGMSIPNameServersEnabled; extern NSString * const MGMSIPEchoCacnellationEnabled; extern NSString * const MGMSIPPort; extern NSString * const MGMSIPPublicAddress; +extern NSString * const MGMSIPUserAgent; extern NSString * const MGMNetworkConnectedNotification; extern NSString * const MGMNetworkDisconnectedNotification; diff --git a/Classes/VoiceBase/SIP/MGMSIP.m b/Classes/VoiceBase/SIP/MGMSIP.m index b357813..dabc739 100644 --- a/Classes/VoiceBase/SIP/MGMSIP.m +++ b/Classes/VoiceBase/SIP/MGMSIP.m @@ -38,6 +38,7 @@ NSString * const MGMSIPNameServersEnabled = @"MGMSIPNameServersEnabled"; NSString * const MGMSIPEchoCacnellationEnabled = @"MGMSIPEchoCacnellationEnabled"; NSString * const MGMSIPPort = @"MGMSIPPort"; NSString * const MGMSIPPublicAddress = @"MGMSIPPublicAddress"; +NSString * const MGMSIPUserAgent = @"MGMSIPUserAgent"; NSString * const MGMNetworkConnectedNotification = @"MGMNetworkConnectedNotification"; NSString * const MGMNetworkDisconnectedNotification = @"MGMNetworkDisconnectedNotification"; @@ -206,7 +207,8 @@ static void MGMSIPCallTransferStatusChanged(pjsua_call_id callIdentifier, int st static void MGMSIPAccountRegistrationStateChanged(pjsua_acc_id accountIdentifier) { NSAutoreleasePool *pool = [NSAutoreleasePool new]; MGMSIPAccount *account = [[MGMSIP sharedSIP] accountWithIdentifier:accountIdentifier]; - if ([account delegate]!=nil && [[account delegate] respondsToSelector:@selector(registrationChanged)]) [(NSObject *)[account delegate] performSelectorOnMainThread:@selector(registrationChanged) withObject:nil waitUntilDone:NO]; + [account registrationStateChanged]; + if ([account delegate]!=nil && [[account delegate] respondsToSelector:@selector(registrationChanged)]) [(NSObject *)[account delegate] performSelectorOnMainThread:@selector(registrationChanged) withObject:nil waitUntilDone:YES]; [pool drain]; } @@ -265,7 +267,7 @@ static OSStatus MGMAudioDevicesChanged(AudioHardwarePropertyID propertyID, void return MGMSIPSingleton; } - (id)init { - if (self = [super init]) { + if ((self = [super init])) { [self registerDefaults]; port = [[NSUserDefaults standardUserDefaults] integerForKey:MGMSIPPort]; lock = [NSLock new]; @@ -310,10 +312,8 @@ static OSStatus MGMAudioDevicesChanged(AudioHardwarePropertyID propertyID, void if (store!=NULL) CFRelease(store); #endif - if (lock!=nil) - [lock release]; - if (accounts!=nil) - [accounts release]; + [lock release]; + [accounts release]; [super dealloc]; } @@ -387,11 +387,9 @@ static OSStatus MGMAudioDevicesChanged(AudioHardwarePropertyID propertyID, void if (state>MGMSIPStoppedState) return; - if (restartTimer!=nil) { - [restartTimer invalidate]; - [restartTimer release]; - restartTimer = nil; - } + [restartTimer invalidate]; + [restartTimer release]; + restartTimer = nil; [NSThread detachNewThreadSelector:@selector(startBackground) toTarget:self withObject:nil]; } @@ -431,7 +429,10 @@ static OSStatus MGMAudioDevicesChanged(AudioHardwarePropertyID propertyID, void pjsua_config sipConfig; pjsua_config_default(&sipConfig); - sipConfig.user_agent = [[NSString stringWithFormat:@"%@ %@", [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleNameKey], [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey]] PJString]; + if ([defaults objectForKey:MGMSIPUserAgent]==nil || [[defaults objectForKey:MGMSIPUserAgent] isEqual:@""]) + sipConfig.user_agent = [[NSString stringWithFormat:@"%@ %@", [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleNameKey], [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey]] PJString]; + else + sipConfig.user_agent = [[defaults objectForKey:MGMSIPUserAgent] PJString]; sipConfig.cb.on_incoming_call = &MGMSIPIncomingCallReceived; sipConfig.cb.on_call_media_state = &MGMSIPCallMediaStateChanged; @@ -454,7 +455,7 @@ static OSStatus MGMAudioDevicesChanged(AudioHardwarePropertyID propertyID, void } CFRelease(dynamicStore); - if ([nameServers count]>=0) { + if ([nameServers count]>0) { sipConfig.nameserver_count = ([nameServers count]>4 ? 4 : [nameServers count]); for (int i=0; i<[nameServers count] && i<4; i++) sipConfig.nameserver[i] = [[nameServers objectAtIndex:i] PJString]; @@ -541,7 +542,7 @@ static OSStatus MGMAudioDevicesChanged(AudioHardwarePropertyID propertyID, void status = pjsua_transport_create(PJSIP_TRANSPORT_TCP, &transportConfig, &TCPTransport); if (status!=PJ_SUCCESS) { - NSLog(@"Error creating TCP transport"); + NSLog(@"Error creating tcp transport"); } else { pjsua_acc_add_local(TCPTransport, PJ_TRUE, &TCPAccount); pjsua_acc_set_online_status(pjsua_acc_get_default(), PJ_TRUE); @@ -646,11 +647,9 @@ static OSStatus MGMAudioDevicesChanged(AudioHardwarePropertyID propertyID, void [pool drain]; } - (void)startRestartTimer { - if (restartTimer!=nil) { - [restartTimer invalidate]; - [restartTimer release]; - restartTimer = nil; - } + [restartTimer invalidate]; + [restartTimer release]; + restartTimer = nil; restartTimer = [[NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(start) userInfo:nil repeats:NO] retain]; } - (void)restart { @@ -672,11 +671,9 @@ static OSStatus MGMAudioDevicesChanged(AudioHardwarePropertyID propertyID, void #if !TARGET_OS_IPHONE [self updateAudioDevices]; #endif - if (restartAccounts!=nil) { - [restartAccounts makeObjectsPerformSelector:@selector(login)]; - [restartAccounts release]; - restartAccounts = nil; - } + [restartAccounts makeObjectsPerformSelector:@selector(login)]; + [restartAccounts release]; + restartAccounts = nil; } #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_4_0 @@ -744,7 +741,12 @@ static OSStatus MGMAudioDevicesChanged(AudioHardwarePropertyID propertyID, void else accountConfig.id = [[NSString stringWithFormat:@"", [theAccount SIPAddress]] PJString]; NSString *registerURI = [NSString stringWithFormat:@"sip:%@", [theAccount registrar]]; - accountConfig.reg_uri = [[registerURI stringByAppendingString:@";transport=tcp"] PJString]; + NSString *transport = @""; + if ([theAccount transport]==1) + transport = @";transport=tcp"; + else if ([theAccount transport]==2) + transport = @";transport=udp"; + accountConfig.reg_uri = [[registerURI stringByAppendingString:transport] PJString]; if ([theAccount proxy]!=nil && ![[theAccount proxy] isEqual:@""]) { accountConfig.proxy_cnt = 1; @@ -762,17 +764,13 @@ static OSStatus MGMAudioDevicesChanged(AudioHardwarePropertyID propertyID, void pjsua_acc_id identifier; pj_status_t status = pjsua_acc_add(&accountConfig, PJ_FALSE, &identifier); if (status!=PJ_SUCCESS) { - accountConfig.reg_uri = [registerURI PJString]; - pj_status_t status = pjsua_acc_add(&accountConfig, PJ_FALSE, &identifier); - if (status!=PJ_SUCCESS) { - [theAccount setLastError:[NSString stringWithFormat:@"Unable to login with status %d.", status]]; - [theAccount loginErrored]; - NSLog(@"Error With Account %@: %@", theAccount, [theAccount lastError]); - [accounts removeObject:theAccount]; - bzero(&PJThreadDesc, sizeof(pj_thread_desc)); - [pool drain]; - return; - } + [theAccount setLastError:[NSString stringWithFormat:@"Unable to login with status %d.", status]]; + [theAccount loginErrored]; + NSLog(@"Error With Account %@: %@", theAccount, [theAccount lastError]); + [accounts removeObject:theAccount]; + bzero(&PJThreadDesc, sizeof(pj_thread_desc)); + [pool drain]; + return; } [theAccount setIdentifier:identifier]; [theAccount setOnline:YES]; @@ -837,7 +835,7 @@ static OSStatus MGMAudioDevicesChanged(AudioHardwarePropertyID propertyID, void } } if ([accounts count]<=1) - return [[accounts objectAtIndex:0] identifier]; + return [(MGMSIPAccount *)[accounts objectAtIndex:0] identifier]; return PJSUA_INVALID_ID; } - (MGMSIPAccount *)accountWithIdentifier:(pjsua_acc_id)theIdentifier { @@ -1073,7 +1071,7 @@ static OSStatus MGMAudioDevicesChanged(AudioHardwarePropertyID propertyID, void } free(devices); - if (audioDevices!=nil) [audioDevices release]; + [audioDevices release]; audioDevices = [devicesArray copy]; //if ((currentInput==-1 ? defaultInputIndex!=lastInputDevice : currentInput!=lastInputDevice) && (currentOutput==-1 ? defaultOutputIndex!=lastOutputDevice : currentOutput!=lastOutputDevice)) { diff --git a/Classes/VoiceBase/SIP/MGMSIPAccount.h b/Classes/VoiceBase/SIP/MGMSIPAccount.h index 0d505ee..3d7c176 100644 --- a/Classes/VoiceBase/SIP/MGMSIPAccount.h +++ b/Classes/VoiceBase/SIP/MGMSIPAccount.h @@ -22,6 +22,8 @@ extern NSString * const MGMSIPAccountSIPAddress; extern NSString * const MGMSIPAccountProxy; extern NSString * const MGMSIPAccountProxyPort; extern NSString * const MGMSIPAccountRegisterTimeout; +extern NSString * const MGMSIPAccountTransport; +extern NSString * const MGMSIPAccountDTMFToneType; extern const int MGMSIPAccountDefaultProxyPort; @class MGMSIPCall, MGMSIPURL; @@ -49,8 +51,11 @@ extern const int MGMSIPAccountDefaultProxyPort; int proxyPort; int reregisterTimeout; NSTimer *reregisterTimer; + int transport; + int dtmfToneType; pjsua_acc_id identifier; + BOOL registered; NSMutableArray *calls; @@ -79,6 +84,10 @@ extern const int MGMSIPAccountDefaultProxyPort; - (void)setProxyPort:(int)theProxyPort; - (int)reregisterTimeout; - (void)setReregisterTimeout:(int)theReregisterTimeout; +- (int)transport; +- (void)setTransport:(int)theTransport; +- (int)dtmfToneType; +- (void)setDTMFToneType:(int)theType; - (pjsua_acc_id)identifier; - (void)setIdentifier:(pjsua_acc_id)theIdentifier; - (NSString *)password; @@ -93,6 +102,7 @@ extern const int MGMSIPAccountDefaultProxyPort; - (void)logout; - (void)logoutErrored; +- (void)registrationStateChanged; - (BOOL)isRegistered; - (void)reregister; - (void)setRegistered:(BOOL)isRegistered; diff --git a/Classes/VoiceBase/SIP/MGMSIPAccount.m b/Classes/VoiceBase/SIP/MGMSIPAccount.m index 01e1810..a2c5018 100644 --- a/Classes/VoiceBase/SIP/MGMSIPAccount.m +++ b/Classes/VoiceBase/SIP/MGMSIPAccount.m @@ -21,6 +21,9 @@ NSString * const MGMSIPAccountSIPAddress = @"MGMSIPAccountSIPAddress"; NSString * const MGMSIPAccountProxy = @"MGMSIPAccountProxy"; NSString * const MGMSIPAccountProxyPort = @"MGMSIPAccountProxyPort"; NSString * const MGMSIPAccountRegisterTimeout = @"MGMSIPAccountRegisterTimeout"; +NSString * const MGMSIPAccountTransport = @"MGMSIPAccountTransport"; +NSString * const MGMSIPAccountDTMFToneType = @"MGMSIPAccountDTMFToneType"; + const int MGMSIPAccountDefaultProxyPort = 5060; const int MGMSIPAccountReregisterTimeoutMin = 60; @@ -29,7 +32,7 @@ const int MGMSIPAccountReregisterTimeoutDefault = 300; @implementation MGMSIPAccount - (id)initWithSettings:(NSDictionary *)theSettings { - if (self = [self init]) { + if ((self = [self init])) { if ([theSettings objectForKey:MGMSIPAccountUserName]==nil || [[theSettings objectForKey:MGMSIPAccountUserName] isEqual:@""] || [theSettings objectForKey:MGMSIPAccountDomain]==nil || [[theSettings objectForKey:MGMSIPAccountDomain] isEqual:@""]) { [self release]; self = nil; @@ -50,6 +53,14 @@ const int MGMSIPAccountReregisterTimeoutDefault = 300; proxyPort = 0; if ([theSettings objectForKey:MGMSIPAccountRegisterTimeout]!=nil && [[theSettings objectForKey:MGMSIPAccountRegisterTimeout] intValue]!=0) reregisterTimeout = [[theSettings objectForKey:MGMSIPAccountRegisterTimeout] intValue]; + if ([theSettings objectForKey:MGMSIPAccountTransport]!=nil) + transport = [[theSettings objectForKey:MGMSIPAccountTransport] intValue]; +#if TARGET_OS_IPHONE + else + transport = 1; +#endif + if ([theSettings objectForKey:MGMSIPAccountDTMFToneType]!=nil) + dtmfToneType = [[theSettings objectForKey:MGMSIPAccountDTMFToneType] intValue]; } } return self; @@ -74,31 +85,24 @@ const int MGMSIPAccountReregisterTimeoutDefault = 300; return [self initWithSettings:settings]; } - (id)init { - if (self = [super init]) { + if ((self = [super init])) { reregisterTimeout = MGMSIPAccountReregisterTimeoutDefault; identifier = PJSUA_INVALID_ID; + registered = NO; calls = [NSMutableArray new]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkConnected:) name:MGMNetworkConnectedNotification object:nil]; } return self; } - (void)dealloc { - NSLog(@"Releasing SIP Account"); [[NSNotificationCenter defaultCenter] removeObserver:self]; - if (calls!=nil) - [calls release]; - if (fullName!=nil) - [fullName release]; - if (userName!=nil) - [userName release]; - if (domain!=nil) - [domain release]; - if (registrar!=nil) - [registrar release]; - if (SIPAddress!=nil) - [SIPAddress release]; - if (proxy!=nil) - [proxy release]; + [calls release]; + [fullName release]; + [userName release]; + [domain release]; + [registrar release]; + [SIPAddress release]; + [proxy release]; [super dealloc]; } @@ -118,7 +122,7 @@ const int MGMSIPAccountReregisterTimeoutDefault = 300; return fullName; } - (void)setFullName:(NSString *)theFullName { - if (fullName!=nil) [fullName release]; + [fullName release]; fullName = [theFullName copy]; } - (NSString *)userName { @@ -126,14 +130,14 @@ const int MGMSIPAccountReregisterTimeoutDefault = 300; } - (void)setUserName:(NSString *)theUserName { if (theUserName==nil || [theUserName isEqual:@""]) return; - if (userName!=nil) [userName release]; + [userName release]; userName = [theUserName copy]; } - (NSString *)domain { return domain; } - (void)setDomain:(NSString *)theDomain { - if (domain!=nil) [domain release]; + [domain release]; domain = [theDomain copy]; } - (NSString *)registrar { @@ -141,7 +145,7 @@ const int MGMSIPAccountReregisterTimeoutDefault = 300; return registrar; } - (void)setRegistrar:(NSString *)theRegistrar { - if (registrar!=nil) [registrar release]; + [registrar release]; registrar = [theRegistrar copy]; } - (NSString *)SIPAddress { @@ -150,14 +154,14 @@ const int MGMSIPAccountReregisterTimeoutDefault = 300; return SIPAddress; } - (void)setSIPAddress:(NSString *)theSIPAddress { - if (SIPAddress!=nil) [SIPAddress release]; + [SIPAddress release]; SIPAddress = [theSIPAddress copy]; } - (NSString *)proxy { return proxy; } - (void)setProxy:(NSString *)theProxy { - if (proxy!=nil) [proxy release]; + [proxy release]; proxy = [theProxy copy]; } - (int)proxyPort { @@ -180,6 +184,18 @@ const int MGMSIPAccountReregisterTimeoutDefault = 300; else reregisterTimeout = theReregisterTimeout; } +- (int)transport { + return transport; +} +- (void)setTransport:(int)theTransport { + transport = theTransport; +} +- (int)dtmfToneType { + return dtmfToneType; +} +- (void)setDTMFToneType:(int)theType { + dtmfToneType = theType; +} - (pjsua_acc_id)identifier { return identifier; } @@ -210,11 +226,13 @@ const int MGMSIPAccountReregisterTimeoutDefault = 300; [settings setObject:[NSNumber numberWithInt:proxyPort] forKey:MGMSIPAccountProxyPort]; if (reregisterTimeout!=0) [settings setObject:[NSNumber numberWithInt:reregisterTimeout] forKey:MGMSIPAccountRegisterTimeout]; + [settings setObject:[NSNumber numberWithInt:transport] forKey:MGMSIPAccountTransport]; + [settings setObject:[NSNumber numberWithInt:dtmfToneType] forKey:MGMSIPAccountDTMFToneType]; return settings; } - (void)setLastError:(NSString *)theError { - if (lastError!=nil) [lastError release]; + [lastError release]; lastError = [theError copy]; } - (NSString *)lastError { @@ -237,8 +255,11 @@ const int MGMSIPAccountReregisterTimeoutDefault = 300; if (delegate!=nil && [delegate respondsToSelector:@selector(logoutErrored)]) [delegate logoutErrored]; } +- (void)registrationStateChanged { + registered = (([self registrationStatus]/100)==2 && [self registrationExpireTime]>0); +} - (BOOL)isRegistered { - return (([self registrationStatus]/100)==2 && [self registrationExpireTime]>0); + return registered; } - (void)reregister { [self setRegistered:YES]; @@ -324,11 +345,9 @@ const int MGMSIPAccountReregisterTimeoutDefault = 300; pj_status_t status = pjsua_acc_set_online_status(identifier, (isOnline ? PJ_TRUE : PJ_FALSE)); if (status==PJ_SUCCESS) { - if (reregisterTimer!=nil) { - [reregisterTimer invalidate]; - [reregisterTimer release]; - reregisterTimer = nil; - } + [reregisterTimer invalidate]; + [reregisterTimer release]; + reregisterTimer = nil; if (isOnline) reregisterTimer = [[NSTimer scheduledTimerWithTimeInterval:(float)reregisterTimeout target:self selector:@selector(reregister) userInfo:nil repeats:YES] retain]; } diff --git a/Classes/VoiceBase/SIP/MGMSIPCall.m b/Classes/VoiceBase/SIP/MGMSIPCall.m index a60c76a..99e56f4 100644 --- a/Classes/VoiceBase/SIP/MGMSIPCall.m +++ b/Classes/VoiceBase/SIP/MGMSIPCall.m @@ -16,7 +16,7 @@ @implementation MGMSIPCall - (id)initWithIdentifier:(pjsua_call_id)theIdentifier account:(MGMSIPAccount *)theAccount { - if (self = [super init]) { + if ((self = [super init])) { account = theAccount; identifier = theIdentifier; @@ -52,18 +52,12 @@ if (isRingbackOn) [self stopRingback]; [self hangUp]; - if (remoteURL!=nil) - [remoteURL release]; - if (localURL!=nil) - [localURL release]; - if (stateText!=nil) - [stateText release]; - if (lastStatusText!=nil) - [lastStatusText release]; - if (transferStatusText!=nil) - [transferStatusText release]; - if (holdMusicPath!=nil) - [holdMusicPath release]; + [remoteURL release]; + [localURL release]; + [stateText release]; + [lastStatusText release]; + [transferStatusText release]; + [holdMusicPath release]; if (toneGenSlot!=PJSUA_INVALID_ID) { pjsua_conf_remove_port(toneGenSlot); pjmedia_port_destroy(toneGenPort); @@ -110,9 +104,9 @@ if (isRingbackOn) [self stopRingback]; if (holdMusicPlayer!=PJSUA_INVALID_ID) - [self performSelectorOnMainThread:@selector(stopHoldMusic) withObject:nil waitUntilDone:NO]; + [self performSelectorOnMainThread:@selector(stopHoldMusic) withObject:nil waitUntilDone:YES]; if (recorderID!=PJSUA_INVALID_ID) - [self performSelectorOnMainThread:@selector(stopRecordingMain) withObject:nil waitUntilDone:NO]; + [self performSelectorOnMainThread:@selector(stopRecordingMain) withObject:nil waitUntilDone:YES]; } state = theState; } @@ -120,7 +114,7 @@ return stateText; } - (void)setStateText:(NSString *)theStateText { - if (stateText!=nil) [stateText release]; + [stateText release]; stateText = [theStateText copy]; } - (int)lastStatus { @@ -133,7 +127,7 @@ return lastStatusText; } - (void)setLastStatusText:(NSString *)theLastStatusText { - if (lastStatusText!=nil) [lastStatusText release]; + [lastStatusText release]; lastStatusText = [theLastStatusText copy]; } - (int)transferStatus { @@ -146,7 +140,7 @@ return transferStatusText; } - (void)setTransferStatusText:(NSString *)theTransferStatusText { - if (transferStatusText!=nil) [transferStatusText release]; + [transferStatusText release]; transferStatusText = [theTransferStatusText copy]; } - (BOOL)isIncoming { @@ -207,7 +201,7 @@ return (callInfo.media_status==PJSUA_CALL_MEDIA_REMOTE_HOLD); } - (void)setHoldMusicPath:(NSString *)thePath { - if (holdMusicPath!=nil) [holdMusicPath release]; + [holdMusicPath release]; holdMusicPath = [thePath copy]; } - (void)hold { @@ -220,12 +214,12 @@ onHold = YES; pjsua_conf_disconnect(0, conf_port); pjsua_conf_adjust_rx_level(conf_port, 0); - [self performSelectorOnMainThread:@selector(startHoldMusic) withObject:nil waitUntilDone:NO]; + [self performSelectorOnMainThread:@selector(startHoldMusic) withObject:nil waitUntilDone:YES]; } else { onHold = NO; pjsua_conf_connect(0, conf_port); pjsua_conf_adjust_rx_level(conf_port, [[MGMSIP sharedSIP] micVolume]); - [self performSelectorOnMainThread:@selector(stopHoldMusic) withObject:nil waitUntilDone:NO]; + [self performSelectorOnMainThread:@selector(stopHoldMusic) withObject:nil waitUntilDone:YES]; } } bzero(&PJThreadDesc, sizeof(pj_thread_desc)); @@ -331,15 +325,17 @@ if (identifier==PJSUA_INVALID_ID || state!=MGMSIPCallConfirmedState) return; - BOOL sendSuccessful = NO; - pj_thread_desc PJThreadDesc; [[MGMSIP sharedSIP] registerThread:&PJThreadDesc]; - pj_str_t digits = [theDigits PJString]; - pj_status_t status = pjsua_call_dial_dtmf(identifier, &digits); - sendSuccessful = (status==PJ_SUCCESS); - if (!sendSuccessful) { + NSLog(@"%@", theDigits); + + if ([account dtmfToneType]==0) { + pj_str_t digits = [theDigits PJString]; + pj_status_t status = pjsua_call_dial_dtmf(identifier, &digits); + if (status!=PJ_SUCCESS) + NSLog(@"Unable to send DTMF tone."); + } else if ([account dtmfToneType]==1) { const pj_str_t INFO = pj_str("INFO"); for (unsigned int i=0; i<[theDigits length]; i++) { pjsua_msg_data messageData; @@ -347,8 +343,9 @@ messageData.content_type = pj_str("application/dtmf-relay"); messageData.msg_body = [[NSString stringWithFormat:@"Signal=%C\r\nDuration=300", [theDigits characterAtIndex:i]] PJString]; - status = pjsua_call_send_request(identifier, &INFO, &messageData); - sendSuccessful = (status==PJ_SUCCESS); + pj_status_t status = pjsua_call_send_request(identifier, &INFO, &messageData); + if (status!=PJ_SUCCESS) + NSLog(@"Unable to send DTMF tone."); } } @@ -366,22 +363,22 @@ pjsua_conf_connect(toneGenSlot, 0); } } - if (!sendSuccessful) + if ([account dtmfToneType]==2) { + NSLog(@"Using Tone Generator."); pjsua_conf_connect(toneGenSlot, pjsua_call_get_conf_port(identifier)); + } for (unsigned int i=0; i<[theDigits length]; i++) { pjmedia_tonegen_stop(toneGenPort); pjmedia_tone_digit digit[1]; digit[0].digit = [theDigits characterAtIndex:i]; - digit[0].on_msec = 100; - digit[0].off_msec = 100; + digit[0].on_msec = 300; + digit[0].off_msec = 300; digit[0].volume = 16383; pjmedia_tonegen_play_digits(toneGenPort, 1, digit, 0); if ([theDigits length]!=1 && (i+1)<[theDigits length]) [NSThread sleepUntilDate:[NSDate dateWithTimeIntervalSinceNow:1]]; } - if (!sendSuccessful) - pjsua_conf_disconnect(toneGenSlot, pjsua_call_get_conf_port(identifier)); bzero(&PJThreadDesc, sizeof(pj_thread_desc)); } - (void)receivedDTMFDigit:(int)theDigit { @@ -393,7 +390,23 @@ pj_thread_desc PJThreadDesc; [[MGMSIP sharedSIP] registerThread:&PJThreadDesc]; + if (toneGenSlot==PJSUA_INVALID_ID) { + pjsua_media_config mediaConfig = [[MGMSIP sharedSIP] mediaConfig]; + unsigned int samplesPerFrame = mediaConfig.audio_frame_ptime * mediaConfig.clock_rate * mediaConfig.channel_count / 1000; + pj_status_t status = pjmedia_tonegen_create([[MGMSIP sharedSIP] PJPool], mediaConfig.clock_rate, mediaConfig.channel_count, samplesPerFrame, 16, 0, &toneGenPort); + if (status!=PJ_SUCCESS) { + NSLog(@"Error creating tone generator"); + } else { + status = pjsua_conf_add_port([[MGMSIP sharedSIP] PJPool], toneGenPort, &toneGenSlot); + if (status!=PJ_SUCCESS) + NSLog(@"Error adding tone generator"); + else + pjsua_conf_connect(toneGenSlot, 0); + } + } + pjmedia_tonegen_stop(toneGenPort); + pjsua_conf_disconnect(toneGenSlot, pjsua_call_get_conf_port(identifier)); pjmedia_tone_digit digit[1]; digit[0].digit = theDigit; diff --git a/Classes/VoiceBase/SIP/MGMSIPURL.m b/Classes/VoiceBase/SIP/MGMSIPURL.m index daad6b9..080d9c2 100644 --- a/Classes/VoiceBase/SIP/MGMSIPURL.m +++ b/Classes/VoiceBase/SIP/MGMSIPURL.m @@ -14,7 +14,7 @@ return [[[self alloc] initWithFullName:theFullName userName:theUserName host:theHost] autorelease]; } - (id)initWithFullName:(NSString *)theFullName userName:(NSString *)theUserName host:(NSString *)theHost { - if (self = [super init]) { + if ((self = [super init])) { if (theHost==nil || [theHost isEqual:@""]) { [self release]; self = nil; @@ -37,7 +37,7 @@ return [[[self alloc] initWithSIPID:theSIPID] autorelease]; } - (id)initWithSIPID:(NSString *)theSIPID { - if (self = [super init]) { + if ((self = [super init])) { NSString *fullNameString, *addressString; NSRange range = [theSIPID rangeOfString:@"type==MGMXMLNamespaceKind) { xmlNsPtr xmlPtr = (xmlNsPtr)theXMLPtr; if (xmlPtr->_private!=NULL) { @@ -229,10 +229,8 @@ static void MGMXMLErrorHandler(void *userData, xmlErrorPtr error) { } } - (void)releaseDocument { - if (documentNode!=nil) { - [documentNode release]; - documentNode = nil; - } + [documentNode release]; + documentNode = nil; } + (BOOL)isNode:(MGMXMLNodeKind)theType { switch (theType) { diff --git a/Classes/VoiceMac/Inbox/MGMInboxPlayWindow.h b/Classes/VoiceMac/Inbox/MGMInboxPlayWindow.h index 3060b87..a6c0154 100644 --- a/Classes/VoiceMac/Inbox/MGMInboxPlayWindow.h +++ b/Classes/VoiceMac/Inbox/MGMInboxPlayWindow.h @@ -10,7 +10,7 @@ @class MGMInstance, MGMURLConnectionManager, QTMovieView; -@interface MGMInboxPlayWindow : NSWindow { +@interface MGMInboxPlayWindow : NSWindow { MGMInstance *instance; MGMURLConnectionManager *connectionManager; IBOutlet NSView *view; diff --git a/Classes/VoiceMac/Inbox/MGMInboxPlayWindow.m b/Classes/VoiceMac/Inbox/MGMInboxPlayWindow.m index a0cb896..e5b4ec9 100644 --- a/Classes/VoiceMac/Inbox/MGMInboxPlayWindow.m +++ b/Classes/VoiceMac/Inbox/MGMInboxPlayWindow.m @@ -14,7 +14,7 @@ @implementation MGMInboxPlayWindow - (id)initWithNibNamed:(NSString *)theNib data:(NSDictionary *)theData instance:(MGMInstance *)theInstance { - if (self = [super initWithContentRect:NSMakeRect(34, 34, 0, 0) styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES]) { + if ((self = [super initWithContentRect:NSMakeRect(34, 34, 0, 0) styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES])) { if (![NSBundle loadNibNamed:theNib owner:self]) { NSLog(@"Unable to load nib for the Play Window"); [self release]; @@ -63,8 +63,7 @@ } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; - if (connectionManager!=nil) - [connectionManager release]; + [connectionManager release]; [super dealloc]; } @@ -118,10 +117,8 @@ return [NSColor colorWithPatternImage:[bg autorelease]]; } - (void)windowDidResignKey:(NSNotification *)notification { - if (connectionManager!=nil) - [connectionManager cancelAll]; - if (audioPlayer!=nil) - [audioPlayer setMovie:nil]; + [connectionManager cancelAll]; + [audioPlayer setMovie:nil]; [self setContentView:nil]; [view release]; [self close]; diff --git a/Classes/VoiceMac/Inbox/MGMInboxWindow.h b/Classes/VoiceMac/Inbox/MGMInboxWindow.h index 1a93173..fb11cb7 100644 --- a/Classes/VoiceMac/Inbox/MGMInboxWindow.h +++ b/Classes/VoiceMac/Inbox/MGMInboxWindow.h @@ -43,6 +43,8 @@ - (void)checkVoicemail; +- (BOOL)outlineView:(NSOutlineView *)outlineView shouldSelectItem:(id)item; + - (IBAction)next:(id)sender; - (IBAction)previous:(id)sender; diff --git a/Classes/VoiceMac/Inbox/MGMInboxWindow.m b/Classes/VoiceMac/Inbox/MGMInboxWindow.m index 0fba351..883972c 100644 --- a/Classes/VoiceMac/Inbox/MGMInboxWindow.m +++ b/Classes/VoiceMac/Inbox/MGMInboxWindow.m @@ -27,7 +27,7 @@ NSString * const MGMSID = @"id"; return [[[self alloc] initWithInstance:theInstance] autorelease]; } - (id)initWithInstance:(MGMInstance *)theInstance { - if (self = [super init]) { + if ((self = [super init])) { if (sideItems==nil) { sideItems = [NSMutableArray new]; [sideItems addObject:[NSDictionary dictionaryWithObjectsAndKeys:@"Inbox", MGMSName, [NSNumber numberWithBool:YES], MGMSSelectable, [NSNumber numberWithInt:0], MGMSID, nil]]; @@ -62,10 +62,8 @@ NSString * const MGMSID = @"id"; [sidebarView setAutosaveExpandedItems:YES]; } - (void)dealloc { - if (inboxWindow!=nil) - [inboxWindow close]; - if (currentData!=nil) - [currentData release]; + [inboxWindow close]; + [currentData release]; [super dealloc]; } @@ -125,22 +123,17 @@ NSString * const MGMSID = @"id"; [inboxWindow makeKeyAndOrderFront:self]; } - (void)closeWindow { - if (inboxWindow!=nil) - [inboxWindow close]; + [inboxWindow close]; } - (void)startProgress { - if (progress!=nil) { - if (progressStartCount==0) - [progress startAnimation:self]; - } + if (progressStartCount==0) + [progress startAnimation:self]; progressStartCount++; } - (void)stopProgress { - if (progress!=nil) { - if (progressStartCount==1) - [progress stopAnimation:self]; - } + if (progressStartCount==1) + [progress stopAnimation:self]; progressStartCount--; } @@ -162,7 +155,7 @@ NSString * const MGMSID = @"id"; } } if (newMessage) { - if (lastDate!=nil) [lastDate release]; + [lastDate release]; lastDate = [newestDate copy]; [self setCurrentData:theMessages]; [self showWindow:self]; @@ -266,7 +259,7 @@ NSString * const MGMSID = @"id"; return currentInbox; } - (void)setCurrentData:(NSArray *)theData { - if (currentData!=nil) [currentData release]; + [currentData release]; currentData = [theData mutableCopy]; resultsCount = [currentData count]; diff --git a/Classes/VoiceMac/MGMAccountSetup.m b/Classes/VoiceMac/MGMAccountSetup.m index 7bac7fb..fe4620c 100644 --- a/Classes/VoiceMac/MGMAccountSetup.m +++ b/Classes/VoiceMac/MGMAccountSetup.m @@ -32,7 +32,7 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; @implementation MGMAccountSetup - (id)init { - if (self = [super init]) { + if ((self = [super init])) { if (![NSBundle loadNibNamed:@"AccountSetup" owner:self]) { NSLog(@"Unable to load Account Set Up!"); [self release]; @@ -49,22 +49,15 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; return self; } - (void)dealloc { - if (setupWindow!=nil) - [setupWindow release]; - if (accountsCreated!=nil) - [accountsCreated release]; - if (S7CheckUser!=nil) - [S7CheckUser release]; - if (S7CheckInstance!=nil) - [S7CheckInstance release]; - if (S7ConnectionManager!=nil) - [S7ConnectionManager release]; + [setupWindow release]; + [accountsCreated release]; + [S7CheckUser release]; + [S7CheckInstance release]; + [S7ConnectionManager release]; #if MGMSIPENABLED - if (S7CheckSIPAccount!=nil) - [S7CheckSIPAccount release]; + [S7CheckSIPAccount release]; #endif - if (S8Message!=nil) - [S8Message release]; + [S8Message release]; [super dealloc]; } @@ -155,10 +148,8 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; [continueButton setTitle:MGMSContinue]; [continueButton setEnabled:NO]; [S8MessageField setStringValue:[NSString stringWithFormat:@"Unable to set up your %@ account, the error we receviced was \"%@\" Please go back and correct the problem.", type, S8Message]]; - if (S8Message!=nil) { - [S8Message release]; - S8Message = nil; - } + [S8Message release]; + S8Message = nil; NSBeep(); break; } @@ -324,15 +315,11 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; S7CheckInstance = [[MGMInstance instanceWithUser:S7CheckUser delegate:self isCheck:YES] retain]; } - (void)loginError:(NSError *)theError { - if (S7CheckUser!=nil) { - [S7CheckUser remove]; - [S7CheckUser release]; - S7CheckUser = nil; - } - if (S7CheckInstance!=nil) { - [S7CheckInstance release]; - S7CheckInstance = nil; - } + [S7CheckUser remove]; + [S7CheckUser release]; + S7CheckUser = nil; + [S7CheckInstance release]; + S7CheckInstance = nil; NSLog(@"Login Failed %@", theError); S8Message = [[theError localizedDescription] copy]; step = 8; @@ -347,10 +334,8 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; [S7CheckUser release]; S7CheckUser = nil; } - if (S7CheckInstance!=nil) { - [S7CheckInstance release]; - S7CheckInstance = nil; - } + [S7CheckInstance release]; + S7CheckInstance = nil; [self S4Reset]; step = 9; [self displayStep]; @@ -373,13 +358,10 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; [S7ConnectionManager connectionWithRequest:request delegate:self didFailWithError:@selector(authentication:didFailWithError:) didFinish:@selector(authenticationDidFinish:) invisible:NO object:nil]; } - (void)authentication:(NSDictionary *)theInfo didFailWithError:(NSError *)theError { - if (S7CheckUser!=nil) { - [S7CheckUser remove]; - [S7CheckUser release]; - S7CheckUser = nil; - } - if (S7ConnectionManager!=nil) - [S7ConnectionManager setCookieStorage:nil]; + [S7CheckUser remove]; + [S7CheckUser release]; + S7CheckUser = nil; + [S7ConnectionManager setCookieStorage:nil]; NSLog(@"Login Failed %@", theError); S8Message = [[theError localizedDescription] copy]; step = 8; @@ -387,22 +369,19 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; } - (void)authenticationDidFinish:(NSDictionary *)theInfo { NSDictionary *info = [MGMGoogleContacts dictionaryWithData:[theInfo objectForKey:MGMConnectionData]]; - if (S7ConnectionManager!=nil) - [S7ConnectionManager setCookieStorage:nil]; - if (S7CheckUser!=nil) { - if ([info objectForKey:@"Error"]!=nil) { - [S7CheckUser remove]; - [S7CheckUser release]; - S7CheckUser = nil; - S8Message = [@"Unable to login. Please check your Credentials." retain]; - step = 8; - [self displayStep]; - return; - } - [S7CheckUser done]; + [S7ConnectionManager setCookieStorage:nil]; + if ([info objectForKey:@"Error"]!=nil) { + [S7CheckUser remove]; [S7CheckUser release]; S7CheckUser = nil; + S8Message = [@"Unable to login. Please check your Credentials." retain]; + step = 8; + [self displayStep]; + return; } + [S7CheckUser done]; + [S7CheckUser release]; + S7CheckUser = nil; [self S5Reset]; step = 9; @@ -441,22 +420,18 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; } - (void)S7RegistrationChanged { #if MGMSIPENABLED - if (S7SIPRegistrationTimeout!=nil) { - [S7SIPRegistrationTimeout invalidate]; - [S7SIPRegistrationTimeout release]; - S7SIPRegistrationTimeout = nil; - } - if (S7CheckSIPAccount!=nil) { - if (![S7CheckSIPAccount isRegistered]) { - [S7CheckSIPAccount setLastError:@"Unable to Register with Server. Please check your credentials."]; - [self loginErrored]; - return; - } - [S7CheckSIPAccount setDelegate:nil]; - [S7CheckSIPAccount logout]; - [S7CheckSIPAccount release]; - S7CheckSIPAccount = nil; + [S7SIPRegistrationTimeout invalidate]; + [S7SIPRegistrationTimeout release]; + S7SIPRegistrationTimeout = nil; + if (![S7CheckSIPAccount isRegistered]) { + [S7CheckSIPAccount setLastError:@"Unable to Register with Server. Please check your credentials."]; + [self loginErrored]; + return; } + [S7CheckSIPAccount setDelegate:nil]; + [S7CheckSIPAccount logout]; + [S7CheckSIPAccount release]; + S7CheckSIPAccount = nil; if (S7CheckUser!=nil) { [accountsCreated addObject:S7CheckUser]; [S7CheckUser release]; @@ -470,11 +445,9 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; } #if MGMSIPENABLED - (void)S7SIPTimeout { - if (S7SIPRegistrationTimeout!=nil) { - [S7SIPRegistrationTimeout invalidate]; - [S7SIPRegistrationTimeout release]; - S7SIPRegistrationTimeout = nil; - } + [S7SIPRegistrationTimeout invalidate]; + [S7SIPRegistrationTimeout release]; + S7SIPRegistrationTimeout = nil; [S7CheckSIPAccount setLastError:@"Registration Timeout."]; [self loginErrored]; } @@ -487,19 +460,15 @@ NSString * const MGMSIPDefaultDomain = @"proxy01.sipphone.com"; S7SIPRegistrationTimeout = [[NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(S7SIPTimeout) userInfo:nil repeats:NO] retain]; } - (void)loginErrored { - if (S7CheckUser!=nil) { - [S7CheckUser remove]; - [S7CheckUser release]; - S7CheckUser = nil; - } - if (S7CheckSIPAccount!=nil) { - NSLog(@"Login Failed %@", [S7CheckSIPAccount lastError]); - S8Message = [[S7CheckSIPAccount lastError] copy]; - [S7CheckSIPAccount setDelegate:nil]; - [S7CheckSIPAccount logout]; - [S7CheckSIPAccount release]; - S7CheckSIPAccount = nil; - } + [S7CheckUser remove]; + [S7CheckUser release]; + S7CheckUser = nil; + NSLog(@"Login Failed %@", [S7CheckSIPAccount lastError]); + S8Message = [[S7CheckSIPAccount lastError] copy]; + [S7CheckSIPAccount setDelegate:nil]; + [S7CheckSIPAccount logout]; + [S7CheckSIPAccount release]; + S7CheckSIPAccount = nil; step = 8; [self displayStep]; } diff --git a/Classes/VoiceMac/MGMBadge.m b/Classes/VoiceMac/MGMBadge.m index f879ac8..bd18819 100644 --- a/Classes/VoiceMac/MGMBadge.m +++ b/Classes/VoiceMac/MGMBadge.m @@ -10,17 +10,15 @@ @implementation MGMBadge - (id)init { - if (self = [super init]) { + if ((self = [super init])) { applicationIcon = [[[NSApplication sharedApplication] applicationIconImage] copy]; visable = NO; } return self; } - (void)dealloc { - if (label!=nil) - [label release]; - if (applicationIcon!=nil) - [applicationIcon release]; + [label release]; + [applicationIcon release]; [super dealloc]; } @@ -55,7 +53,7 @@ } - (void)setLabel:(NSString *)badgeLabel { - if (label!=nil) [label release]; + [label release]; label = [badgeLabel copy]; if (label==nil || [label isEqual:@""]) [self setVisable:NO]; diff --git a/Classes/VoiceMac/MGMContactsController.h b/Classes/VoiceMac/MGMContactsController.h index ffa1c0f..9224024 100644 --- a/Classes/VoiceMac/MGMContactsController.h +++ b/Classes/VoiceMac/MGMContactsController.h @@ -12,7 +12,7 @@ extern NSString *MGMContactsWindowOpen; -@interface MGMContactsController : NSObject { +@interface MGMContactsController : NSObject { MGMController *controller; IBOutlet NSWindow *contactsWindow; BOOL closingWindow; @@ -63,6 +63,7 @@ extern NSString *MGMContactsWindowOpen; - (IBAction)runAction:(id)sender; - (IBAction)call:(id)sender; +- (void)windowDidBecomeKey:(NSNotification *)notification; - (void)windowWillClose:(NSNotification *)notification; @end diff --git a/Classes/VoiceMac/MGMContactsController.m b/Classes/VoiceMac/MGMContactsController.m index 915eaa1..2f11eb4 100644 --- a/Classes/VoiceMac/MGMContactsController.m +++ b/Classes/VoiceMac/MGMContactsController.m @@ -17,7 +17,7 @@ NSString *MGMContactsWindowOpen = @"MGMContactsWindowOpen"; @implementation MGMContactsController - (id)initWithController:(MGMController *)theController { - if (self = [super init]) { + if ((self = [super init])) { controller = theController; filterLock = [NSLock new]; filterWaiting = 0; @@ -43,15 +43,11 @@ NSString *MGMContactsWindowOpen = @"MGMContactsWindowOpen"; } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; - if (contactsWindow!=nil) - [contactsWindow close]; - if (filterLock!=nil) { - [filterLock lock]; - [filterLock unlock]; - [filterLock release]; - } - if (contactViews!=nil) - [contactViews release]; + [contactsWindow close]; + [filterLock lock]; + [filterLock unlock]; + [filterLock release]; + [contactViews release]; [super dealloc]; } @@ -113,12 +109,8 @@ NSString *MGMContactsWindowOpen = @"MGMContactsWindowOpen"; if (row>=contactsCount) return; [self checkContactRow:row]; [filterLock lock]; - @try { + if ((row-contactsVisible.location)<[contactViews count]) [(MGMViewCell *)cell addSubview:[contactViews objectAtIndex:row-contactsVisible.location]]; - } - @catch (NSException *e) { - NSLog(@"Contact error, ignoring. %@", e); - } [filterLock unlock]; } - (BOOL)tableView:(NSTableView *)tableView shouldSelectRow:(int)row { @@ -158,7 +150,7 @@ NSString *MGMContactsWindowOpen = @"MGMContactsWindowOpen"; filterWaiting--; contactsCount = 0; [contactViews removeAllObjects]; - if (contactsMatchString!=nil) [contactsMatchString release]; + [contactsMatchString release]; contactsMatchString = [[self filterString] copy]; int count = [[[self contacts] countContactsMatching:contactsMatchString] intValue]; [contactsTable scrollRowToVisible:0]; @@ -256,16 +248,12 @@ NSString *MGMContactsWindowOpen = @"MGMContactsWindowOpen"; [controller contactsControllerBecameCurrent:self]; } - (void)windowWillClose:(NSNotification *)notification { - [contactViews removeAllObjects]; - contactsCount = 0; - [self reloadData]; [contactsWindow setDelegate:nil]; contactsWindow = nil; + [contactViews removeAllObjects]; + contactsCount = 0; contactsTable = nil; - if (phoneFieldView!=nil) { - [phoneFieldView release]; - phoneFieldView = nil; - } + phoneFieldView = nil; phoneField = nil; } @end diff --git a/Classes/VoiceMac/MGMController.m b/Classes/VoiceMac/MGMController.m index d3bacf9..b9a7484 100644 --- a/Classes/VoiceMac/MGMController.m +++ b/Classes/VoiceMac/MGMController.m @@ -138,6 +138,14 @@ NSString * const MGMLoading = @"Loading..."; [[MGMAccountSetup new] showSetupWindow:self]; // This is not a leak, it'll auto release it self when done. else [self preferences:self]; + } else { + BOOL windows = NO; + for (int i=0; i<[contactsControllers count]; i++) { + if ([[(MGMUser *)[[contactsControllers objectAtIndex:i] user] settingForKey:MGMContactsWindowOpen] boolValue]) + windows = YES; + } + if (!windows) + [contactsControllers makeObjectsPerformSelector:@selector(showContactsWindow)]; } [[RLMap mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"map" ofType:@"html"]]]]; @@ -150,24 +158,17 @@ NSString * const MGMLoading = @"Loading..."; } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; - if (contactsControllers!=nil) - [contactsControllers release]; - if (multipleSMS!=nil) - [multipleSMS release]; - if (preferences!=nil) - [preferences release]; - if (taskManager!=nil) - [taskManager release]; - if (whitePages!=nil) - [whitePages release]; - if (themeManager!=nil) - [themeManager release]; - if (SMSManager!=nil) - [SMSManager release]; - if (badge!=nil) - [badge release]; - if (badgeValues!=nil) - [badgeValues release]; + [contactsControllers release]; + [multipleSMS release]; + [preferences release]; + [taskManager release]; + [whitePages release]; + [themeManager release]; + [SMSManager release]; + [badge release]; + [badgeValues release]; + [aboutWindow release]; + [RLWindow release]; [super dealloc]; } @@ -323,9 +324,9 @@ NSString * const MGMLoading = @"Loading..."; [[contactsController phoneField] setStringValue:[phoneNumber readableNumber]]; [self sms:self]; } else if ([scheme isEqualToString:@"vmtheme"]) { - [taskManager addTask:nil withURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://%@", data]]]; + [taskManager addTask:nil withURL:[NSURL URLWithString:[@"http://" stringByAppendingString:data]]]; } else if ([scheme isEqualToString:@"vmsound"]) { - [taskManager addTask:nil withURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://%@", data]]]; + [taskManager addTask:nil withURL:[NSURL URLWithString:[@"http://" stringByAppendingString:data]]]; } } - (void)application:(NSApplication *)sender openFiles:(NSArray *)filenames { diff --git a/Classes/VoiceMac/MGMNumberOptions.m b/Classes/VoiceMac/MGMNumberOptions.m index 42ffbaf..6ba68ec 100644 --- a/Classes/VoiceMac/MGMNumberOptions.m +++ b/Classes/VoiceMac/MGMNumberOptions.m @@ -15,7 +15,7 @@ @implementation MGMNumberOptions - (id)initWithContactsController:(MGMContactsController *)theContactsController controller:(MGMController *)theController number:(NSString *)theNumber { - if (self = [super init]) { + if ((self = [super init])) { if (![NSBundle loadNibNamed:@"NumberOptions" owner:self]) { NSLog(@"Unable to load the Number Options Window"); [self release]; @@ -45,8 +45,7 @@ } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; - if (whitePages!=nil) - [whitePages release]; + [whitePages release]; [super dealloc]; } @@ -100,8 +99,7 @@ } } - (IBAction)cancel:(id)sender { - if (whitePages!=nil) - [whitePages cancelAll]; + [whitePages cancelAll]; [optionsWindow close]; [self release]; } diff --git a/Classes/VoiceMac/MGMVoiceUser.h b/Classes/VoiceMac/MGMVoiceUser.h index d247d57..cce494e 100644 --- a/Classes/VoiceMac/MGMVoiceUser.h +++ b/Classes/VoiceMac/MGMVoiceUser.h @@ -13,7 +13,7 @@ extern NSString *MGMLastUserPhoneKey; @class MGMController, MGMUser, MGMInstance, MGMInboxWindow, MGMProgressView, MGMPhoneField, MGMPhoneFieldView, MGMContactsTableView; -@interface MGMVoiceUser : MGMContactsController { +@interface MGMVoiceUser : MGMContactsController { MGMInstance *instance; MGMUser *user; MGMInboxWindow *inboxWindow; diff --git a/Classes/VoiceMac/MGMVoiceUser.m b/Classes/VoiceMac/MGMVoiceUser.m index db77e9a..4522588 100644 --- a/Classes/VoiceMac/MGMVoiceUser.m +++ b/Classes/VoiceMac/MGMVoiceUser.m @@ -26,7 +26,7 @@ NSString *MGMLastUserPhoneKey = @"MGMLastUserPhone"; return [[[self alloc] initUser:theUser controller:theController instance:theInstance] autorelease]; } - (id)initUser:(MGMUser *)theUser controller:(MGMController *)theController instance:(MGMInstance *)theInstance { - if (self = [super initWithController:theController]) { + if ((self = [super initWithController:theController])) { user = [theUser retain]; [self registerSettings]; if (theInstance==nil) { @@ -60,31 +60,20 @@ NSString *MGMLastUserPhoneKey = @"MGMLastUserPhone"; } } - (void)dealloc { - if (progressFadeAnimation!=nil) { - [progressFadeAnimation stopAnimation]; - [progressFadeAnimation release]; - progressFadeAnimation = nil; - } + [progressFadeAnimation stopAnimation]; + [progressFadeAnimation release]; + progressFadeAnimation = nil; [super dealloc]; - if (inboxWindow!=nil) { - [inboxWindow closeWindow]; - [inboxWindow release]; - } - if (instance!=nil) { - [instance setDelegate:nil]; - [instance stop]; - [instance release]; - } - if (progressView!=nil) { - [progressView removeFromSuperview]; - [progressView release]; - } - if (callTimer!=nil) { - [callTimer invalidate]; - [callTimer release]; - } - if (user!=nil) - [user release]; + [inboxWindow closeWindow]; + [inboxWindow release]; + [instance setDelegate:nil]; + [instance stop]; + [instance release]; + [progressView removeFromSuperview]; + [progressView release]; + [callTimer invalidate]; + [callTimer release]; + [user release]; } - (void)registerSettings { @@ -123,18 +112,14 @@ NSString *MGMLastUserPhoneKey = @"MGMLastUserPhone"; [theAlert setInformativeText:[theError localizedDescription]]; [theAlert runModal]; - if (progressView!=nil) { - [progressView stopProgess]; - [progressView removeFromSuperview]; - [progressView release]; - progressView = nil; - } + [progressView stopProgess]; + [progressView removeFromSuperview]; + [progressView release]; + progressView = nil; } - (void)loginSuccessful { - if (progressView!=nil) { - [progressView stopProgess]; - [progressView display]; - } + [progressView stopProgess]; + [progressView display]; [self setInstanceInfo]; @@ -163,15 +148,11 @@ NSString *MGMLastUserPhoneKey = @"MGMLastUserPhone"; } } - (void)animationDidEnd:(NSAnimation *)animation { - if (progressFadeAnimation!=nil) { - [progressFadeAnimation release]; - progressFadeAnimation = nil; - } - if (progressView!=nil) { - [progressView removeFromSuperview]; - [progressView release]; - progressView = nil; - } + [progressFadeAnimation release]; + progressFadeAnimation = nil; + [progressView removeFromSuperview]; + [progressView release]; + progressView = nil; } - (MGMContacts *)contacts { @@ -180,7 +161,7 @@ NSString *MGMLastUserPhoneKey = @"MGMLastUserPhone"; - (void)reloadData { [super reloadData]; - if (progressView!=nil) [progressView display]; + [progressView display]; } - (NSString *)areaCode { @@ -246,8 +227,7 @@ NSString *MGMLastUserPhoneKey = @"MGMLastUserPhone"; [alert setInformativeText:[theError localizedDescription]]; [alert runModal]; placingCall = NO; - if (callTimer!=nil) - [callTimer fire]; + [callTimer fire]; } - (void)callDidFinish:(NSDictionary *)theInfo { placingCall = NO; @@ -260,11 +240,9 @@ NSString *MGMLastUserPhoneKey = @"MGMLastUserPhone"; [alert runModal]; } - (void)callTimer { - if (callTimer!=nil) { - [callTimer invalidate]; - [callTimer release]; - callTimer = nil; - } + [callTimer invalidate]; + [callTimer release]; + callTimer = nil; [callButton setImage:[NSImage imageNamed:@"placeCall"]]; } @@ -298,16 +276,14 @@ NSString *MGMLastUserPhoneKey = @"MGMLastUserPhone"; - (void)windowWillClose:(NSNotification *)notification { if (![controller isQuitting]) [user setSetting:[NSNumber numberWithBool:NO] forKey:MGMContactsWindowOpen]; - [super windowWillClose:notification]; - if (progressFadeAnimation!=nil) { - [progressFadeAnimation stopAnimation]; - [progressFadeAnimation release]; - progressFadeAnimation = nil; - } + [progressFadeAnimation stopAnimation]; + [progressFadeAnimation release]; + progressFadeAnimation = nil; creditField = nil; userNumberButton = nil; userPhonesButton = nil; callButton = nil; smsButton = nil; + [super windowWillClose:notification]; } @end \ No newline at end of file diff --git a/Classes/VoiceMac/Preferences/MGMAccountsPane.h b/Classes/VoiceMac/Preferences/MGMAccountsPane.h index c1e84eb..8ae0e16 100644 --- a/Classes/VoiceMac/Preferences/MGMAccountsPane.h +++ b/Classes/VoiceMac/Preferences/MGMAccountsPane.h @@ -44,6 +44,8 @@ IBOutlet NSTextField *SIPProxyPortField; IBOutlet NSTextField *SIPSIPAddressField; IBOutlet NSTextField *SIPRegistrarTimeoutField; + IBOutlet NSPopUpButton *SIPTransportPopUp; + IBOutlet NSPopUpButton *SIPToneTypePopUp; IBOutlet NSMatrix *SIPContactsMatrix; IBOutlet NSPopUpButton *SIPGoogleContactsPopUp; } @@ -55,6 +57,7 @@ - (IBAction)loginout:(id)sender; - (IBAction)add:(id)sender; - (IBAction)remove:(id)sender; +- (void)tableViewSelectionDidChange:(NSNotification *)aNotification; - (IBAction)saveGV:(id)sender; - (IBAction)saveGC:(id)sender; diff --git a/Classes/VoiceMac/Preferences/MGMAccountsPane.m b/Classes/VoiceMac/Preferences/MGMAccountsPane.m index d2fda81..37b9d15 100644 --- a/Classes/VoiceMac/Preferences/MGMAccountsPane.m +++ b/Classes/VoiceMac/Preferences/MGMAccountsPane.m @@ -18,7 +18,7 @@ NSString * const MGMLogout = @"Logout"; @implementation MGMAccountsPane - (id)initWithPreferences:(MGMPreferences *)thePreferences { - if (self = [super initWithPreferences:thePreferences]) { + if ((self = [super initWithPreferences:thePreferences])) { if (![NSBundle loadNibNamed:@"AccountsPane" owner:self]) { NSLog(@"Unable to load Nib for Account Preferences"); [self release]; @@ -48,6 +48,8 @@ NSString * const MGMLogout = @"Logout"; [SIPProxyPortField setEnabled:NO]; [SIPSIPAddressField setEnabled:NO]; [SIPRegistrarTimeoutField setEnabled:NO]; + [SIPTransportPopUp setEnabled:NO]; + [SIPToneTypePopUp setEnabled:NO]; [SIPContactsMatrix setEnabled:NO]; [SIPGoogleContactsPopUp setEnabled:NO]; [settingsTab selectTabViewItemAtIndex:0]; @@ -58,10 +60,8 @@ NSString * const MGMLogout = @"Logout"; - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; [[NSNotificationCenter defaultCenter] removeObserver:usersTable]; - if (checkInstance!=nil) - [checkInstance release]; - if (mainView!=nil) - [mainView release]; + [checkInstance release]; + [mainView release]; [super dealloc]; } + (void)setUpToolbarItem:(NSToolbarItem *)theItem { @@ -153,6 +153,8 @@ NSString * const MGMLogout = @"Logout"; [SIPProxyPortField setEnabled:NO]; [SIPSIPAddressField setEnabled:NO]; [SIPRegistrarTimeoutField setEnabled:NO]; + [SIPTransportPopUp setEnabled:NO]; + [SIPToneTypePopUp setEnabled:NO]; [SIPContactsMatrix setEnabled:NO]; [SIPGoogleContactsPopUp setEnabled:NO]; if (selected==-1) @@ -240,6 +242,8 @@ NSString * const MGMLogout = @"Logout"; [SIPProxyPortField setEnabled:YES]; [SIPSIPAddressField setEnabled:YES]; [SIPRegistrarTimeoutField setEnabled:YES]; + [SIPTransportPopUp setEnabled:YES]; + [SIPToneTypePopUp setEnabled:YES]; } if ([user settingForKey:MGMSIPAccountFullName]!=nil) [SIPFullNameField setStringValue:[user settingForKey:MGMSIPAccountFullName]]; @@ -282,6 +286,10 @@ NSString * const MGMLogout = @"Logout"; [SIPRegistrarTimeoutField setIntValue:[[user settingForKey:MGMSIPAccountRegisterTimeout] intValue]]; else [SIPRegistrarTimeoutField setStringValue:@""]; + int transport = [[user settingForKey:MGMSIPAccountTransport] intValue]; + [SIPTransportPopUp selectItemAtIndex:transport]; + int dtmfToneType = [[user settingForKey:MGMSIPAccountDTMFToneType] intValue]; + [SIPToneTypePopUp selectItemAtIndex:dtmfToneType]; NSArray *users = [MGMUser users]; NSMenu *menu = [[NSMenu new] autorelease]; @@ -376,6 +384,8 @@ NSString * const MGMLogout = @"Logout"; [user setSetting:[SIPSIPAddressField stringValue] forKey:MGMSIPAccountSIPAddress]; [[SIPSIPAddressField cell] setPlaceholderString:[NSString stringWithFormat:@"%@@%@", [user settingForKey:MGMSIPAccountUserName], [user settingForKey:MGMSIPAccountDomain]]]; [user setSetting:[NSNumber numberWithInt:[SIPRegistrarTimeoutField intValue]] forKey:MGMSIPAccountRegisterTimeout]; + [user setSetting:[NSNumber numberWithInt:[SIPTransportPopUp indexOfSelectedItem]] forKey:MGMSIPAccountTransport]; + [user setSetting:[NSNumber numberWithInt:[SIPToneTypePopUp indexOfSelectedItem]] forKey:MGMSIPAccountDTMFToneType]; #endif } diff --git a/Classes/VoiceMac/Preferences/MGMSIPPane.h b/Classes/VoiceMac/Preferences/MGMSIPPane.h index a3912b9..04d7919 100644 --- a/Classes/VoiceMac/Preferences/MGMSIPPane.h +++ b/Classes/VoiceMac/Preferences/MGMSIPPane.h @@ -37,6 +37,7 @@ IBOutlet NSTextField *logFileLevelField; IBOutlet NSTextField *consoleLogLevelField; IBOutlet NSTextField *publicAddressField; + IBOutlet NSTextField *userAgentField; } - (id)initWithPreferences:(MGMPreferences *)thePreferences; + (void)setUpToolbarItem:(NSToolbarItem *)theItem; @@ -66,5 +67,6 @@ - (IBAction)logFileLevel:(id)sender; - (IBAction)consoleLogLevel:(id)sender; - (IBAction)publicAddress:(id)sender; +- (IBAction)userAgent:(id)sender; @end #endif \ No newline at end of file diff --git a/Classes/VoiceMac/Preferences/MGMSIPPane.m b/Classes/VoiceMac/Preferences/MGMSIPPane.m index fe39c50..f565fcd 100644 --- a/Classes/VoiceMac/Preferences/MGMSIPPane.m +++ b/Classes/VoiceMac/Preferences/MGMSIPPane.m @@ -12,7 +12,7 @@ @implementation MGMSIPPane - (id)initWithPreferences:(MGMPreferences *)thePreferences { - if (self = [super initWithPreferences:thePreferences]) { + if ((self = [super initWithPreferences:thePreferences])) { if (![NSBundle loadNibNamed:@"SIPPane" owner:self]) { NSLog(@"Unable to load Nib for SIP Preferences"); [self release]; @@ -49,6 +49,8 @@ [consoleLogLevelField setIntValue:[defaults integerForKey:MGMSIPConsoleLogLevel]]; if ([defaults objectForKey:MGMSIPPublicAddress]!=nil && ![[defaults objectForKey:MGMSIPPublicAddress] isEqual:@""]) [publicAddressField setStringValue:[defaults objectForKey:MGMSIPPublicAddress]]; + if ([defaults objectForKey:MGMSIPUserAgent]!=nil) + [userAgentField setStringValue:[defaults objectForKey:MGMSIPUserAgent]]; NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter]; [notificationCenter addObserver:self selector:@selector(volumeChanged:) name:MGMSIPVolumeChangedNotification object:nil]; @@ -76,8 +78,7 @@ } //[[MGMSIP sharedSIP] restart]; } - if (mainView!=nil) - [mainView release]; + [mainView release]; [super dealloc]; } + (void)setUpToolbarItem:(NSToolbarItem *)theItem { @@ -228,5 +229,9 @@ [[NSUserDefaults standardUserDefaults] setObject:[publicAddressField stringValue] forKey:MGMSIPPublicAddress]; shouldRestart = YES; } +- (IBAction)userAgent:(id)sender { + [[NSUserDefaults standardUserDefaults] setObject:[userAgentField stringValue] forKey:MGMSIPUserAgent]; + shouldRestart = YES; +} @end #endif \ No newline at end of file diff --git a/Classes/VoiceMac/Preferences/MGMSMSThemesPane.m b/Classes/VoiceMac/Preferences/MGMSMSThemesPane.m index b33d786..14fb4fe 100644 --- a/Classes/VoiceMac/Preferences/MGMSMSThemesPane.m +++ b/Classes/VoiceMac/Preferences/MGMSMSThemesPane.m @@ -15,7 +15,7 @@ NSString * const MGMTestTTPhoto = @"tPhoto"; @implementation MGMSMSThemesPane - (id)initWithPreferences:(MGMPreferences *)thePreferences { - if (self = [super initWithPreferences:thePreferences]) { + if ((self = [super initWithPreferences:thePreferences])) { if (![NSBundle loadNibNamed:@"SMSThemesPane" owner:self]) { NSLog(@"Unable to load Nib for SMS Themes Preferences"); [self release]; @@ -50,16 +50,11 @@ NSString * const MGMTestTTPhoto = @"tPhoto"; return self; } - (void)dealloc { - if (themeManager!=nil) - [themeManager release]; - if (testMessages!=nil) - [testMessages release]; - if (testMessageInfo!=nil) - [testMessageInfo release]; - if (mainView!=nil) - [mainView release]; - if (browserWindow!=nil) - [browserWindow release]; + [themeManager release]; + [testMessages release]; + [testMessageInfo release]; + [mainView release]; + [browserWindow release]; [super dealloc]; } + (void)setUpToolbarItem:(NSToolbarItem *)theItem { diff --git a/Classes/VoiceMac/Preferences/MGMSoundsPane.m b/Classes/VoiceMac/Preferences/MGMSoundsPane.m index 1c8b6a6..637ba8d 100644 --- a/Classes/VoiceMac/Preferences/MGMSoundsPane.m +++ b/Classes/VoiceMac/Preferences/MGMSoundsPane.m @@ -15,7 +15,7 @@ NSString * const MGMNoAuthor = @"No Author Found"; @implementation MGMSoundsPane - (id)initWithPreferences:(MGMPreferences *)thePreferences { - if (self = [super initWithPreferences:thePreferences]) { + if ((self = [super initWithPreferences:thePreferences])) { if (![NSBundle loadNibNamed:@"SoundsPane" owner:self]) { NSLog(@"Unable to load Nib for Sounds Preferences"); [self release]; @@ -30,14 +30,10 @@ NSString * const MGMNoAuthor = @"No Author Found"; } - (void)dealloc { [self stopSound:self]; - if (themeManager!=nil) - [themeManager release]; - if (mainView!=nil) - [mainView release]; - if (sounds!=nil) - [sounds release]; - if (browserWindow!=nil) - [browserWindow release]; + [themeManager release]; + [mainView release]; + [sounds release]; + [browserWindow release]; [super dealloc]; } + (void)setUpToolbarItem:(NSToolbarItem *)theItem { @@ -190,11 +186,9 @@ NSString * const MGMNoAuthor = @"No Author Found"; if (![themeManager setSound:soundName withPath:[sound objectForKey:MGMTSPath]]) { NSBeep(); } else { - if (soundPlayer!=nil) { - [soundPlayer stop]; - [soundPlayer release]; - soundPlayer = nil; - } + [soundPlayer stop]; + [soundPlayer release]; + soundPlayer = nil; soundPlayer = [themeManager playSound:soundName]; [soundPlayer setDelegate:self]; } @@ -205,17 +199,13 @@ NSString * const MGMNoAuthor = @"No Author Found"; [self reload:soundName]; } - (void)soundDidFinishPlaying:(MGMSound *)theSound { - if (soundPlayer!=nil) { - [soundPlayer release]; - soundPlayer = nil; - } + [soundPlayer release]; + soundPlayer = nil; } - (IBAction)stopSound:(id)sender { - if (soundPlayer!=nil) { - [soundPlayer stop]; - [soundPlayer release]; - soundPlayer = nil; - } + [soundPlayer stop]; + [soundPlayer release]; + soundPlayer = nil; } - (IBAction)authorSite:(id)sender { diff --git a/Classes/VoiceMac/SIP/MGMSIPCallWindow.m b/Classes/VoiceMac/SIP/MGMSIPCallWindow.m index 824e19c..e9a88da 100644 --- a/Classes/VoiceMac/SIP/MGMSIPCallWindow.m +++ b/Classes/VoiceMac/SIP/MGMSIPCallWindow.m @@ -22,7 +22,7 @@ NSString * const MGMSCTitleNoNameFormat = @"Call With %@"; return [[[self alloc] initWithCall:theCall SIPUser:theSIPUser] autorelease]; } - (id)initWithCall:(MGMSIPCall *)theCall SIPUser:(MGMSIPUser *)theSIPUser { - if (self = [super init]) { + if ((self = [super init])) { if (![NSBundle loadNibNamed:@"SIPCallWindow" owner:self]) { NSLog(@"Unable to load SIP Call Window!"); [self release]; @@ -104,11 +104,9 @@ NSString * const MGMSCTitleNoNameFormat = @"Call With %@"; } if ([call state]==MGMSIPCallDisconnectedState) { - if (ringtone!=nil) { - [ringtone stop]; - [ringtone release]; - ringtone = nil; - } + [ringtone stop]; + [ringtone release]; + ringtone = nil; } NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter]; @@ -122,49 +120,31 @@ NSString * const MGMSCTitleNoNameFormat = @"Call With %@"; - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; [self hidePad]; - if (call!=nil) { - [call setDelegate:nil]; - [call release]; - } - if (whitePages!=nil) - [whitePages release]; - if (incomingWindow!=nil) - [incomingWindow release]; - if (callWindow!=nil) - [callWindow release]; - if (fullName!=nil) - [fullName release]; - if (phoneNumber!=nil) - [phoneNumber release]; - if (ringtone!=nil) { - [ringtone stop]; - [ringtone release]; - } - if (startTime!=nil) - [startTime release]; - if (durationUpdater!=nil) { - [durationUpdater invalidate]; - [durationUpdater release]; - } + [call setDelegate:nil]; + [call release]; + [whitePages release]; + [incomingWindow release]; + [callWindow release]; + [fullName release]; + [phoneNumber release]; + [ringtone stop]; + [ringtone release]; + [durationUpdater invalidate]; + [durationUpdater release]; + [startTime release]; [super dealloc]; } - (void)disconnected:(MGMSIPCall *)theCall { - if (ringtone!=nil) { - [ringtone stop]; - [ringtone release]; - ringtone = nil; - } + [ringtone stop]; + [ringtone release]; + ringtone = nil; if ([callWindow isVisible]) { - if (durationUpdater!=nil) { - [durationUpdater invalidate]; - [durationUpdater release]; - durationUpdater = nil; - } - if (startTime!=nil) { - [startTime release]; - startTime = nil; - } + [durationUpdater invalidate]; + [durationUpdater release]; + durationUpdater = nil; + [startTime release]; + startTime = nil; [statusField setStringValue:@"Disconnected"]; [[[SIPUser controller] themeManager] playSound:MGMTSSIPDisconnected]; } else { @@ -176,7 +156,7 @@ NSString * const MGMSCTitleNoNameFormat = @"Call With %@"; - (void)confirmed:(MGMSIPCall *)theCall { [statusField setStringValue:@"Connected"]; [[[SIPUser controller] themeManager] playSound:MGMTSSIPConnected]; - [self performSelectorOnMainThread:@selector(startDurationTimer) withObject:nil waitUntilDone:NO]; + [self performSelectorOnMainThread:@selector(startDurationTimer) withObject:nil waitUntilDone:YES]; } - (void)startDurationTimer { startTime = [NSDate new]; @@ -216,22 +196,18 @@ NSString * const MGMSCTitleNoNameFormat = @"Call With %@"; [sound5Button setTitle:[[[SIPUser controller] themeManager] nameOfSound:MGMTSSIPSound5]]; } - (IBAction)answer:(id)sender { - if (ringtone!=nil) { - [ringtone stop]; - [ringtone release]; - ringtone = nil; - } + [ringtone stop]; + [ringtone release]; + ringtone = nil; [incomingWindow close]; [call answer]; [self fillCallWindow]; [callWindow makeKeyAndOrderFront:self]; } - (IBAction)ignore:(id)sender { - if (ringtone!=nil) { - [ringtone stop]; - [ringtone release]; - ringtone = nil; - } + [ringtone stop]; + [ringtone release]; + ringtone = nil; [incomingWindow close]; [SIPUser callDone:self]; } @@ -286,15 +262,11 @@ NSString * const MGMSCTitleNoNameFormat = @"Call With %@"; } - (IBAction)hangUp:(id)sender { [callWindow close]; - if (durationUpdater!=nil) { - [durationUpdater invalidate]; - [durationUpdater release]; - durationUpdater = nil; - } - if (startTime!=nil) { - [startTime release]; - startTime = nil; - } + [durationUpdater invalidate]; + [durationUpdater release]; + durationUpdater = nil; + [startTime release]; + startTime = nil; [call hangUp]; [SIPUser callDone:self]; } diff --git a/Classes/VoiceMac/SIP/MGMSIPUser.h b/Classes/VoiceMac/SIP/MGMSIPUser.h index bf401f8..a28bd27 100644 --- a/Classes/VoiceMac/SIP/MGMSIPUser.h +++ b/Classes/VoiceMac/SIP/MGMSIPUser.h @@ -14,7 +14,7 @@ extern NSString * const MGMSIPUserAreaCode; -@interface MGMSIPUser : MGMContactsController { +@interface MGMSIPUser : MGMContactsController { MGMUser *user; MGMSIPAccount *account; NSMutableArray *calls; diff --git a/Classes/VoiceMac/SIP/MGMSIPUser.m b/Classes/VoiceMac/SIP/MGMSIPUser.m index 6c37aee..f885cc6 100644 --- a/Classes/VoiceMac/SIP/MGMSIPUser.m +++ b/Classes/VoiceMac/SIP/MGMSIPUser.m @@ -23,7 +23,7 @@ NSString * const MGMSIPUserAreaCode = @"MGMVSIPUserAreaCode"; return [[[self alloc] initUser:theUser controller:theController] autorelease]; } - (id)initUser:(MGMUser *)theUser controller:(MGMController *)theController { - if (self = [super initWithController:theController]) { + if ((self = [super initWithController:theController])) { user = [theUser retain]; [user setDelegate:self]; [self registerSettings]; @@ -52,7 +52,7 @@ NSString * const MGMSIPUserAreaCode = @"MGMVSIPUserAreaCode"; userName = [user settingForKey:MGMSIPAccountFullName]; [userNameField setStringValue:userName]; - if (![account isLoggedIn]) { + if (![account isRegistered]) { NSSize contentSize = [[contactsWindow contentView] frame].size; progressView = [[MGMProgressView alloc] initWithFrame:NSMakeRect(0, 0, contentSize.width, contentSize.height)]; [progressView setProgressTitle:@"Logging In"]; @@ -62,36 +62,23 @@ NSString * const MGMSIPUserAreaCode = @"MGMVSIPUserAreaCode"; } } - (void)dealloc { - if (progressFadeAnimation!=nil) { - [progressFadeAnimation stopAnimation]; - [progressFadeAnimation release]; - progressFadeAnimation = nil; - } - if (progressView!=nil) { - [progressView stopProgess]; - [progressView release]; - } - if (SIPRegistrationTimeout!=nil) { - [SIPRegistrationTimeout invalidate]; - [SIPRegistrationTimeout release]; - } + [account setDelegate:nil]; + [contacts setDelegate:nil]; + [progressFadeAnimation stopAnimation]; + [progressFadeAnimation release]; + progressFadeAnimation = nil; + [progressView stopProgess]; + [progressView release]; + [SIPRegistrationTimeout invalidate]; + [SIPRegistrationTimeout release]; [super dealloc]; - if (calls!=nil) { - [calls removeAllObjects]; - [calls release]; - } - if (account!=nil) { - [account setDelegate:nil]; - [account logout]; - [account release]; - } - if (contacts!=nil) { - [contacts stop]; - [contacts setDelegate:nil]; - [contacts release]; - } - if (user!=nil) - [user release]; + [calls removeAllObjects]; + [calls release]; + [account logout]; + [account release]; + [contacts stop]; + [contacts release]; + [user release]; } - (void)registerSettings { @@ -131,11 +118,9 @@ NSString * const MGMSIPUserAreaCode = @"MGMVSIPUserAreaCode"; } - (void)registrationChanged { - if (SIPRegistrationTimeout!=nil) { - [SIPRegistrationTimeout invalidate]; - [SIPRegistrationTimeout release]; - SIPRegistrationTimeout = nil; - } + [SIPRegistrationTimeout invalidate]; + [SIPRegistrationTimeout release]; + SIPRegistrationTimeout = nil; if (!acountRegistered) { if (![account isRegistered]) { NSAlert *theAlert = [[NSAlert new] autorelease]; @@ -144,23 +129,21 @@ NSString * const MGMSIPUserAreaCode = @"MGMVSIPUserAreaCode"; [theAlert runModal]; } acountRegistered = YES; - [self performSelectorOnMainThread:@selector(removeLoginProgress) withObject:nil waitUntilDone:NO]; + [self performSelectorOnMainThread:@selector(removeLoginProgress) withObject:nil waitUntilDone:YES]; } } - (void)loggedIn { loggingIn = NO; - [self performSelectorOnMainThread:@selector(startRegistrationTimeoutTimer) withObject:nil waitUntilDone:NO]; + [self performSelectorOnMainThread:@selector(startRegistrationTimeoutTimer) withObject:nil waitUntilDone:YES]; } - (void)startRegistrationTimeoutTimer { if (!acountRegistered) SIPRegistrationTimeout = [[NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(SIPTimeout) userInfo:nil repeats:NO] retain]; } - (void)SIPTimeout { - if (SIPRegistrationTimeout!=nil) { - [SIPRegistrationTimeout invalidate]; - [SIPRegistrationTimeout release]; - SIPRegistrationTimeout = nil; - } + [SIPRegistrationTimeout invalidate]; + [SIPRegistrationTimeout release]; + SIPRegistrationTimeout = nil; [account setLastError:@"Registration Timeout."]; [self loginErrored]; } @@ -185,13 +168,11 @@ NSString * const MGMSIPUserAreaCode = @"MGMVSIPUserAreaCode"; [theAlert setInformativeText:[account lastError]]; [theAlert runModal]; - if (progressView!=nil) { - [progressView stopProgess]; - [progressView removeFromSuperview]; - [progressView release]; - progressView = nil; - } - [self performSelectorOnMainThread:@selector(removeLoginProgress) withObject:nil waitUntilDone:NO]; + [progressView stopProgess]; + [progressView removeFromSuperview]; + [progressView release]; + progressView = nil; + [self performSelectorOnMainThread:@selector(removeLoginProgress) withObject:nil waitUntilDone:YES]; } - (void)logoutErrored { NSAlert *theAlert = [[NSAlert new] autorelease]; @@ -200,15 +181,11 @@ NSString * const MGMSIPUserAreaCode = @"MGMVSIPUserAreaCode"; [theAlert runModal]; } - (void)animationDidEnd:(NSAnimation *)animation { - if (progressFadeAnimation!=nil) { - [progressFadeAnimation release]; - progressFadeAnimation = nil; - } - if (progressView!=nil) { - [progressView removeFromSuperview]; - [progressView release]; - progressView = nil; - } + [progressFadeAnimation release]; + progressFadeAnimation = nil; + [progressView removeFromSuperview]; + [progressView release]; + progressView = nil; } - (MGMContacts *)contacts { @@ -217,7 +194,7 @@ NSString * const MGMSIPUserAreaCode = @"MGMVSIPUserAreaCode"; - (void)reloadData { [super reloadData]; - if (progressView!=nil) [progressView display]; + [progressView display]; } - (NSString *)areaCode { @@ -274,11 +251,9 @@ NSString * const MGMSIPUserAreaCode = @"MGMVSIPUserAreaCode"; if (![controller isQuitting]) [user setSetting:[NSNumber numberWithBool:NO] forKey:MGMContactsWindowOpen]; [super windowWillClose:notification]; - if (progressFadeAnimation!=nil) { - [progressFadeAnimation stopAnimation]; - [progressFadeAnimation release]; - progressFadeAnimation = nil; - } + [progressFadeAnimation stopAnimation]; + [progressFadeAnimation release]; + progressFadeAnimation = nil; } @end #endif \ No newline at end of file diff --git a/Classes/VoiceMac/SIP/MGMSIPWavConverter.m b/Classes/VoiceMac/SIP/MGMSIPWavConverter.m index 91f19a4..3668e0f 100644 --- a/Classes/VoiceMac/SIP/MGMSIPWavConverter.m +++ b/Classes/VoiceMac/SIP/MGMSIPWavConverter.m @@ -13,7 +13,7 @@ @implementation MGMSIPWavConverter - (id)initWithSoundName:(NSString *)theSoundname fileConverting:(NSString *)theFile { - if (self = [super init]) { + if ((self = [super init])) { fileConverting = [theFile copy]; soundName = [theSoundname copy]; cancel = NO; @@ -34,15 +34,11 @@ } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; - if (fileConverting!=nil) - [fileConverting release]; - if (soundName!=nil) - [soundName release]; - if (movie!=nil) - [movie release]; - if (backgroundThread!=nil) { + [fileConverting release]; + [soundName release]; + [movie release]; + if (backgroundThread!=nil) while (backgroundThread!=nil) [NSThread sleepUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.2]]; - } [super dealloc]; } @@ -71,7 +67,7 @@ finalPath = [finalPath stringByAppendingPathComponent:soundName]; NSString *convertFinalPath = [[finalPath stringByAppendingPathExtension:@".tmp"] stringByAppendingPathExtension:MGMWavExt]; finalPath = [finalPath stringByAppendingPathExtension:MGMWavExt]; - NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], QTMovieExport, [NSNumber numberWithLong:kQTFileTypeWave], QTMovieExportType, [NSNumber numberWithLong:SoundMediaType], QTMovieExportManufacturer, nil]; + NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], QTMovieExport, [NSNumber numberWithLong:kQTFileTypeWave], QTMovieExportType, [NSNumber numberWithLong:'soun'], QTMovieExportManufacturer, nil]; if (!cancel) { if (![movie writeToFile:convertFinalPath withAttributes:dictionary]) NSLog(@"Could not convert audio %@", fileConverting); diff --git a/Classes/VoiceMac/SMS/MGMMultiSMS.m b/Classes/VoiceMac/SMS/MGMMultiSMS.m index 1673b48..004561b 100644 --- a/Classes/VoiceMac/SMS/MGMMultiSMS.m +++ b/Classes/VoiceMac/SMS/MGMMultiSMS.m @@ -17,7 +17,7 @@ return [[[self alloc] initWithInstance:theInstance controller:theController] autorelease]; } - (id)initWithInstance:(MGMInstance *)theInstance controller:(MGMController *)theController { - if (self = [super init]) { + if ((self = [super init])) { if (![NSBundle loadNibNamed:@"MultiSMS" owner:self]) { NSLog(@"Unable to load Multiple SMS Window."); [self release]; diff --git a/Classes/VoiceMac/SMS/MGMSMSManager.h b/Classes/VoiceMac/SMS/MGMSMSManager.h index 5f42c52..3896663 100644 --- a/Classes/VoiceMac/SMS/MGMSMSManager.h +++ b/Classes/VoiceMac/SMS/MGMSMSManager.h @@ -40,4 +40,5 @@ - (void)messageWithNumber:(NSString *)theNumber instance:(MGMInstance *)theInstance; - (void)messageWithData:(NSDictionary *)theData instance:(MGMInstance *)theInstance; - (NSString *)currentPhoneNumber; +- (void)windowDidBecomeKey:(NSNotification *)notification; @end \ No newline at end of file diff --git a/Classes/VoiceMac/SMS/MGMSMSManager.m b/Classes/VoiceMac/SMS/MGMSMSManager.m index abda4c2..fe4e1eb 100644 --- a/Classes/VoiceMac/SMS/MGMSMSManager.m +++ b/Classes/VoiceMac/SMS/MGMSMSManager.m @@ -23,7 +23,7 @@ const float updateTimeInterval = 300.0; return [[[self alloc] initWithController:theController] autorelease]; } - (id)initWithController:(MGMController *)theController { - if (self = [super init]) { + if ((self = [super init])) { controller = theController; SMSMessages = [NSMutableArray new]; lastDates = [NSMutableDictionary new]; @@ -35,16 +35,11 @@ const float updateTimeInterval = 300.0; [[[messagesTable tableColumns] objectAtIndex:0] setDataCell:[[[MGMViewCell alloc] initGradientCell] autorelease]]; } - (void)dealloc { - if (SMSWindow!=nil) - [SMSWindow close]; - if (updateTimer!=nil) { - [updateTimer invalidate]; - [updateTimer release]; - } - if (SMSMessages!=nil) - [SMSMessages release]; - if (lastDates!=nil) - [lastDates release]; + [SMSWindow close]; + [updateTimer invalidate]; + [updateTimer release]; + [SMSMessages release]; + [lastDates release]; [super dealloc]; } diff --git a/Classes/VoiceMac/SMS/MGMSMSMessageView.m b/Classes/VoiceMac/SMS/MGMSMSMessageView.m index 2916a2a..414adf9 100644 --- a/Classes/VoiceMac/SMS/MGMSMSMessageView.m +++ b/Classes/VoiceMac/SMS/MGMSMSMessageView.m @@ -20,7 +20,7 @@ return [[[self alloc] initWithManager:theManager messages:theMessages messageInfo:theMessageInfo instance:theInstance] autorelease]; } - (id)initWithManager:(MGMSMSManager *)theManager messages:(NSArray *)theMessages messageInfo:(NSDictionary *)theMessageInfo instance:(MGMInstance *)theInstance { - if (self = [super init]) { + if ((self = [super init])) { if (![NSBundle loadNibNamed:@"SMSMessageView" owner:self]) { NSLog(@"Error: Unable to load SMS Message View."); [self release]; @@ -48,12 +48,9 @@ } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; - if (SMSSplitView!=nil) - [SMSSplitView release]; - if (messages!=nil) - [messages release]; - if (messageInfo!=nil) - [messageInfo release]; + [SMSSplitView release]; + [messages release]; + [messageInfo release]; [super dealloc]; } @@ -100,7 +97,7 @@ - (BOOL)updateWithMessages:(NSArray *)theMessages messageInfo:(NSDictionary *)theMessageInfo { BOOL newIncomingMessages = NO; if (![[theMessageInfo objectForKey:MGMITime] isEqual:[messageInfo objectForKey:MGMITime]]) { - if (messageInfo!=nil) [messageInfo release]; + [messageInfo release]; messageInfo = [theMessageInfo mutableCopy]; [self setRead:[[messageInfo objectForKey:MGMIRead] boolValue]]; diff --git a/Classes/VoiceMac/SMS/MGMSMSView.m b/Classes/VoiceMac/SMS/MGMSMSView.m index dcba23d..c583dec 100644 --- a/Classes/VoiceMac/SMS/MGMSMSView.m +++ b/Classes/VoiceMac/SMS/MGMSMSView.m @@ -17,7 +17,7 @@ return [[[self alloc] initWithMessageView:theMessageView] autorelease]; } - (id)initWithMessageView:(MGMSMSMessageView *)theMessageView { - if (self = [super initWithFrame:NSMakeRect(0, 0, 100, 40)]) { + if ((self = [super initWithFrame:NSMakeRect(0, 0, 100, 40)])) { messageView = theMessageView; [self setToolTip:[[messageView messageInfo] objectForKey:MGMTInName]]; NSRect frameRect = [self frame]; @@ -57,12 +57,9 @@ return self; } - (void)dealloc { - if (photoView!=nil) - [photoView release]; - if (nameField!=nil) - [nameField release]; - if (closeButton!=nil) - [closeButton release]; + [photoView release]; + [nameField release]; + [closeButton release]; [super dealloc]; } diff --git a/Classes/VoiceMac/Views/MGMBlackWindow.m b/Classes/VoiceMac/Views/MGMBlackWindow.m index 5251830..bd56af9 100644 --- a/Classes/VoiceMac/Views/MGMBlackWindow.m +++ b/Classes/VoiceMac/Views/MGMBlackWindow.m @@ -11,7 +11,7 @@ @implementation MGMBlackWindow - (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)windowStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation { - if (self = [super initWithContentRect:contentRect styleMask:NSBorderlessWindowMask backing:bufferingType defer:deferCreation]) { + if ((self = [super initWithContentRect:contentRect styleMask:NSBorderlessWindowMask backing:bufferingType defer:deferCreation])) { forceDisplay = NO; [self setLevel:NSStatusWindowLevel]; [self setBackgroundColor:[NSColor clearColor]]; diff --git a/Classes/VoiceMac/Views/MGMContactView.m b/Classes/VoiceMac/Views/MGMContactView.m index 042b5f0..5b57beb 100644 --- a/Classes/VoiceMac/Views/MGMContactView.m +++ b/Classes/VoiceMac/Views/MGMContactView.m @@ -15,7 +15,7 @@ } - (id)initWithFrame:(NSRect)frameRect themeManager:(MGMThemeManager *)theThemeManager { themeManager = theThemeManager; - if (self = [super initWithFrame:frameRect]) { + if ((self = [super initWithFrame:frameRect])) { photoView = [[NSImageView alloc] initWithFrame:NSMakeRect(0, 0, frameRect.size.height, frameRect.size.height)]; [photoView setRefusesFirstResponder:YES]; [self addSubview:photoView]; @@ -39,14 +39,10 @@ return self; } - (void)dealloc { - if (photoView!=nil) - [photoView release]; - if (nameField!=nil) - [nameField release]; - if (phoneField!=nil) - [phoneField release]; - if (contact!=nil) - [contact release]; + [photoView release]; + [nameField release]; + [phoneField release]; + [contact release]; [super dealloc]; } - (void)resizeSubviewsWithOldSize:(NSSize)oldBoundsSize { @@ -61,7 +57,7 @@ return contact; } - (void)setContact:(NSDictionary *)theContact { - if (contact!=nil) [contact release]; + [contact release]; contact = [theContact mutableCopy]; if ([contact objectForKey:MGMCPhoto]==nil || [[contact objectForKey:MGMCPhoto] isKindOfClass:[NSNull class]]) [photoView setImage:[[[NSImage alloc] initWithContentsOfFile:[themeManager incomingIconPath]] autorelease]]; diff --git a/Classes/VoiceMac/Views/MGMPhoneFeild.m b/Classes/VoiceMac/Views/MGMPhoneFeild.m index b701b36..55820ad 100644 --- a/Classes/VoiceMac/Views/MGMPhoneFeild.m +++ b/Classes/VoiceMac/Views/MGMPhoneFeild.m @@ -10,7 +10,7 @@ @implementation MGMPhoneField - (id)initWithCoder:(NSCoder*)coder { - if (self = [super initWithCoder:coder]) { + if ((self = [super initWithCoder:coder])) { NSTextFieldCell *cell = [self cell]; MGMPhoneFieldCell *phoneCell = [[MGMPhoneFieldCell alloc] initTextCell:[cell stringValue]]; //NSTextFieldCell diff --git a/Classes/VoiceMac/Views/MGMProgressView.m b/Classes/VoiceMac/Views/MGMProgressView.m index e0d60c0..6289d05 100644 --- a/Classes/VoiceMac/Views/MGMProgressView.m +++ b/Classes/VoiceMac/Views/MGMProgressView.m @@ -10,7 +10,7 @@ @implementation MGMProgressView - (id)initWithFrame:(NSRect)frameRect { - if (self = [super initWithFrame:frameRect]) { + if ((self = [super initWithFrame:frameRect])) { progress = [[NSProgressIndicator alloc] initWithFrame:NSMakeRect((frameRect.size.width-32)/2, (frameRect.size.height-32)/2, 32, 32)]; [progress setStyle:NSProgressIndicatorSpinningStyle]; [progress setControlSize:NSRegularControlSize]; @@ -39,12 +39,9 @@ return self; } - (void)dealloc { - if (progress) - [progress release]; - if (pleaseWaitField!=nil) - [pleaseWaitField release]; - if (progressField!=nil) - [progressField release]; + [progress release]; + [pleaseWaitField release]; + [progressField release]; [super dealloc]; } - (void)resizeSubviewsWithOldSize:(NSSize)oldBoundsSize { diff --git a/Classes/VoiceMac/Views/MGMTranslucentTabView.m b/Classes/VoiceMac/Views/MGMTranslucentTabView.m index aacf4bd..9b752c5 100644 --- a/Classes/VoiceMac/Views/MGMTranslucentTabView.m +++ b/Classes/VoiceMac/Views/MGMTranslucentTabView.m @@ -9,13 +9,6 @@ #import "MGMTranslucentTabView.h" @implementation MGMTranslucentTabView -- (id)initWithFrame:(NSRect)frameRect { - if (self = [super initWithFrame:frameRect]) { - - } - return self; -} - - (void)awakeFromNib { [self setTabViewType:NSNoTabsNoBorder]; [self setDrawsBackground:NO]; diff --git a/Classes/VoiceMac/Views/MGMViewCell.m b/Classes/VoiceMac/Views/MGMViewCell.m index 98d6f0c..7385d09 100644 --- a/Classes/VoiceMac/Views/MGMViewCell.m +++ b/Classes/VoiceMac/Views/MGMViewCell.m @@ -11,7 +11,7 @@ @implementation MGMViewCell - (id)initGradientCell { - if (self = [super init]) { + if ((self = [super init])) { gradient = YES; } return self; diff --git a/Classes/VoiceMac/main.m b/Classes/VoiceMac/main.m index 9b1e7e1..eaf6c18 100644 --- a/Classes/VoiceMac/main.m +++ b/Classes/VoiceMac/main.m @@ -3,7 +3,7 @@ // VoiceMac // // Created by Mr. Gecko on 7/24/09. -// Copyright Mr. Gecko's Media 2009. All rights reserved. +// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ // #import diff --git a/Contributing.txt b/Contributing.txt index d42f966..d75a5cb 100644 --- a/Contributing.txt +++ b/Contributing.txt @@ -4,4 +4,4 @@ Contributing to MGMSIP and MGMXML is exactly the same as VoiceMac. However there Terms for adding: 1. The patch must not disrupt up the functionality of VoiceMac. 2. The patch must provide useful changes. 3. Anything that you add to the source code of VoiceMac will be under the terms of my licenses. -4. If you add changes to VoiceMac's main source code, you may not have them removed, but you will get credit for the changes in the history of the application. To contribute: 1. Create a patch file using this command “diff -crB VoiceMacOriginal VoiceMac > VoiceMac.patchâ€. 2. Send the patch to voicemac@mrgeckosmedia.com with your name, email/website (if you want that information), and what you changed so I can add it to the about and change. \ No newline at end of file +4. If you add changes to VoiceMac's source code, you may not have them removed, but you will get credit for the changes in the history of the application. To contribute: 1. Create a patch file using this command “diff -crB VoiceMacOriginal VoiceMac > VoiceMac.patchâ€. 2. Send the patch to voicemac@mrgeckosmedia.com with your name, email/website (if you want that information), and what you changed so I can add it to the about and change. \ No newline at end of file diff --git a/Frameworks/GeckoReporter.framework/Versions/A/GeckoReporter b/Frameworks/GeckoReporter.framework/Versions/A/GeckoReporter index 507d5ef..927fe1b 100755 Binary files a/Frameworks/GeckoReporter.framework/Versions/A/GeckoReporter and b/Frameworks/GeckoReporter.framework/Versions/A/GeckoReporter differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Headers/GeckoReporter.h b/Frameworks/GeckoReporter.framework/Versions/A/Headers/GeckoReporter.h index 7851bea..2bb0575 100644 --- a/Frameworks/GeckoReporter.framework/Versions/A/Headers/GeckoReporter.h +++ b/Frameworks/GeckoReporter.framework/Versions/A/Headers/GeckoReporter.h @@ -3,7 +3,7 @@ // GeckoReporter // // Created by Mr. Gecko on 12/27/09. -// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ +// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ // #import "MGMReporter.h" diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMFeedback.h b/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMFeedback.h index 1cce39c..45b3133 100644 --- a/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMFeedback.h +++ b/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMFeedback.h @@ -3,7 +3,7 @@ // GeckoReporter // // Created by Mr. Gecko on 1/2/10. -// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ +// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ // #import diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMLog.h b/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMLog.h index 3015a12..bf5ea79 100644 --- a/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMLog.h +++ b/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMLog.h @@ -3,7 +3,7 @@ // GeckoReporter // // Created by Mr. Gecko on 1/1/10. -// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ +// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ // #import diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMReporter.h b/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMReporter.h index 6ad149e..f062308 100644 --- a/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMReporter.h +++ b/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMReporter.h @@ -3,7 +3,7 @@ // GeckoReporter // // Created by Mr. Gecko on 12/27/09. -// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ +// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ // #import diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMSender.h b/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMSender.h index 2b61f8a..abb7ccb 100644 --- a/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMSender.h +++ b/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMSender.h @@ -3,7 +3,7 @@ // GeckoReporter // // Created by Mr. Gecko on 12/28/09. -// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ +// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ // #import diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMSenderDelegate.h b/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMSenderDelegate.h index dfd35fa..b08130a 100644 --- a/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMSenderDelegate.h +++ b/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMSenderDelegate.h @@ -3,7 +3,7 @@ // GeckoReporter // // Created by Mr. Gecko on 1/2/10. -// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ +// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ // #import diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMSystemInfo.h b/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMSystemInfo.h index 6e7c17d..582ccb5 100644 --- a/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMSystemInfo.h +++ b/Frameworks/GeckoReporter.framework/Versions/A/Headers/MGMSystemInfo.h @@ -3,7 +3,7 @@ // GeckoReporter // // Created by Mr. Gecko on 12/31/09. -// Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ +// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ // #import diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/GeckoReporter.strings b/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/GeckoReporter.strings index 0324854..77583c7 100644 Binary files a/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/GeckoReporter.strings and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/GeckoReporter.strings differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/MGMBugWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/MGMBugWindow.nib index a0289b2..792e7da 100644 Binary files a/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/MGMBugWindow.nib and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/MGMBugWindow.nib differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/MGMContactWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/MGMContactWindow.nib index af0fd3e..bdcf45d 100644 Binary files a/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/MGMContactWindow.nib and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/MGMContactWindow.nib differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/MGMReportWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/MGMReportWindow.nib index c469b35..8186bef 100644 Binary files a/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/MGMReportWindow.nib and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/MGMReportWindow.nib differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/MainMenu.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/MainMenu.nib deleted file mode 100644 index de77adb..0000000 Binary files a/Frameworks/GeckoReporter.framework/Versions/A/Resources/English.lproj/MainMenu.nib and /dev/null differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/French.lproj/GeckoReporter.strings b/Frameworks/GeckoReporter.framework/Versions/A/Resources/French.lproj/GeckoReporter.strings new file mode 100644 index 0000000..10f404d Binary files /dev/null and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/French.lproj/GeckoReporter.strings differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/French.lproj/MGMBugWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/French.lproj/MGMBugWindow.nib new file mode 100644 index 0000000..c0a22f1 Binary files /dev/null and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/French.lproj/MGMBugWindow.nib differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/French.lproj/MGMContactWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/French.lproj/MGMContactWindow.nib new file mode 100644 index 0000000..75985b6 Binary files /dev/null and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/French.lproj/MGMContactWindow.nib differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/French.lproj/MGMReportWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/French.lproj/MGMReportWindow.nib new file mode 100644 index 0000000..a4df7e0 Binary files /dev/null and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/French.lproj/MGMReportWindow.nib differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/Info.plist b/Frameworks/GeckoReporter.framework/Versions/A/Resources/Info.plist index 9c92571..d0e4b14 100644 --- a/Frameworks/GeckoReporter.framework/Versions/A/Resources/Info.plist +++ b/Frameworks/GeckoReporter.framework/Versions/A/Resources/Info.plist @@ -2,6 +2,8 @@ + BuildMachineOSBuild + 10J567 CFBundleDevelopmentRegion English CFBundleExecutable @@ -15,12 +17,26 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 0.1 + 0.2 CFBundleSignature ???? CFBundleVersion - 0.1 + 0.2 + DTCompiler + 4.2 + DTPlatformBuild + 4A278b + DTPlatformVersion + GM + DTSDKBuild + 4A278b + DTSDKName + macosx10.6 + DTXcode + 0400 + DTXcodeBuild + 4A278b NSHumanReadableCopyright - Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ + Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/GeckoReporter.strings b/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/GeckoReporter.strings index 05cd20b..4ff40e1 100644 Binary files a/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/GeckoReporter.strings and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/GeckoReporter.strings differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/MGMBugWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/MGMBugWindow.nib index e934875..4daca40 100644 Binary files a/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/MGMBugWindow.nib and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/MGMBugWindow.nib differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/MGMContactWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/MGMContactWindow.nib index 292abe6..b651834 100644 Binary files a/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/MGMContactWindow.nib and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/MGMContactWindow.nib differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/MGMReportWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/MGMReportWindow.nib index ca07167..1a09568 100644 Binary files a/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/MGMReportWindow.nib and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/MGMReportWindow.nib differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/MainMenu.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/MainMenu.nib deleted file mode 100644 index 0bab7a5..0000000 Binary files a/Frameworks/GeckoReporter.framework/Versions/A/Resources/es.lproj/MainMenu.nib and /dev/null differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt-PT.lproj/GeckoReporter.strings b/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt-PT.lproj/GeckoReporter.strings new file mode 100644 index 0000000..cb47c97 Binary files /dev/null and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt-PT.lproj/GeckoReporter.strings differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt-PT.lproj/MGMBugWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt-PT.lproj/MGMBugWindow.nib new file mode 100644 index 0000000..523c995 Binary files /dev/null and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt-PT.lproj/MGMBugWindow.nib differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt-PT.lproj/MGMContactWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt-PT.lproj/MGMContactWindow.nib new file mode 100644 index 0000000..94229f9 Binary files /dev/null and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt-PT.lproj/MGMContactWindow.nib differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt-PT.lproj/MGMReportWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt-PT.lproj/MGMReportWindow.nib new file mode 100644 index 0000000..6297061 Binary files /dev/null and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt-PT.lproj/MGMReportWindow.nib differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt_PT.lproj/GeckoReporter.strings b/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt_PT.lproj/GeckoReporter.strings deleted file mode 100644 index 020a4c2..0000000 Binary files a/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt_PT.lproj/GeckoReporter.strings and /dev/null differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt_PT.lproj/MGMBugWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt_PT.lproj/MGMBugWindow.nib deleted file mode 100644 index 977ac1a..0000000 Binary files a/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt_PT.lproj/MGMBugWindow.nib and /dev/null differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt_PT.lproj/MGMContactWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt_PT.lproj/MGMContactWindow.nib deleted file mode 100644 index b66c413..0000000 Binary files a/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt_PT.lproj/MGMContactWindow.nib and /dev/null differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt_PT.lproj/MGMReportWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt_PT.lproj/MGMReportWindow.nib deleted file mode 100644 index 7a36a10..0000000 Binary files a/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt_PT.lproj/MGMReportWindow.nib and /dev/null differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt_PT.lproj/MainMenu.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt_PT.lproj/MainMenu.nib deleted file mode 100644 index 49b1a7e..0000000 Binary files a/Frameworks/GeckoReporter.framework/Versions/A/Resources/pt_PT.lproj/MainMenu.nib and /dev/null differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/sv.lproj/GeckoReporter.strings b/Frameworks/GeckoReporter.framework/Versions/A/Resources/sv.lproj/GeckoReporter.strings new file mode 100644 index 0000000..f2f63b4 Binary files /dev/null and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/sv.lproj/GeckoReporter.strings differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/sv.lproj/MGMBugWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/sv.lproj/MGMBugWindow.nib new file mode 100644 index 0000000..bfe0da2 Binary files /dev/null and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/sv.lproj/MGMBugWindow.nib differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/sv.lproj/MGMContactWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/sv.lproj/MGMContactWindow.nib new file mode 100644 index 0000000..7cfc1eb Binary files /dev/null and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/sv.lproj/MGMContactWindow.nib differ diff --git a/Frameworks/GeckoReporter.framework/Versions/A/Resources/sv.lproj/MGMReportWindow.nib b/Frameworks/GeckoReporter.framework/Versions/A/Resources/sv.lproj/MGMReportWindow.nib new file mode 100644 index 0000000..1e1bbca Binary files /dev/null and b/Frameworks/GeckoReporter.framework/Versions/A/Resources/sv.lproj/MGMReportWindow.nib differ diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMTaskManager.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMTaskManager.h index 4cd6159..3b09ea0 100644 --- a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMTaskManager.h +++ b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMTaskManager.h @@ -51,4 +51,4 @@ extern NSString * const MGMVMSExt; - (void)application:(NSApplication *)sender openFiles:(NSArray *)files; - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender; -@end +@end \ No newline at end of file diff --git a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMUser.h b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMUser.h index 01fb940..225b261 100644 --- a/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMUser.h +++ b/Frameworks/MGMUsers.framework/Versions/A/Headers/MGMUser.h @@ -17,6 +17,7 @@ extern NSString * const MGMUserDoneNotification; extern NSString * const MGMUserUpdatedNotification; extern NSString * const MGMUserID; extern NSString * const MGMUserName; +extern NSString * const MGMUserPassword; @class MGMUser, MGMKeychainItem, MGMHTTPCookieStorage; diff --git a/Frameworks/MGMUsers.framework/Versions/A/MGMUsers b/Frameworks/MGMUsers.framework/Versions/A/MGMUsers index 6588d6f..d0d0e3c 100755 Binary files a/Frameworks/MGMUsers.framework/Versions/A/MGMUsers and b/Frameworks/MGMUsers.framework/Versions/A/MGMUsers differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/NSBundle+SUAdditions.h b/Frameworks/Sparkle.framework/Versions/A/Headers/NSBundle+SUAdditions.h deleted file mode 100644 index ed2475c..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/NSBundle+SUAdditions.h +++ /dev/null @@ -1,59 +0,0 @@ -// -// NSBundle+SUAdditions.h -// Sparkle -// -// Created by Andy Matuschak on 12/21/07. -// Copyright 2007 Andy Matuschak. All rights reserved. -// - -#ifndef NSBUNDLE_PLUS_ADDITIONS_H -#define NSBUNDLE_PLUS_ADDITIONS_H - -#import - -@interface NSBundle (SUAdditions) -/*! - @method - @abstract Returns a name for the bundle suitable for display to the user. - @discussion This is performed by asking NSFileManager for the display name of the bundle. -*/ -- (NSString *)name; - -/*! - @method - @abstract Returns the current internal version of the bundle. - @discussion This uses the CFBundleVersion info value. This string is not appropriate for display to users: use -displayVersion instead. -*/ -- (NSString *)version; - -/*! - @method - @abstract Returns the bundle's version, suitable for display to the user. - @discussion If the CFBundleShortVersionString is available and different from the CFBundleVersion, this looks like CFBundleShortVersionString (CFBundleVersion). If the version strings are the same or CFBundleShortVersionString is not defined, this is equivalent to -version. -*/ -- (NSString *)displayVersion; - -/*! - @method - @abstract Returns a suitable icon for this bundle. - @discussion Uses the CFBundleIconFile icon if defined; otherwise, uses the default application icon. -*/ -- (NSImage *)icon; - -/*! - @method - @abstract Returns whether the application is running from a disk image. -*/ -- (BOOL)isRunningFromDiskImage; - -/*! - @method - @abstract Returns a profile of the users system useful for statistical purposes. - @discussion Returns an array of dictionaries; each dictionary represents a piece of data and has keys "key", "visibleKey", "value", and "visibleValue". -*/ -- (NSArray *)systemProfile; - -- (NSString *)publicDSAKey; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/NSFileManager+Aliases.h b/Frameworks/Sparkle.framework/Versions/A/Headers/NSFileManager+Aliases.h deleted file mode 100644 index 673b12b..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/NSFileManager+Aliases.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// NSFileManager+Aliases.h -// Sparkle -// -// Created by Andy Matuschak on 2/4/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#ifndef NSFILEMANAGER_PLUS_ALIASES_H -#define NSFILEMANAGER_PLUS_ALIASES_H - -#import - -@interface NSFileManager (SUAliases) -- (BOOL)isAliasFolderAtPath:(NSString *)path; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/NSFileManager+Authentication.h b/Frameworks/Sparkle.framework/Versions/A/Headers/NSFileManager+Authentication.h deleted file mode 100644 index 80b91a9..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/NSFileManager+Authentication.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// NSFileManager+Authentication.m -// Sparkle -// -// Created by Andy Matuschak on 3/9/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#ifndef NSFILEMANAGER_PLUS_AUTHENTICATION_H -#define NSFILEMANAGER_PLUS_AUTHENTICATION_H - -@interface NSFileManager (SUAuthenticationAdditions) -- (BOOL)copyPathWithAuthentication:(NSString *)src overPath:(NSString *)dst error:(NSError **)error; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/NSFileManager+ExtendedAttributes.h b/Frameworks/Sparkle.framework/Versions/A/Headers/NSFileManager+ExtendedAttributes.h deleted file mode 100644 index 6744ce0..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/NSFileManager+ExtendedAttributes.h +++ /dev/null @@ -1,53 +0,0 @@ -// -// NSFileManager+ExtendedAttributes.h -// Sparkle -// -// Created by Mark Mentovai on 2008-01-22. -// Copyright 2008 Mark Mentovai. All rights reserved. -// - -#ifndef NSFILEMANAGER_PLUS_EXTENDEDATTRIBUTES -#define NSFILEMANAGER_PLUS_EXTENDEDATTRIBUTES - -#import - -@interface NSFileManager (MMExtendedAttributes) - -// Wraps the removexattr system call, allowing an AppKit-style NSString* to -// be used for the pathname argument. Note that the order of the arguments -// has changed from what removexattr accepts, so that code reads more -// naturally. -// -// removexattr is only available on Mac OS X 10.4 ("Tiger") and later. If -// built with an SDK that includes removexattr, this method will link against -// removexattr directly. When using earlier SDKs, this method will dynamically -// look up the removexattr symbol at runtime. If the symbol is not present, -// as will be the case when running on 10.3, this method returns -1 and sets -// errno to ENOSYS. -- (int)removeXAttr:(const char*)name - fromFile:(NSString*)file - options:(int)options; - -// Removes the directory tree rooted at |root| from the file quarantine. -// The quarantine was introduced on Mac OS X 10.5 and is described at: -// -// http://developer.apple.com/releasenotes/Carbon/RN-LaunchServices/index.html -//#apple_ref/doc/uid/TP40001369-DontLinkElementID_2 -// -// If |root| is not a directory, then it alone is removed from the quarantine. -// Symbolic links, including |root| if it is a symbolic link, will not be -// traversed. -// -// Ordinarily, the quarantine is managed by calling LSSetItemAttribute -// to set the kLSItemQuarantineProperties attribute to a dictionary specifying -// the quarantine properties to be applied. However, it does not appear to be -// possible to remove an item from the quarantine directly through any public -// Launch Services calls. Instead, this method takes advantage of the fact -// that the quarantine is implemented in part by setting an extended attribute, -// "com.apple.quarantine", on affected files. Removing this attribute is -// sufficient to remove files from the quarantine. -- (void)releaseFromQuarantine:(NSString*)root; - -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/NSFileManager+Verification.h b/Frameworks/Sparkle.framework/Versions/A/Headers/NSFileManager+Verification.h deleted file mode 100644 index 9a97eac..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/NSFileManager+Verification.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// NSFileManager+Verification.h -// Sparkle -// -// Created by Andy Matuschak on 3/16/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#ifndef NSFILEMANAGER_PLUS_VERIFICATION_H -#define NSFILEMANAGER_PLUS_VERIFICATION_H - -// For the paranoid folks! -@interface NSFileManager (SUVerification) -- (BOOL)validatePath:(NSString *)path withEncodedDSASignature:(NSString *)encodedSignature withPublicDSAKey:(NSString *)pkeyString; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/NSNumber+Units.h b/Frameworks/Sparkle.framework/Versions/A/Headers/NSNumber+Units.h deleted file mode 100644 index f85b536..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/NSNumber+Units.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// NSNumber+Units.h -// Sparkle -// -// Created by Jonas Witt on 5/18/08. -// Copyright 2008 __MyCompanyName__. All rights reserved. -// - -#import - - -@interface NSNumber (JWUnits) - -+ (NSString *)humanReadableSizeFromDouble:(double)value; - -@end diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/NSWorkspace+SystemVersion.h b/Frameworks/Sparkle.framework/Versions/A/Headers/NSWorkspace+SystemVersion.h deleted file mode 100644 index 52e81af..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/NSWorkspace+SystemVersion.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// NSWorkspace+SystemVersion.h -// Sparkle -// -// Created by Andy Matuschak on 5/7/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#ifndef NSWORKSPACE_PLUS_SYSTEMVERSION_H -#define NSWORKSPACE_PLUS_SYSTEMVERSION_H - -#import - -@interface NSWorkspace (SUSystemVersion) -+ (NSString *)systemVersionString; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/NSWorkspace_RBAdditions.h b/Frameworks/Sparkle.framework/Versions/A/Headers/NSWorkspace_RBAdditions.h deleted file mode 100644 index bd50fb1..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/NSWorkspace_RBAdditions.h +++ /dev/null @@ -1,41 +0,0 @@ -// -// NSWorkspace_RBAdditions.h -// PathProps -// -// Created by Rainer Brockerhoff on 10/04/2007. -// Copyright 2007 Rainer Brockerhoff. All rights reserved. -// - -#ifndef NSWORKSPACE_RBADDITIONS_H -#define NSWORKSPACE_RBADDITIONS_H - - -extern NSString* NSWorkspace_RBfstypename; -extern NSString* NSWorkspace_RBmntonname; -extern NSString* NSWorkspace_RBmntfromname; -extern NSString* NSWorkspace_RBdeviceinfo; -extern NSString* NSWorkspace_RBimagefilepath; -extern NSString* NSWorkspace_RBconnectiontype; -extern NSString* NSWorkspace_RBpartitionscheme; -extern NSString* NSWorkspace_RBserverURL; - -@interface NSWorkspace (NSWorkspace_RBAdditions) - -// This method will return nil if the input path is invalid. Otherwise, the returned NSDictionary may contain -// the following keys: -//- NSWorkspace_RBfstypename: will always be present.Shows the filesystem type (usually "hfs"), from statfs. -//- NSWorkspace_RBmntonname: will always be present. Shows the volume mount point. -//- NSWorkspace_RBmntfromname: will always be present. Shows the BSD device path for local volumes; info for -// remote volumes depends on the filesystem type. -//- NSWorkspace_RBconnectiontype: should always be present for local volumes. Shows the connection type ("SATA", "USB", etc.). -//- NSWorkspace_RBpartitionscheme: should always be present for local volumes. Shows the partition scheme. -//- NSWorkspace_RBdeviceinfo: should always be present for local volumes. Shows some information about the -// physical device; varies widely. -//- NSWorkspace_RBimagefilepath: should be present for disk images only. Shows the path of the disk image file. -//- NSWorkspace_RBserverURL: should be present for remote volumes only. Shows the server URL. - -- (NSDictionary*)propertiesForPath:(NSString*)path; - -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/NTSynchronousTask.h b/Frameworks/Sparkle.framework/Versions/A/Headers/NTSynchronousTask.h deleted file mode 100644 index 1cf5c04..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/NTSynchronousTask.h +++ /dev/null @@ -1,29 +0,0 @@ -// -// NTSynchronousTask.h -// CocoatechCore -// -// Created by Steve Gehrman on 9/29/05. -// Copyright 2005 Steve Gehrman. All rights reserved. -// - -#ifndef NTSYNCHRONOUSTASK_H -#define NTSYNCHRONOUSTASK_H - -@interface NTSynchronousTask : NSObject -{ - NSTask *mv_task; - NSPipe *mv_outputPipe; - NSPipe *mv_inputPipe; - - NSData* mv_output; - BOOL mv_done; - int mv_result; -} - -// pass nil for directory if not needed -// returns the result -+ (NSData*)task:(NSString*)toolPath directory:(NSString*)currentDirectory withArgs:(NSArray*)args input:(NSData*)input; - -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcast.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcast.h index 57874c0..5a60d2f 100644 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcast.h +++ b/Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcast.h @@ -9,12 +9,15 @@ #ifndef SUAPPCAST_H #define SUAPPCAST_H -@class RSS, SUAppcastItem; -@interface SUAppcast : NSObject { +@class SUAppcastItem; +@interface SUAppcast : NSObject +{ +@private NSArray *items; NSString *userAgentString; id delegate; - NSMutableData *incrementalData; + NSString *downloadFilename; + NSURLDownload *download; } - (void)fetchAppcastFromURL:(NSURL *)url; diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h index d0c0523..536c776 100644 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h +++ b/Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h @@ -9,11 +9,12 @@ #ifndef SUAPPCASTITEM_H #define SUAPPCASTITEM_H - -@interface SUAppcastItem : NSObject { +@interface SUAppcastItem : NSObject +{ +@private NSString *title; NSDate *date; - NSString *description; + NSString *itemDescription; NSURL *releaseNotesURL; @@ -23,22 +24,27 @@ NSURL *fileURL; NSString *versionString; NSString *displayVersionString; - + + NSDictionary *deltaUpdates; + NSDictionary *propertiesDictionary; } // Initializes with data from a dictionary provided by the RSS class. - initWithDictionary:(NSDictionary *)dict; +- initWithDictionary:(NSDictionary *)dict failureReason:(NSString**)error; - (NSString *)title; - (NSString *)versionString; - (NSString *)displayVersionString; - (NSDate *)date; -- (NSString *)description; +- (NSString *)itemDescription; - (NSURL *)releaseNotesURL; - (NSURL *)fileURL; - (NSString *)DSASignature; - (NSString *)minimumSystemVersion; +- (NSDictionary *)deltaUpdates; +- (BOOL)isDeltaUpdate; // Returns the dictionary provided in initWithDictionary; this might be useful later for extensions. - (NSDictionary *)propertiesDictionary; diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUAutomaticUpdateAlert.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUAutomaticUpdateAlert.h deleted file mode 100644 index 76fb35f..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUAutomaticUpdateAlert.h +++ /dev/null @@ -1,39 +0,0 @@ -// -// SUAutomaticUpdateAlert.h -// Sparkle -// -// Created by Andy Matuschak on 3/18/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#ifndef SUAUTOMATICUPDATEALERT_H -#define SUAUTOMATICUPDATEALERT_H - -#import "SUWindowController.h" - -typedef enum -{ - SUInstallNowChoice, - SUInstallLaterChoice, - SUDoNotInstallChoice -} SUAutomaticInstallationChoice; - -@class SUAppcastItem; -@interface SUAutomaticUpdateAlert : SUWindowController { - SUAppcastItem *updateItem; - id delegate; - NSBundle *hostBundle; -} - -- (id)initWithAppcastItem:(SUAppcastItem *)item hostBundle:(NSBundle *)hostBundle delegate:delegate; -- (IBAction)installNow:sender; -- (IBAction)installLater:sender; -- (IBAction)doNotInstall:sender; - -@end - -@interface NSObject (SUAutomaticUpdateAlertDelegateProtocol) -- (void)automaticUpdateAlert:(SUAutomaticUpdateAlert *)aua finishedWithChoice:(SUAutomaticInstallationChoice)choice; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUAutomaticUpdateDriver.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUAutomaticUpdateDriver.h deleted file mode 100644 index f63c194..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUAutomaticUpdateDriver.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// SUAutomaticUpdateDriver.h -// Sparkle -// -// Created by Andy Matuschak on 5/6/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#ifndef SUAUTOMATICUPDATEDRIVER_H -#define SUAUTOMATICUPDATEDRIVER_H - -#import -#import "SUBasicUpdateDriver.h" - -@class SUAutomaticUpdateAlert; -@interface SUAutomaticUpdateDriver : SUBasicUpdateDriver { - BOOL postponingInstallation, showErrors; - SUAutomaticUpdateAlert *alert; -} - -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUBasicUpdateDriver.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUBasicUpdateDriver.h deleted file mode 100644 index ddafed6..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUBasicUpdateDriver.h +++ /dev/null @@ -1,59 +0,0 @@ -// -// SUBasicUpdateDriver.h -// Sparkle, -// -// Created by Andy Matuschak on 4/23/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#ifndef SUBASICUPDATEDRIVER_H -#define SUBASICUPDATEDRIVER_H - -#import -#import "SUUpdateDriver.h" - -@class SUAppcastItem, SUUnarchiver, SUAppcast, SUUnarchiver; -@interface SUBasicUpdateDriver : SUUpdateDriver { - NSBundle *hostBundle; - SUAppcastItem *updateItem; - - NSURLDownload *download; - NSString *downloadPath; - - NSString *relaunchPath; -} - -- (void)checkForUpdatesAtURL:(NSURL *)appcastURL hostBundle:(NSBundle *)hb; - -- (void)appcastDidFinishLoading:(SUAppcast *)ac; -- (void)appcast:(SUAppcast *)ac failedToLoadWithError:(NSError *)error; - -- (BOOL)isItemNewer:(SUAppcastItem *)ui; -- (BOOL)hostSupportsItem:(SUAppcastItem *)ui; -- (BOOL)itemContainsSkippedVersion:(SUAppcastItem *)ui; -- (BOOL)itemContainsValidUpdate:(SUAppcastItem *)ui; -- (void)didFindValidUpdate; -- (void)didNotFindUpdate; - -- (void)downloadUpdate; -- (void)download:(NSURLDownload *)d decideDestinationWithSuggestedFilename:(NSString *)name; -- (void)downloadDidFinish:(NSURLDownload *)d; -- (void)download:(NSURLDownload *)download didFailWithError:(NSError *)error; - -- (void)extractUpdate; -- (void)unarchiverDidFinish:(SUUnarchiver *)ua; -- (void)unarchiverDidFail:(SUUnarchiver *)ua; - -- (void)installUpdate; -- (void)installerFinishedForHostBundle:(NSBundle *)hb; -- (void)installerForHostBundle:(NSBundle *)hb failedWithError:(NSError *)error; - -- (void)relaunchHostApp; -- (void)cleanUp; - -- (void)abortUpdate; -- (void)abortUpdateWithError:(NSError *)error; - -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUConstants.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUConstants.h deleted file mode 100644 index c0c427a..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUConstants.h +++ /dev/null @@ -1,72 +0,0 @@ -// -// SUConstants.h -// Sparkle -// -// Created by Andy Matuschak on 3/16/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - - -#ifndef SUCONSTANTS_H -#define SUCONSTANTS_H - - -extern NSString *SUUpdaterWillRestartNotification; -extern NSString *SUTechnicalErrorInformationKey; - -extern NSString *SUFeedURLKey; -extern NSString *SUHasLaunchedBeforeKey; -extern NSString *SUShowReleaseNotesKey; -extern NSString *SUSkippedVersionKey; -extern NSString *SUScheduledCheckIntervalKey; -extern NSString *SULastCheckTimeKey; -extern NSString *SUExpectsDSASignatureKey; -extern NSString *SUPublicDSAKeyKey; -extern NSString *SUPublicDSAKeyFileKey; -extern NSString *SUAutomaticallyUpdateKey; -extern NSString *SUAllowsAutomaticUpdatesKey; -extern NSString *SUEnableAutomaticChecksKey; -extern NSString *SUEnableAutomaticChecksKeyOld; -extern NSString *SUEnableSystemProfilingKey; -extern NSString *SUSendProfileInfoKey; - -extern NSString *SUSparkleErrorDomain; -// Appcast phase errors. -extern OSStatus SUAppcastParseError; -extern OSStatus SUNoUpdateError; -extern OSStatus SUAppcastError; -extern OSStatus SURunningFromDiskImageError; - -// Downlaod phase errors. -extern OSStatus SUTemporaryDirectoryError; - -// Extraction phase errors. -extern OSStatus SUUnarchivingError; -extern OSStatus SUSignatureError; - -// Installation phase errors. -extern OSStatus SUFileCopyFailure; -extern OSStatus SUAuthenticationFailure; -extern OSStatus SUMissingUpdateError; -extern OSStatus SUMissingInstallerToolError; -extern OSStatus SURelaunchError; -extern OSStatus SUInstallationError; - -// NSInteger is a type that was added to Leopard. -// Here is some glue to ensure that NSInteger will work with pre-10.5 SDKs: -#ifndef NSINTEGER_DEFINED - #ifdef NS_BUILD_32_LIKE_64 - typedef long NSInteger; - typedef unsigned long NSUInteger; - #else - typedef int NSInteger; - typedef unsigned int NSUInteger; - #endif - #define NSIntegerMax LONG_MAX - #define NSIntegerMin LONG_MIN - #define NSUIntegerMax ULONG_MAX - #define NSINTEGER_DEFINED 1 -#endif - - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUDiskImageUnarchiver.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUDiskImageUnarchiver.h deleted file mode 100644 index 44c7150..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUDiskImageUnarchiver.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// SUDiskImageUnarchiver.h -// Sparkle -// -// Created by Andy Matuschak on 6/16/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#ifndef SUDISKIMAGEUNARCHIVER_H -#define SUDISKIMAGEUNARCHIVER_H - -#import -#import "SUUnarchiver.h" - -@interface SUDiskImageUnarchiver : SUUnarchiver { -} - -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUInstaller.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUInstaller.h deleted file mode 100644 index 08bfc97..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUInstaller.h +++ /dev/null @@ -1,24 +0,0 @@ -// -// SUInstaller.h -// Sparkle -// -// Created by Andy Matuschak on 4/10/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#ifndef SUINSTALLER_H -#define SUINSTALLER_H - -#import - -@interface SUInstaller : NSObject { } -+ (void)installFromUpdateFolder:(NSString *)updateFolder overHostBundle:(NSBundle *)hostBundle delegate:delegate synchronously:(BOOL)synchronously; -+ (void)_finishInstallationWithResult:(BOOL)result hostBundle:(NSBundle *)hostBundle error:(NSError *)error delegate:delegate; -@end - -@interface NSObject (SUInstallerDelegateInformalProtocol) -- (void)installerFinishedForHostBundle:(NSBundle *)hostBundle; -- (void)installerForHostBundle:(NSBundle *)hostBundle failedWithError:(NSError *)error; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUPackageInstaller.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUPackageInstaller.h deleted file mode 100644 index 94bb3ad..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUPackageInstaller.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// SUPackageInstaller.h -// Sparkle -// -// Created by Andy Matuschak on 4/10/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#ifndef SUPACKAGEINSTALLER_H -#define SUPACKAGEINSTALLER_H - -#import "Sparkle.h" -#import "SUPlainInstaller.h" - -@interface SUPackageInstaller : SUPlainInstaller { } -+ (void)installPath:(NSString *)path overHostBundle:(NSBundle *)bundle delegate:delegate; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUPipedUnarchiver.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUPipedUnarchiver.h deleted file mode 100644 index b13a0b3..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUPipedUnarchiver.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// SUPipedUnarchiver.h -// Sparkle -// -// Created by Andy Matuschak on 6/16/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#ifndef SUPIPEDUNARCHIVER_H -#define SUPIPEDUNARCHIVER_H - -#import -#import "SUUnarchiver.h" - -@interface SUPipedUnarchiver : SUUnarchiver { - -} - -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUPlainInstaller.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUPlainInstaller.h deleted file mode 100644 index 075ffe6..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUPlainInstaller.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// SUPlainInstaller.h -// Sparkle -// -// Created by Andy Matuschak on 4/10/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#ifndef SUPLAININSTALLER_H -#define SUPLAININSTALLER_H - -#import "Sparkle.h" - -@interface SUPlainInstaller : SUInstaller { } -+ (void)performInstallationWithPath:(NSString *)path hostBundle:(NSBundle *)hostBundle delegate:delegate synchronously:(BOOL)synchronously; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUProbingUpdateDriver.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUProbingUpdateDriver.h deleted file mode 100644 index e2165f4..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUProbingUpdateDriver.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// SUProbingUpdateDriver.h -// Sparkle -// -// Created by Andy Matuschak on 5/7/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#ifndef SUPROBINGUPDATEDRIVER_H -#define SUPROBINGUPDATEDRIVER_H - -#import -#import "SUBasicUpdateDriver.h" - -// This replaces the old SUStatusChecker. -@interface SUProbingUpdateDriver : SUBasicUpdateDriver { } -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUScheduledUpdateDriver.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUScheduledUpdateDriver.h deleted file mode 100644 index 892a6a7..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUScheduledUpdateDriver.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// SUScheduledUpdateDriver.h -// Sparkle -// -// Created by Andy Matuschak on 5/6/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#ifndef SUSCHEDULEDUPDATEDRIVER_H -#define SUSCHEDULEDUPDATEDRIVER_H - -#import -#import "SUUIBasedUpdateDriver.h" - -@interface SUScheduledUpdateDriver : SUUIBasedUpdateDriver { - BOOL showErrors; -} - -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUStandardVersionComparator.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUStandardVersionComparator.h deleted file mode 100644 index 0bc1570..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUStandardVersionComparator.h +++ /dev/null @@ -1,36 +0,0 @@ -// -// SUStandardVersionComparator.h -// Sparkle -// -// Created by Andy Matuschak on 12/21/07. -// Copyright 2007 Andy Matuschak. All rights reserved. -// - -#ifndef SUSTANDARDVERSIONCOMPARATOR_H -#define SUSTANDARDVERSIONCOMPARATOR_H - - -#import "SUVersionComparisonProtocol.h" - -/*! - @class - @abstract Sparkle's default version comparator. - @discussion This comparator is adapted from MacPAD, by Kevin Ballard. It's "dumb" in that it does essentially string comparison, in components split by character type. -*/ -@interface SUStandardVersionComparator : NSObject { } - -/*! - @method - @abstract Returns a singleton instance of the comparator. -*/ -+ (SUStandardVersionComparator *)defaultComparator; - -/*! - @method - @abstract Compares version strings through textual analysis. - @discussion See the implementation for more details. -*/ -- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUStatusController.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUStatusController.h deleted file mode 100644 index e56dc8e..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUStatusController.h +++ /dev/null @@ -1,41 +0,0 @@ -// -// SUStatusController.h -// Sparkle -// -// Created by Andy Matuschak on 3/14/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#ifndef SUSTATUSCONTROLLER_H -#define SUSTATUSCONTROLLER_H - -#import "SUWindowController.h" - -@interface SUStatusController : SUWindowController { - double progressValue, maxProgressValue; - NSString *title, *statusText, *buttonTitle; - IBOutlet NSButton *actionButton; - IBOutlet NSProgressIndicator* progressBar; - NSBundle *hostBundle; -} - -- (id)initWithHostBundle:(NSBundle *)hostBundle; - -// Pass 0 for the max progress value to get an indeterminate progress bar. -// Pass nil for the status text to not show it. -- (void)beginActionWithTitle:(NSString *)title maxProgressValue:(double)maxProgressValue statusText:(NSString *)statusText; - -// If isDefault is YES, the button's key equivalent will be \r. -- (void)setButtonTitle:(NSString *)buttonTitle target:target action:(SEL)action isDefault:(BOOL)isDefault; -- (void)setButtonEnabled:(BOOL)enabled; - -- (double)progressValue; -- (void)setProgressValue:(double)value; -- (double)maxProgressValue; -- (void)setMaxProgressValue:(double)value; - -- (void)setStatusText:(NSString *)statusText; - -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUSystemProfiler.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUSystemProfiler.h deleted file mode 100644 index 8ce9f54..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUSystemProfiler.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// SUSystemProfiler.h -// Sparkle -// -// Created by Andy Matuschak on 12/22/07. -// Copyright 2007 Andy Matuschak. All rights reserved. -// - -#ifndef SUSYSTEMPROFILER_H -#define SUSYSTEMPROFILER_H - -@interface SUSystemProfiler : NSObject {} -+ (SUSystemProfiler *)sharedSystemProfiler; -- (NSMutableArray *)systemProfileArrayForHostBundle:(NSBundle *)hostBundle; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUIBasedUpdateDriver.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUUIBasedUpdateDriver.h deleted file mode 100644 index d345980..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUIBasedUpdateDriver.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// SUUIBasedUpdateDriver.h -// Sparkle -// -// Created by Andy Matuschak on 5/5/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#ifndef SUUIBASEDUPDATEDRIVER_H -#define SUUIBASEDUPDATEDRIVER_H - -#import -#import "SUBasicUpdateDriver.h" - -@class SUStatusController, SUUpdateAlert; -@interface SUUIBasedUpdateDriver : SUBasicUpdateDriver { - SUStatusController *statusController; - SUUpdateAlert *updateAlert; -} - -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUnarchiver.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUUnarchiver.h deleted file mode 100644 index 8b1325c..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUnarchiver.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// SUUnarchiver.h -// Sparkle -// -// Created by Andy Matuschak on 3/16/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#ifndef SUUNARCHIVER_H -#define SUUNARCHIVER_H - -@interface SUUnarchiver : NSObject { - id delegate; - NSURL *archiveURL; -} - -+ (SUUnarchiver *)unarchiverForURL:(NSURL *)URL; -- (void)setDelegate:delegate; - -- (void)start; - -@end - -@interface NSObject (SUUnarchiverDelegate) -- (void)unarchiver:(SUUnarchiver *)unarchiver extractedLength:(long)length; -- (void)unarchiverDidFinish:(SUUnarchiver *)unarchiver; -- (void)unarchiverDidFail:(SUUnarchiver *)unarchiver; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUnarchiver_Private.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUUnarchiver_Private.h deleted file mode 100644 index bae20e5..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUnarchiver_Private.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// SUUnarchiver_Private.h -// Sparkle -// -// Created by Andy Matuschak on 6/17/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#ifndef SUUNARCHIVER_PRIVATE_H -#define SUUNARCHIVER_PRIVATE_H - -#import -#import "SUUnarchiver.h" - -@interface SUUnarchiver (Private) -+ (void)_registerImplementation:(Class)implementation; -+ (NSArray *)_unarchiverImplementations; -+ (BOOL)_canUnarchiveURL:(NSURL *)URL; -- _initWithURL:(NSURL *)URL; - -- (void)_notifyDelegateOfExtractedLength:(long)length; -- (void)_notifyDelegateOfSuccess; -- (void)_notifyDelegateOfFailure; -@end - -@interface NSURL (SUTypeDetection) -- (BOOL)conformsToType:(NSString *)type; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdateAlert.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdateAlert.h deleted file mode 100644 index a0288ab..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdateAlert.h +++ /dev/null @@ -1,46 +0,0 @@ -// -// SUUpdateAlert.h -// Sparkle -// -// Created by Andy Matuschak on 3/12/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#ifndef SUUPDATEALERT_H -#define SUUPDATEALERT_H - -#import "SUWindowController.h" - -typedef enum -{ - SUInstallUpdateChoice, - SURemindMeLaterChoice, - SUSkipThisVersionChoice -} SUUpdateAlertChoice; - -@class WebView, SUAppcastItem; -@interface SUUpdateAlert : SUWindowController { - SUAppcastItem *updateItem; - NSBundle *hostBundle; - id delegate; - - IBOutlet WebView *releaseNotesView; - IBOutlet NSTextField *description; - NSProgressIndicator *releaseNotesSpinner; - BOOL webViewFinishedLoading; -} - -- (id)initWithAppcastItem:(SUAppcastItem *)item hostBundle:(NSBundle *)hostBundle; -- (void)setDelegate:delegate; - -- (IBAction)installUpdate:sender; -- (IBAction)skipThisVersion:sender; -- (IBAction)remindMeLater:sender; - -@end - -@interface NSObject (SUUpdateAlertDelegate) -- (void)updateAlert:(SUUpdateAlert *)updateAlert finishedWithChoice:(SUUpdateAlertChoice)updateChoice; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdateDriver.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdateDriver.h deleted file mode 100644 index face46e..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdateDriver.h +++ /dev/null @@ -1,29 +0,0 @@ -// -// SUUpdateDriver.h -// Sparkle -// -// Created by Andy Matuschak on 5/7/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#ifndef SUUPDATEDRIVER_H -#define SUUPDATEDRIVER_H - -#import - -extern NSString *SUUpdateDriverFinishedNotification; - -@interface SUUpdateDriver : NSObject -{ - BOOL finished; - id delegate; -} -- (void)checkForUpdatesAtURL:(NSURL *)appcastURL hostBundle:(NSBundle *)hb; -- (void)abortUpdate; -- (BOOL)finished; - -- delegate; -- (void)setDelegate:delegate; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdatePermissionPrompt.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdatePermissionPrompt.h deleted file mode 100644 index 24959da..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdatePermissionPrompt.h +++ /dev/null @@ -1,36 +0,0 @@ -// -// SUUpdatePermissionPrompt.h -// Sparkle -// -// Created by Andy Matuschak on 1/24/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#ifndef SUUPDATEPERMISSIONPROMPT_H -#define SUUPDATEPERMISSIONPROMPT_H - -#import "Sparkle.h" - -typedef enum { - SUAutomaticallyCheck, - SUDoNotAutomaticallyCheck -} SUPermissionPromptResult; - -@interface SUUpdatePermissionPrompt : SUWindowController { - NSBundle *hostBundle; - id delegate; - IBOutlet NSTextField *descriptionTextField; - IBOutlet NSView *moreInfoView; - IBOutlet NSButton *moreInfoButton; - BOOL isShowingMoreInfo, shouldSendProfile; -} -+ (void)promptWithHostBundle:(NSBundle *)hb delegate:(id)d; -- (IBAction)toggleMoreInfo:(id)sender; -- (IBAction)finishPrompt:(id)sender; -@end - -@interface NSObject (SUUpdatePermissionPromptDelegateInformalProtocol) -- (void)updatePermissionPromptFinishedWithResult:(SUPermissionPromptResult)result; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdater.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdater.h index 1d63353..6874871 100644 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdater.h +++ b/Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdater.h @@ -9,21 +9,46 @@ #ifndef SUUPDATER_H #define SUUPDATER_H -#import "SUUpdateAlert.h" -#import "SUVersionComparisonProtocol.h" +#import -@class SUUpdateDriver, SUAppcastItem, SUAppcast; -@interface SUUpdater : NSObject { +@class SUUpdateDriver, SUAppcastItem, SUHost, SUAppcast; +@interface SUUpdater : NSObject +{ +@private NSTimer *checkTimer; SUUpdateDriver *driver; - - NSBundle *hostBundle; + + NSString *customUserAgentString; + SUHost *host; IBOutlet id delegate; } + (SUUpdater *)sharedUpdater; ++ (SUUpdater *)updaterForBundle:(NSBundle *)bundle; +- initForBundle:(NSBundle *)bundle; + +- (NSBundle *)hostBundle; - (void)setDelegate:(id)delegate; +- delegate; + +- (void)setAutomaticallyChecksForUpdates:(BOOL)automaticallyChecks; +- (BOOL)automaticallyChecksForUpdates; + +- (void)setUpdateCheckInterval:(NSTimeInterval)interval; +- (NSTimeInterval)updateCheckInterval; + +- (void)setFeedURL:(NSURL *)feedURL; +- (NSURL *)feedURL; + +- (void)setUserAgentString:(NSString *)userAgent; +- (NSString *)userAgentString; + +- (void)setSendsSystemProfile:(BOOL)sendsSystemProfile; +- (BOOL)sendsSystemProfile; + +- (void)setAutomaticallyDownloadsUpdates:(BOOL)automaticallyDownloadsUpdates; +- (BOOL)automaticallyDownloadsUpdates; // This IBAction is meant for a main menu item. Hook up any menu item to this action, // and Sparkle will check for updates and report back its findings verbosely. @@ -34,56 +59,54 @@ // update is found, it will be downloaded and prepped for installation. - (void)checkForUpdatesInBackground; -// This forces an update to begin with a particular driver (see SU*UpdateDriver.h) -- (void)checkForUpdatesWithDriver:(SUUpdateDriver *)driver; +// Date of last update check. Returns null if no check has been performed. +- (NSDate*)lastUpdateCheckDate; -// For non-.app updates: -// Call this when your bundle is loaded to tell Sparkle what to update. -- (void)setHostBundle:(NSBundle *)hostBundle; +// This begins a "probing" check for updates which will not actually offer to update to that version. The delegate methods, though, +// (up to updater:didFindValidUpdate: and updaterDidNotFindUpdate:), are called, so you can use that information in your UI. +- (void)checkForUpdateInformation; -// Call this to appropriately reschedule or cancel the update checking timer if preferences for time interval or automatic checks change. -// If you're using a .app, this'll be picked up automatically via NSUserDefaultsController, but for non-.apps, there's no way to observe changes. -- (void)updatePreferencesChanged; +// Call this to appropriately schedule or cancel the update checking timer according to the preferences for time interval and automatic checks. This call does not change the date of the next check, but only the internal NSTimer. +- (void)resetUpdateCycle; - (BOOL)updateInProgress; @end @interface NSObject (SUUpdaterDelegateInformalProtocol) -// This method allows you to add extra parameters to the appcast URL, potentially based on whether or not -// Sparkle will also be sending along the system profile. This method should return an array of dictionaries with the following keys: -- (NSArray *)feedParametersForHostBundle:(NSBundle *)bundle sendingSystemProfile:(BOOL)sendingProfile; +// This method allows you to add extra parameters to the appcast URL, potentially based on whether or not Sparkle will also be sending along the system profile. This method should return an array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user. +- (NSArray *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile; // Use this to override the default behavior for Sparkle prompting the user about automatic update checks. -- (BOOL)shouldPromptForPermissionToCheckForUpdatesToHostBundle:(NSBundle *)bundle; +- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)bundle; // Implement this if you want to do some special handling with the appcast once it finishes loading. -- (void)appcastDidFinishLoading:(SUAppcast *)appcast forHostBundle:(NSBundle *)bundle; +- (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast; // If you're using special logic or extensions in your appcast, implement this to use your own logic for finding // a valid update, if any, in the given appcast. -- (SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forHostBundle:(NSBundle *)bundle; +- (SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)bundle; // Sent when a valid update is found by the update driver. -- (void)didFindValidUpdate:(SUAppcastItem *)update toHostBundle:(NSBundle *)bundle; +- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)update; // Sent when a valid update is not found. -- (void)didNotFindUpdateToHostBundle:(NSBundle *)hb; - -// Sent when the user makes a choice in the update alert dialog (install now / remind me later / skip this version). -- (void)userChoseAction:(SUUpdateAlertChoice)action forUpdate:(SUAppcastItem *)update toHostBundle:(NSBundle *)bundle; +- (void)updaterDidNotFindUpdate:(SUUpdater *)update; // Sent immediately before installing the specified update. -- (void)updateWillInstall:(SUAppcastItem *)update toHostBundle:(NSBundle *)bundle; +- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)update; // Return YES to delay the relaunch until you do some processing; invoke the given NSInvocation to continue. -- (BOOL)shouldPostponeRelaunchForUpdate:(SUAppcastItem *)update toHostBundle:(NSBundle *)hostBundle untilInvoking:(NSInvocation *)invocation; +- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)update untilInvoking:(NSInvocation *)invocation; // Called immediately before relaunching. -- (void)updaterWillRelaunchApplication; +- (void)updaterWillRelaunchApplication:(SUUpdater *)updater; // This method allows you to provide a custom version comparator. // If you don't implement this method or return nil, the standard version comparator will be used. -- (id )versionComparatorForHostBundle:(NSBundle *)hb; +- (id )versionComparatorForUpdater:(SUUpdater *)updater; + +// Returns the path which is used to relaunch the client after the update is installed. By default, the path of the host bundle. +- (NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater; @end diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUserDefaults.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUUserDefaults.h deleted file mode 100644 index ba2eedb..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUserDefaults.h +++ /dev/null @@ -1,41 +0,0 @@ -// -// SUUserDefaults.h -// Sparkle -// -// Created by Andy Matuschak on 12/21/07. -// Copyright 2007 Andy Matuschak. All rights reserved. -// - -#ifndef SUUSERDEFAULTS_H -#define SUUSERDEFAULTS_H - -/*! - @class - @abstract A substitute for NSUserDefaults that will work with arbitrary bundle identifiers. - @discussion Make sure you call -setIdentifier: before using SUUserDefaults. The other methods in this class work just like those in NSUserDefaults. -*/ - -@interface SUUserDefaults : NSObject { - NSString *identifier; -} - -/*! - @method - @abstract Returns a singleton instance of the user defaults class. -*/ -+ (SUUserDefaults *)standardUserDefaults; - -/*! - @method - @abstract Sets which bundle identifier to use when setting and retrieving defaults. - @discussion It is imperative that you set the identifier through this method before trying to set or retrieve defaults. -*/ -- (void)setIdentifier:(NSString *)identifier; - -- (id)objectForKey:(NSString *)defaultName; -- (void)setObject:(id)value forKey:(NSString *)defaultName; -- (BOOL)boolForKey:(NSString *)defaultName; -- (void)setBool:(BOOL)value forKey:(NSString *)defaultName; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUserInitiatedUpdateDriver.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUUserInitiatedUpdateDriver.h deleted file mode 100644 index 9d9a304..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUserInitiatedUpdateDriver.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// SUUserInitiatedUpdateDriver.h -// Sparkle -// -// Created by Andy Matuschak on 5/30/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#ifndef SUUSERINITIATEDUPDATEDRIVER_H -#define SUUSERINITIATEDUPDATEDRIVER_H - -#import -#import "SUUIBasedUpdateDriver.h" - -@interface SUUserInitiatedUpdateDriver : SUUIBasedUpdateDriver { - SUStatusController *checkingController; - BOOL isCanceled; -} - -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUVersionComparisonTest.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUVersionComparisonTest.h deleted file mode 100644 index b263a8d..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUVersionComparisonTest.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// SUVersionComparisonTest.h -// Sparkle -// -// Created by Andy Matuschak on 4/15/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#import - - -@interface SUVersionComparisonTest : SenTestCase { - -} - -@end diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/SUWindowController.h b/Frameworks/Sparkle.framework/Versions/A/Headers/SUWindowController.h deleted file mode 100644 index 8b50a64..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUWindowController.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// SUWindowController.h -// Sparkle -// -// Created by Andy Matuschak on 2/13/08. -// Copyright 2008 Andy Matuschak. All rights reserved. -// - -#ifndef SUWINDOWCONTROLLER_H -#define SUWINDOWCONTROLLER_H - -#import - -@interface SUWindowController : NSWindowController { } -// We use this instead of plain old NSWindowController initWithWindowNibName so that we'll be able to find the right path when running in a bundle loaded from another app. -- (id)initWithHostBundle:(NSBundle *)hb windowNibName:(NSString *)nibName; -@end - -#endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Headers/Sparkle.h b/Frameworks/Sparkle.framework/Versions/A/Headers/Sparkle.h index db304b0..08dd577 100644 --- a/Frameworks/Sparkle.framework/Versions/A/Headers/Sparkle.h +++ b/Frameworks/Sparkle.framework/Versions/A/Headers/Sparkle.h @@ -6,55 +6,16 @@ // Copyright 2006 Andy Matuschak. All rights reserved. // -// -// Prefix header for all source files of the 'Sparkle' target in the 'Sparkle' project. -// - #ifndef SPARKLE_H #define SPARKLE_H -#define SULocalizedString(key,comment) NSLocalizedStringFromTableInBundle(key, @"Sparkle", [NSBundle bundleForClass:[self class]], comment) -#define SUAbstractFail() NSAssert2(nil, @"Can't call %@ on an instance of %@; this is an abstract method!", __PRETTY_FUNCTION__, [self class]); - -#ifdef __OBJC__ -#import -#import "SUConstants.h" -#endif - - // This list should include the shared headers. It doesn't matter if some of them aren't shared (unless // there are name-space collisions) so we can list all of them to start with: -#import "NSBundle+SUAdditions.h" -#import "NSFileManager+Aliases.h" -#import "NSFileManager+Authentication.h" -#import "NSFileManager+Verification.h" -#import "NSWorkspace_RBAdditions.h" -#import "NSWorkspace+SystemVersion.h" +#import -#import "NTSynchronousTask.h" - -#import "SUAppcast.h" -#import "SUAppcastItem.h" -#import "SUAutomaticUpdateAlert.h" -#import "SUAutomaticUpdateDriver.h" -#import "SUBasicUpdateDriver.h" -#import "SUConstants.h" -#import "SUInstaller.h" -#import "SUProbingUpdateDriver.h" -#import "SUScheduledUpdateDriver.h" -#import "SUStandardVersionComparator.h" -#import "SUStatusController.h" -#import "SUSystemProfiler.h" -#import "SUUIBasedUpdateDriver.h" -#import "SUUnarchiver.h" -#import "SUUpdateAlert.h" -#import "SUUpdateDriver.h" -#import "SUUpdater.h" -#import "SUUpdatePermissionPrompt.h" -#import "SUUserInitiatedUpdateDriver.h" -#import "SUUserDefaults.h" -#import "SUVersionComparisonProtocol.h" -#import "SUWindowController.h" +#import +#import +#import #endif diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/Info.plist b/Frameworks/Sparkle.framework/Versions/A/Resources/Info.plist index 326d05f..5f6642f 100644 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/Info.plist +++ b/Frameworks/Sparkle.framework/Versions/A/Resources/Info.plist @@ -15,10 +15,10 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.5 Beta 4 + 1.5 Beta (git) CFBundleSignature ???? CFBundleVersion - 1.5 + 7baf505 diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/License.txt b/Frameworks/Sparkle.framework/Versions/A/Resources/License.txt new file mode 100644 index 0000000..978193f --- /dev/null +++ b/Frameworks/Sparkle.framework/Versions/A/Resources/License.txt @@ -0,0 +1,153 @@ +Copyright (c) 2006 Andy Matuschak + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +================= +EXTERNAL LICENSES +================= + +This project uses software developed by the OpenSSL Project for use in the OpenSSL +Toolkit (http://www.openssl.org). This toolkit is licensed as follows: +/* ==================================================================== +* Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modiÞcation, are permitted provided that the following conditions +* are met: +* +* 1. Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* 2. Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* +* 3. All advertising materials mentioning features or use of this +* software must display the following acknowledgment: +* ÒThis product includes software developed by the OpenSSL Project +* for use in the OpenSSL Toolkit. (http://www.openssl.org/)Ó +* +* 4. The names ÒOpenSSL ToolkitÓ and ÒOpenSSL ProjectÓ must not be used to +* endorse or promote products derived from this software without +* prior written permission. For written permission, please contact +* openssl-core@openssl.org. +* +* 5. Products derived from this software may not be called ÒOpenSSLÓ +* nor may ÒOpenSSLÓ appear in their names without prior written +* permission of the OpenSSL Project. +* +* 6. Redistributions of any form whatsoever must retain the following + +* acknowledgment: +* ÒThis product includes software developed by the OpenSSL Project +* for use in the OpenSSL Toolkit (http://www.openssl.org/)Ó +* +* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS ISÕÕ AND ANY +* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +* OF THE POSSIBILITY OF SUCH DAMAGE. +* ==================================================================== +* +* This product includes cryptographic software written by Eric Young +* (eay@cryptsoft.com). This product includes software written by Tim +* Hudson (tjh@cryptsoft.com). +* +*/ + +Original SSLeay License +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +* All rights reserved. +* +* This package is an SSL implementation written +* by Eric Young (eay@cryptsoft.com). +* The implementation was written so as to conform with Netscapes SSL. +* +* This library is free for commercial and non-commercial use as long as +* the following conditions are aheared to. The following conditions +* apply to all code found in this distribution, be it the RC4, RSA, +* lhash, DES, etc., code; not just the SSL code. The SSL documentation +* included with this distribution is covered by the same copyright terms +* except that the holder is Tim Hudson (tjh@cryptsoft.com). +* +* Copyright remains Eric YoungÕs, and as such any Copyright notices in +* the code are not to be removed. +* If this package is used in a product, Eric Young should be given attribution +* as the author of the parts of the library used. +* This can be in the form of a textual message at program startup or +* in documentation (online or textual) provided with the package. +* +* Redistribution and use in source and binary forms, with or without +* modiÞcation, are permitted provided that the following conditions +* are met: +* 1. Redistributions of source code must retain the copyright +* notice, this list of conditions and the following disclaimer. +* 2. Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* 3. All advertising materials mentioning features or use of this software +* must display the following acknowledgement: +* ÒThis product includes cryptographic software written by +* Eric Young (eay@cryptsoft.com)Ó +* The word ÔcryptographicÕ can be left out if the rouines from the library +* being used are not cryptographic related :-). +* 4. If you include any Windows speciÞc code (or a derivative thereof) from +* the apps directory (application code) you must include an acknowledgement: +* ÒThis product includes software written by Tim Hudson (tjh@cryptsoft.com)Ó +* +* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS ISÕÕ AND +* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +* SUCH DAMAGE. +* +* The licence and distribution terms for any publically available version or +* derivative of this code cannot be changed. i.e. this code cannot simply be +* copied and put under another distribution licence +* [including the GNU Public Licence.] +*/ + +License for bspatch.c and bsdiff.c, from bsdiff 4.3 (: +/*- + * Copyright 2003-2005 Colin Percival + * All rights reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted providing that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib new file mode 100644 index 0000000..916fabc Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib/classes.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib/classes.nib deleted file mode 100644 index 22f13f8..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib/classes.nib +++ /dev/null @@ -1,56 +0,0 @@ - - - - - IBClasses - - - CLASS - SUWindowController - LANGUAGE - ObjC - SUPERCLASS - NSWindowController - - - CLASS - NSApplication - LANGUAGE - ObjC - SUPERCLASS - NSResponder - - - CLASS - FirstResponder - LANGUAGE - ObjC - SUPERCLASS - NSObject - - - CLASS - NSObject - LANGUAGE - ObjC - - - CLASS - SUStatusController - LANGUAGE - ObjC - OUTLETS - - actionButton - NSButton - progressBar - NSProgressIndicator - - SUPERCLASS - SUWindowController - - - IBVersion - 1 - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib deleted file mode 100644 index e4c1886..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib +++ /dev/null @@ -1,20 +0,0 @@ - - - - - IBFramework Version - 667 - IBLastKnownRelativeProjectPath - Sparkle.xcodeproj - IBOldestOS - 5 - IBOpenObjects - - 6 - - IBSystem Version - 9D34 - targetFramework - IBCocoaFramework - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib deleted file mode 100644 index ba1c0c3..0000000 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib and /dev/null differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib new file mode 100644 index 0000000..a38f515 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib new file mode 100644 index 0000000..7e5e21d Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib new file mode 100644 index 0000000..71e9f00 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings b/Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings new file mode 100644 index 0000000..47f2455 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib new file mode 100644 index 0000000..0ef484b Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib new file mode 100644 index 0000000..75b515a Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib new file mode 100644 index 0000000..608faf4 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings b/Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings new file mode 100644 index 0000000..06f3c08 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib new file mode 100644 index 0000000..ab9f2ba Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/classes.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/classes.nib deleted file mode 100644 index 4b1ab30..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/classes.nib +++ /dev/null @@ -1,50 +0,0 @@ - - - - - IBClasses - - - CLASS - SUWindowController - LANGUAGE - ObjC - SUPERCLASS - NSWindowController - - - ACTIONS - - doNotInstall - id - installLater - id - installNow - id - - CLASS - SUAutomaticUpdateAlert - LANGUAGE - ObjC - SUPERCLASS - SUWindowController - - - CLASS - FirstResponder - LANGUAGE - ObjC - SUPERCLASS - NSObject - - - CLASS - NSObject - LANGUAGE - ObjC - - - IBVersion - 1 - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/info.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/info.nib deleted file mode 100644 index 2e04cfa..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/info.nib +++ /dev/null @@ -1,20 +0,0 @@ - - - - - IBFramework Version - 667 - IBLastKnownRelativeProjectPath - ../Sparkle.xcodeproj - IBOldestOS - 5 - IBOpenObjects - - 6 - - IBSystem Version - 9D34 - targetFramework - IBCocoaFramework - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib deleted file mode 100644 index 6b92630..0000000 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib and /dev/null differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib new file mode 100644 index 0000000..54351d0 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/classes.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/classes.nib deleted file mode 100644 index 994d4c3..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/classes.nib +++ /dev/null @@ -1,67 +0,0 @@ - - - - - IBClasses - - - CLASS - SUWindowController - LANGUAGE - ObjC - SUPERCLASS - NSWindowController - - - CLASS - NSApplication - LANGUAGE - ObjC - SUPERCLASS - NSResponder - - - ACTIONS - - installUpdate - id - remindMeLater - id - skipThisVersion - id - - CLASS - SUUpdateAlert - LANGUAGE - ObjC - OUTLETS - - delegate - id - description - NSTextField - releaseNotesView - WebView - - SUPERCLASS - SUWindowController - - - CLASS - FirstResponder - LANGUAGE - ObjC - SUPERCLASS - NSObject - - - CLASS - NSObject - LANGUAGE - ObjC - - - IBVersion - 1 - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/info.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/info.nib deleted file mode 100644 index 2e04cfa..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/info.nib +++ /dev/null @@ -1,20 +0,0 @@ - - - - - IBFramework Version - 667 - IBLastKnownRelativeProjectPath - ../Sparkle.xcodeproj - IBOldestOS - 5 - IBOpenObjects - - 6 - - IBSystem Version - 9D34 - targetFramework - IBCocoaFramework - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib deleted file mode 100644 index b4353d2..0000000 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib and /dev/null differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib new file mode 100644 index 0000000..0394a79 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/classes.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/classes.nib deleted file mode 100644 index 5220a22..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/classes.nib +++ /dev/null @@ -1,59 +0,0 @@ - - - - - IBClasses - - - CLASS - SUWindowController - LANGUAGE - ObjC - SUPERCLASS - NSWindowController - - - ACTIONS - - finishPrompt - id - toggleMoreInfo - id - - CLASS - SUUpdatePermissionPrompt - LANGUAGE - ObjC - OUTLETS - - delegate - id - descriptionTextField - NSTextField - moreInfoButton - NSButton - moreInfoView - NSView - - SUPERCLASS - SUWindowController - - - CLASS - FirstResponder - LANGUAGE - ObjC - SUPERCLASS - NSObject - - - CLASS - NSObject - LANGUAGE - ObjC - - - IBVersion - 1 - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/info.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/info.nib deleted file mode 100644 index 2e04cfa..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/info.nib +++ /dev/null @@ -1,20 +0,0 @@ - - - - - IBFramework Version - 667 - IBLastKnownRelativeProjectPath - ../Sparkle.xcodeproj - IBOldestOS - 5 - IBOpenObjects - - 6 - - IBSystem Version - 9D34 - targetFramework - IBCocoaFramework - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib deleted file mode 100644 index b403a3e..0000000 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib and /dev/null differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings b/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings index ffb6e05..e249bd5 100644 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings and b/Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib similarity index 100% rename from Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib rename to Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/classes.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/classes.nib deleted file mode 100644 index 4b1ab30..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/classes.nib +++ /dev/null @@ -1,50 +0,0 @@ - - - - - IBClasses - - - CLASS - SUWindowController - LANGUAGE - ObjC - SUPERCLASS - NSWindowController - - - ACTIONS - - doNotInstall - id - installLater - id - installNow - id - - CLASS - SUAutomaticUpdateAlert - LANGUAGE - ObjC - SUPERCLASS - SUWindowController - - - CLASS - FirstResponder - LANGUAGE - ObjC - SUPERCLASS - NSObject - - - CLASS - NSObject - LANGUAGE - ObjC - - - IBVersion - 1 - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/info.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/info.nib deleted file mode 100644 index ab36d31..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/info.nib +++ /dev/null @@ -1,20 +0,0 @@ - - - - - IBFramework Version - 658 - IBLastKnownRelativeProjectPath - ../Sparkle.xcodeproj - IBOldestOS - 5 - IBOpenObjects - - 6 - - IBSystem Version - 9C7010 - targetFramework - IBCocoaFramework - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib new file mode 100644 index 0000000..e7e7497 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/classes.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/classes.nib deleted file mode 100644 index 994d4c3..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/classes.nib +++ /dev/null @@ -1,67 +0,0 @@ - - - - - IBClasses - - - CLASS - SUWindowController - LANGUAGE - ObjC - SUPERCLASS - NSWindowController - - - CLASS - NSApplication - LANGUAGE - ObjC - SUPERCLASS - NSResponder - - - ACTIONS - - installUpdate - id - remindMeLater - id - skipThisVersion - id - - CLASS - SUUpdateAlert - LANGUAGE - ObjC - OUTLETS - - delegate - id - description - NSTextField - releaseNotesView - WebView - - SUPERCLASS - SUWindowController - - - CLASS - FirstResponder - LANGUAGE - ObjC - SUPERCLASS - NSObject - - - CLASS - NSObject - LANGUAGE - ObjC - - - IBVersion - 1 - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib deleted file mode 100644 index 778909e..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib +++ /dev/null @@ -1,20 +0,0 @@ - - - - - IBFramework Version - 667 - IBLastKnownRelativeProjectPath - ../Sparkle.xcodeproj - IBOldestOS - 5 - IBOpenObjects - - 89 - - IBSystem Version - 9D34 - targetFramework - IBCocoaFramework - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib deleted file mode 100644 index 5b8f76e..0000000 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib and /dev/null differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib new file mode 100644 index 0000000..e8dc5b8 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/classes.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/classes.nib deleted file mode 100644 index 5220a22..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/classes.nib +++ /dev/null @@ -1,59 +0,0 @@ - - - - - IBClasses - - - CLASS - SUWindowController - LANGUAGE - ObjC - SUPERCLASS - NSWindowController - - - ACTIONS - - finishPrompt - id - toggleMoreInfo - id - - CLASS - SUUpdatePermissionPrompt - LANGUAGE - ObjC - OUTLETS - - delegate - id - descriptionTextField - NSTextField - moreInfoButton - NSButton - moreInfoView - NSView - - SUPERCLASS - SUWindowController - - - CLASS - FirstResponder - LANGUAGE - ObjC - SUPERCLASS - NSObject - - - CLASS - NSObject - LANGUAGE - ObjC - - - IBVersion - 1 - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/info.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/info.nib deleted file mode 100644 index 87e931e..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/info.nib +++ /dev/null @@ -1,21 +0,0 @@ - - - - - IBFramework Version - 667 - IBLastKnownRelativeProjectPath - ../Sparkle.xcodeproj - IBOldestOS - 5 - IBOpenObjects - - 6 - 39 - - IBSystem Version - 9D34 - targetFramework - IBCocoaFramework - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib deleted file mode 100644 index 7d3fefb..0000000 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib and /dev/null differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings b/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings index 3ac1d09..0008c09 100644 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings and b/Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib new file mode 100644 index 0000000..5917bac Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/classes.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/classes.nib deleted file mode 100644 index 4b1ab30..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/classes.nib +++ /dev/null @@ -1,50 +0,0 @@ - - - - - IBClasses - - - CLASS - SUWindowController - LANGUAGE - ObjC - SUPERCLASS - NSWindowController - - - ACTIONS - - doNotInstall - id - installLater - id - installNow - id - - CLASS - SUAutomaticUpdateAlert - LANGUAGE - ObjC - SUPERCLASS - SUWindowController - - - CLASS - FirstResponder - LANGUAGE - ObjC - SUPERCLASS - NSObject - - - CLASS - NSObject - LANGUAGE - ObjC - - - IBVersion - 1 - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/info.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/info.nib deleted file mode 100644 index 2e04cfa..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/info.nib +++ /dev/null @@ -1,20 +0,0 @@ - - - - - IBFramework Version - 667 - IBLastKnownRelativeProjectPath - ../Sparkle.xcodeproj - IBOldestOS - 5 - IBOpenObjects - - 6 - - IBSystem Version - 9D34 - targetFramework - IBCocoaFramework - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib deleted file mode 100644 index 6b2f938..0000000 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib and /dev/null differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib new file mode 100644 index 0000000..89f6c89 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/classes.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/classes.nib deleted file mode 100644 index 994d4c3..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/classes.nib +++ /dev/null @@ -1,67 +0,0 @@ - - - - - IBClasses - - - CLASS - SUWindowController - LANGUAGE - ObjC - SUPERCLASS - NSWindowController - - - CLASS - NSApplication - LANGUAGE - ObjC - SUPERCLASS - NSResponder - - - ACTIONS - - installUpdate - id - remindMeLater - id - skipThisVersion - id - - CLASS - SUUpdateAlert - LANGUAGE - ObjC - OUTLETS - - delegate - id - description - NSTextField - releaseNotesView - WebView - - SUPERCLASS - SUWindowController - - - CLASS - FirstResponder - LANGUAGE - ObjC - SUPERCLASS - NSObject - - - CLASS - NSObject - LANGUAGE - ObjC - - - IBVersion - 1 - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/info.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/info.nib deleted file mode 100644 index 2e04cfa..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/info.nib +++ /dev/null @@ -1,20 +0,0 @@ - - - - - IBFramework Version - 667 - IBLastKnownRelativeProjectPath - ../Sparkle.xcodeproj - IBOldestOS - 5 - IBOpenObjects - - 6 - - IBSystem Version - 9D34 - targetFramework - IBCocoaFramework - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib deleted file mode 100644 index c9b1e7d..0000000 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib and /dev/null differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib new file mode 100644 index 0000000..62f76d9 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/classes.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/classes.nib deleted file mode 100644 index 5220a22..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/classes.nib +++ /dev/null @@ -1,59 +0,0 @@ - - - - - IBClasses - - - CLASS - SUWindowController - LANGUAGE - ObjC - SUPERCLASS - NSWindowController - - - ACTIONS - - finishPrompt - id - toggleMoreInfo - id - - CLASS - SUUpdatePermissionPrompt - LANGUAGE - ObjC - OUTLETS - - delegate - id - descriptionTextField - NSTextField - moreInfoButton - NSButton - moreInfoView - NSView - - SUPERCLASS - SUWindowController - - - CLASS - FirstResponder - LANGUAGE - ObjC - SUPERCLASS - NSObject - - - CLASS - NSObject - LANGUAGE - ObjC - - - IBVersion - 1 - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/info.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/info.nib deleted file mode 100644 index 3eb7f81..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/info.nib +++ /dev/null @@ -1,20 +0,0 @@ - - - - - IBFramework Version - 667 - IBLastKnownRelativeProjectPath - ../../Sparkle.xcodeproj - IBOldestOS - 5 - IBOpenObjects - - 6 - - IBSystem Version - 9D34 - targetFramework - IBCocoaFramework - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib deleted file mode 100644 index 8c54c21..0000000 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib and /dev/null differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings b/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings index 0488303..9e0f2f3 100644 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings and b/Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib similarity index 100% rename from Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib rename to Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/classes.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/classes.nib deleted file mode 100644 index 4b1ab30..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/classes.nib +++ /dev/null @@ -1,50 +0,0 @@ - - - - - IBClasses - - - CLASS - SUWindowController - LANGUAGE - ObjC - SUPERCLASS - NSWindowController - - - ACTIONS - - doNotInstall - id - installLater - id - installNow - id - - CLASS - SUAutomaticUpdateAlert - LANGUAGE - ObjC - SUPERCLASS - SUWindowController - - - CLASS - FirstResponder - LANGUAGE - ObjC - SUPERCLASS - NSObject - - - CLASS - NSObject - LANGUAGE - ObjC - - - IBVersion - 1 - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/info.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/info.nib deleted file mode 100644 index 33a6020..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/info.nib +++ /dev/null @@ -1,16 +0,0 @@ - - - - - IBFramework Version - 629 - IBOldestOS - 5 - IBOpenObjects - - IBSystem Version - 9D34 - targetFramework - IBCocoaFramework - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib new file mode 100644 index 0000000..65dfc95 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/classes.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/classes.nib deleted file mode 100644 index 994d4c3..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/classes.nib +++ /dev/null @@ -1,67 +0,0 @@ - - - - - IBClasses - - - CLASS - SUWindowController - LANGUAGE - ObjC - SUPERCLASS - NSWindowController - - - CLASS - NSApplication - LANGUAGE - ObjC - SUPERCLASS - NSResponder - - - ACTIONS - - installUpdate - id - remindMeLater - id - skipThisVersion - id - - CLASS - SUUpdateAlert - LANGUAGE - ObjC - OUTLETS - - delegate - id - description - NSTextField - releaseNotesView - WebView - - SUPERCLASS - SUWindowController - - - CLASS - FirstResponder - LANGUAGE - ObjC - SUPERCLASS - NSObject - - - CLASS - NSObject - LANGUAGE - ObjC - - - IBVersion - 1 - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/info.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/info.nib deleted file mode 100644 index 3f09790..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/info.nib +++ /dev/null @@ -1,18 +0,0 @@ - - - - - IBFramework Version - 629 - IBOldestOS - 5 - IBOpenObjects - - 6 - - IBSystem Version - 9D34 - targetFramework - IBCocoaFramework - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib deleted file mode 100644 index f5b43ac..0000000 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib and /dev/null differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib new file mode 100644 index 0000000..8c4595d Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/classes.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/classes.nib deleted file mode 100644 index 5220a22..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/classes.nib +++ /dev/null @@ -1,59 +0,0 @@ - - - - - IBClasses - - - CLASS - SUWindowController - LANGUAGE - ObjC - SUPERCLASS - NSWindowController - - - ACTIONS - - finishPrompt - id - toggleMoreInfo - id - - CLASS - SUUpdatePermissionPrompt - LANGUAGE - ObjC - OUTLETS - - delegate - id - descriptionTextField - NSTextField - moreInfoButton - NSButton - moreInfoView - NSView - - SUPERCLASS - SUWindowController - - - CLASS - FirstResponder - LANGUAGE - ObjC - SUPERCLASS - NSObject - - - CLASS - NSObject - LANGUAGE - ObjC - - - IBVersion - 1 - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/info.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/info.nib deleted file mode 100644 index 33a6020..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/info.nib +++ /dev/null @@ -1,16 +0,0 @@ - - - - - IBFramework Version - 629 - IBOldestOS - 5 - IBOpenObjects - - IBSystem Version - 9D34 - targetFramework - IBCocoaFramework - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib deleted file mode 100644 index b2b2cf2..0000000 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib and /dev/null differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings b/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings index 3def6ae..730fabf 100644 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings and b/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/fr_CA.lproj b/Frameworks/Sparkle.framework/Versions/A/Resources/fr_CA.lproj new file mode 120000 index 0000000..f9834a3 --- /dev/null +++ b/Frameworks/Sparkle.framework/Versions/A/Resources/fr_CA.lproj @@ -0,0 +1 @@ +fr.lproj \ No newline at end of file diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib new file mode 100644 index 0000000..9df8add Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib new file mode 100644 index 0000000..5a871c3 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib new file mode 100644 index 0000000..6636734 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings b/Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings new file mode 100644 index 0000000..0c7fa89 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib new file mode 100644 index 0000000..15ba8f4 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib new file mode 100644 index 0000000..2984064 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib new file mode 100644 index 0000000..6282084 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings b/Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings new file mode 100644 index 0000000..4a70b8a Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib new file mode 100644 index 0000000..02e3eba Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib new file mode 100644 index 0000000..05bd261 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib new file mode 100644 index 0000000..6f67e23 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings b/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings new file mode 100644 index 0000000..e0b1a00 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib similarity index 100% rename from Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib rename to Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/classes.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/classes.nib deleted file mode 100644 index 4b1ab30..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/classes.nib +++ /dev/null @@ -1,50 +0,0 @@ - - - - - IBClasses - - - CLASS - SUWindowController - LANGUAGE - ObjC - SUPERCLASS - NSWindowController - - - ACTIONS - - doNotInstall - id - installLater - id - installNow - id - - CLASS - SUAutomaticUpdateAlert - LANGUAGE - ObjC - SUPERCLASS - SUWindowController - - - CLASS - FirstResponder - LANGUAGE - ObjC - SUPERCLASS - NSObject - - - CLASS - NSObject - LANGUAGE - ObjC - - - IBVersion - 1 - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/info.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/info.nib deleted file mode 100644 index 3f09790..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/info.nib +++ /dev/null @@ -1,18 +0,0 @@ - - - - - IBFramework Version - 629 - IBOldestOS - 5 - IBOpenObjects - - 6 - - IBSystem Version - 9D34 - targetFramework - IBCocoaFramework - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib new file mode 100644 index 0000000..c82d358 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/classes.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/classes.nib deleted file mode 100644 index 994d4c3..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/classes.nib +++ /dev/null @@ -1,67 +0,0 @@ - - - - - IBClasses - - - CLASS - SUWindowController - LANGUAGE - ObjC - SUPERCLASS - NSWindowController - - - CLASS - NSApplication - LANGUAGE - ObjC - SUPERCLASS - NSResponder - - - ACTIONS - - installUpdate - id - remindMeLater - id - skipThisVersion - id - - CLASS - SUUpdateAlert - LANGUAGE - ObjC - OUTLETS - - delegate - id - description - NSTextField - releaseNotesView - WebView - - SUPERCLASS - SUWindowController - - - CLASS - FirstResponder - LANGUAGE - ObjC - SUPERCLASS - NSObject - - - CLASS - NSObject - LANGUAGE - ObjC - - - IBVersion - 1 - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib deleted file mode 100644 index 3f09790..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib +++ /dev/null @@ -1,18 +0,0 @@ - - - - - IBFramework Version - 629 - IBOldestOS - 5 - IBOpenObjects - - 6 - - IBSystem Version - 9D34 - targetFramework - IBCocoaFramework - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib deleted file mode 100644 index be38289..0000000 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib and /dev/null differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib new file mode 100644 index 0000000..d9a9888 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/classes.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/classes.nib deleted file mode 100644 index 5220a22..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/classes.nib +++ /dev/null @@ -1,59 +0,0 @@ - - - - - IBClasses - - - CLASS - SUWindowController - LANGUAGE - ObjC - SUPERCLASS - NSWindowController - - - ACTIONS - - finishPrompt - id - toggleMoreInfo - id - - CLASS - SUUpdatePermissionPrompt - LANGUAGE - ObjC - OUTLETS - - delegate - id - descriptionTextField - NSTextField - moreInfoButton - NSButton - moreInfoView - NSView - - SUPERCLASS - SUWindowController - - - CLASS - FirstResponder - LANGUAGE - ObjC - SUPERCLASS - NSObject - - - CLASS - NSObject - LANGUAGE - ObjC - - - IBVersion - 1 - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib deleted file mode 100644 index 33a6020..0000000 --- a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib +++ /dev/null @@ -1,16 +0,0 @@ - - - - - IBFramework Version - 629 - IBOldestOS - 5 - IBOpenObjects - - IBSystem Version - 9D34 - targetFramework - IBCocoaFramework - - diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib deleted file mode 100644 index ef9b2cd..0000000 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib and /dev/null differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings b/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings index a1de544..e93e970 100644 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings and b/Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib new file mode 100644 index 0000000..592ecaf Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib new file mode 100644 index 0000000..80e65c5 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib new file mode 100644 index 0000000..f3fb56c Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings b/Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings new file mode 100644 index 0000000..8748ed6 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/pt.lproj b/Frameworks/Sparkle.framework/Versions/A/Resources/pt.lproj new file mode 120000 index 0000000..3c1c9f6 --- /dev/null +++ b/Frameworks/Sparkle.framework/Versions/A/Resources/pt.lproj @@ -0,0 +1 @@ +pt_BR.lproj \ No newline at end of file diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib new file mode 100644 index 0000000..aa24217 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib new file mode 100644 index 0000000..589aa7d Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib new file mode 100644 index 0000000..a4fe848 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings b/Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings new file mode 100644 index 0000000..e4d51a1 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib new file mode 100644 index 0000000..e7b0fc2 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib new file mode 100644 index 0000000..0920a0d Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib new file mode 100644 index 0000000..e32d8a4 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings b/Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings new file mode 100644 index 0000000..3540181 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/relaunch b/Frameworks/Sparkle.framework/Versions/A/Resources/relaunch index 6f5372a..a39e19e 100755 Binary files a/Frameworks/Sparkle.framework/Versions/A/Resources/relaunch and b/Frameworks/Sparkle.framework/Versions/A/Resources/relaunch differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib new file mode 100644 index 0000000..2b40ed6 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib new file mode 100644 index 0000000..52bed5e Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib new file mode 100644 index 0000000..1f62b55 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings b/Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings new file mode 100644 index 0000000..2a76d39 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib new file mode 100644 index 0000000..53cb91a Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib new file mode 100644 index 0000000..7e6d490 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib new file mode 100644 index 0000000..da7b3c5 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings b/Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings new file mode 100644 index 0000000..16a2dbd Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib new file mode 100644 index 0000000..0d3898b Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib new file mode 100644 index 0000000..7cb7957 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib new file mode 100644 index 0000000..69d4d19 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings b/Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings new file mode 100644 index 0000000..2430fe4 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib new file mode 100644 index 0000000..e6ef86a Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib new file mode 100644 index 0000000..d876b2f Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib b/Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib new file mode 100644 index 0000000..92f7b5c Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings b/Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings new file mode 100644 index 0000000..ad41389 Binary files /dev/null and b/Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings differ diff --git a/Frameworks/Sparkle.framework/Versions/A/Sparkle b/Frameworks/Sparkle.framework/Versions/A/Sparkle index 2b648ed..b140662 100755 Binary files a/Frameworks/Sparkle.framework/Versions/A/Sparkle and b/Frameworks/Sparkle.framework/Versions/A/Sparkle differ diff --git a/Resources/Theme Tester/blankicon.jpg b/Resources/Theme Tester/blankicon.jpg deleted file mode 100644 index ef48e69..0000000 Binary files a/Resources/Theme Tester/blankicon.jpg and /dev/null differ diff --git a/Resources/Theme Tester/blankicon.png b/Resources/Theme Tester/blankicon.png new file mode 100644 index 0000000..750037a Binary files /dev/null and b/Resources/Theme Tester/blankicon.png differ diff --git a/Resources/VoiceMac/Info.plist b/Resources/VoiceMac/Info.plist index 566dfbf..328679d 100644 --- a/Resources/VoiceMac/Info.plist +++ b/Resources/VoiceMac/Info.plist @@ -61,8 +61,6 @@ VoiceMac CFBundleIdentifier com.MrGeckosMedia.${PRODUCT_NAME:identifier} - NSHumanReadableCopyright - Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -117,20 +115,30 @@ MGMGRReportFileAttached MGMGRTimeFormat - %A, %m/%d/%y %I:%M:%S %p + EEEE, MM/dd/yy h:mm:ss a MGMGRTimeZone CST + NSHumanReadableCopyright + Copyright (c) 2010 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/ NSMainNibFile MainMenu NSPrincipalClass NSApplication + NSServices + SUCheckAtStartup SUEnableSystemProfiling SUFeedURL http://mrgeckosmedia.com/applications/appcast/VoiceMac + SUPublicDSAKeyFile + dsa_pub.pem SUScheduledCheckInterval 86400 + UTExportedTypeDeclarations + + UTImportedTypeDeclarations + diff --git a/Resources/VoiceMac/Preferences/English.lproj/AccountsPane.xib b/Resources/VoiceMac/Preferences/English.lproj/AccountsPane.xib index b6b85d3..c32ebe4 100644 --- a/Resources/VoiceMac/Preferences/English.lproj/AccountsPane.xib +++ b/Resources/VoiceMac/Preferences/English.lproj/AccountsPane.xib @@ -2,16 +2,37 @@ 1050 - 10F569 - 788 - 1038.29 - 461.00 + 10J567 + 1294 + 1038.35 + 462.00 com.apple.InterfaceBuilder.CocoaPlugin - 788 + 1294 - + YES + NSView + NSButtonCell + NSSecureTextFieldCell + NSPopUpButton + NSTextFieldCell + NSTabViewItem + NSPopUpButtonCell + NSScrollView + NSMenu + NSMenuItem + NSSecureTextField + NSTabView + NSCustomView + NSCustomObject + NSTableColumn + NSBox + NSScroller + NSTableView + NSTextField + NSMatrix + NSButton YES @@ -22,9 +43,7 @@ YES - - YES - + YES @@ -48,6 +67,7 @@ {{176, 0}, {301, 220}} + YES @@ -72,6 +92,7 @@ 268 {{13, 136}, {154, 38}} + YES 2 1 @@ -284,6 +305,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{10, 175}, {151, 17}} + YES 68288064 @@ -308,6 +330,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{13, 72}, {162, 38}} + YES 2 1 @@ -500,6 +523,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{10, 111}, {224, 17}} + YES 68288064 @@ -516,6 +540,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{139, 130}, {131, 26}} + YES -2076049856 @@ -549,6 +574,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{10, 44}, {76, 17}} + YES 68288064 @@ -569,6 +595,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{10, 16}, {76, 17}} + YES 68288064 @@ -585,6 +612,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{91, 42}, {181, 22}} + YES -1804468671 @@ -612,6 +640,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{91, 14}, {181, 22}} + YES 343014976 @@ -631,10 +660,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {285, 204}} + {{7, 6}, {287, 206}} + {0, 0} 67239424 @@ -659,6 +690,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {301, 220} + Google Voice @@ -667,7 +699,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 2 - + 256 YES @@ -686,7 +718,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{10, 172}, {76, 17}} - + YES 68288064 @@ -703,7 +735,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{10, 144}, {76, 17}} - + YES 68288064 @@ -720,7 +752,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{91, 170}, {181, 22}} - + YES -1804468671 @@ -738,7 +770,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{91, 142}, {181, 22}} - + YES 343014976 @@ -758,12 +790,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {285, 204}} - + {{7, 6}, {287, 206}} - + {0, 0} 67239424 @@ -784,8 +816,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {301, 220} - - + Google Contacts @@ -794,7 +825,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA Session Initiation Protocol - + 256 YES @@ -803,6 +834,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 12 {{-8, -10}, {317, 234}} + + YES @@ -817,6 +850,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{14, 81}, {76, 17}} + + YES 68288064 @@ -833,6 +868,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{14, 53}, {76, 17}} + + YES 68288064 @@ -849,6 +886,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{14, 109}, {76, 17}} + + YES 68288064 @@ -869,6 +908,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{14, 137}, {76, 17}} + + YES 68288064 @@ -885,6 +926,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{14, 165}, {76, 17}} + + YES 68288064 @@ -901,6 +944,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{95, 163}, {185, 22}} + + YES -1804468671 @@ -918,6 +963,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{95, 135}, {185, 22}} + + YES -1804468671 @@ -936,6 +983,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{95, 107}, {185, 22}} + + YES -1804468671 @@ -954,6 +1003,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{95, 79}, {185, 22}} + + YES -1804468671 @@ -971,6 +1022,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{95, 51}, {185, 22}} + + YES 343014976 @@ -992,6 +1045,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{14, 2}, {269, 17}} + + YES 68288064 @@ -1008,6 +1063,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{14, 25}, {76, 17}} + + YES 68288064 @@ -1024,6 +1081,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{95, 23}, {185, 22}} + + YES -1804468671 @@ -1039,6 +1098,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{10, 33}, {297, 188}} + + General @@ -1056,6 +1117,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{14, 78}, {122, 17}} + YES 68288064 @@ -1072,6 +1134,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{14, 165}, {82, 17}} + YES 68288064 @@ -1088,6 +1151,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{14, 137}, {82, 17}} + YES 68288064 @@ -1104,6 +1168,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{101, 163}, {179, 22}} + YES -1804468671 @@ -1121,6 +1186,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{101, 135}, {179, 22}} + YES -1804468671 @@ -1139,6 +1205,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{14, 109}, {82, 17}} + YES 68288064 @@ -1155,6 +1222,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{101, 107}, {179, 22}} + YES -1804468671 @@ -1172,6 +1240,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{142, 76}, {80, 22}} + YES -1804468671 @@ -1190,6 +1259,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{227, 78}, {56, 17}} + YES 68288064 @@ -1206,6 +1276,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{14, 5}, {269, 17}} + YES 68288064 @@ -1217,8 +1288,183 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA + + + 268 + {{14, 26}, {82, 17}} + + + YES + + 68288064 + 71304192 + DTMF Tone: + + + + + + + + + 268 + {{98, 20}, {185, 26}} + + + YES + + -2076049856 + 2048 + + + 109199615 + 129 + + + 400 + 75 + + + RFC 2833 + + 1048576 + 2147483647 + 1 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + _popUpItemAction: + + + YES + + OtherViews + + YES + + + + Info + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Tone Generator + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + 1 + YES + YES + 2 + + + + + 268 + {{14, 52}, {82, 17}} + + + YES + + 68288064 + 71304192 + Transport: + + + + + + + + + 268 + {{98, 46}, {185, 26}} + + + YES + + -2076049856 + 2048 + + + 109199615 + 129 + + + 400 + 75 + + + Automatic + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + OtherViews + + YES + + + + TCP + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + UDP + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + 1 + YES + YES + 2 + + {{10, 33}, {297, 188}} + Advanced @@ -1492,20 +1738,23 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {301, 220} + + + Session Initiation Protocol - + 6 YES YES YES - + @@ -1524,6 +1773,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {174, 198} + YES @@ -1640,6 +1890,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{263, 1}, {15, 80}} + _doScroller: 0.84210532903671265 @@ -1650,6 +1901,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 81}, {277, 15}} + 1 _doScroller: @@ -1672,6 +1924,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{60, -1}, {116.271, 23}} + YES -2080244224 @@ -1693,6 +1946,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{30, -1}, {30, 23}} + YES -2080244224 @@ -1714,6 +1968,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{0, -1}, {30, 23}} + YES -2080244224 @@ -1733,6 +1988,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {477, 220} + NSView @@ -2131,6 +2387,38 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 267 + + + SIPToneTypePopUp + + + + 276 + + + + saveSIP: + + + + 277 + + + + saveSIP: + + + + 286 + + + + SIPTransportPopUp + + + + 287 + @@ -2482,6 +2770,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA + + + + @@ -3061,6 +3353,122 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA + + 268 + + + YES + + + + + + 269 + + + + + 270 + + + YES + + + + + + 271 + + + YES + + + + + + 272 + + + YES + + + + + + + + 273 + + + + + 274 + + + + + 275 + + + + + 278 + + + YES + + + + + + 279 + + + YES + + + + + + 280 + + + YES + + + + + + 281 + + + YES + + + + + + + + 282 + + + + + 283 + + + + + 284 + + + + + 285 + + + @@ -3158,6 +3566,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 258.IBPluginDependency 259.IBPluginDependency 262.IBPluginDependency + 268.IBPluginDependency + 269.IBPluginDependency + 270.IBPluginDependency + 271.IBPluginDependency + 278.IBPluginDependency + 279.IBPluginDependency + 280.IBPluginDependency + 285.IBPluginDependency 56.IBPluginDependency 57.IBPluginDependency 58.IBPluginDependency @@ -3302,25 +3718,29 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 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 YES - - YES - + YES - - YES - + - 267 + 287 @@ -3431,6 +3851,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA SIPRegistrarField SIPRegistrarTimeoutField SIPSIPAddressField + SIPToneTypePopUp + SIPTransportPopUp SIPUserNameField addButton loginoutButton @@ -3459,6 +3881,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA NSTextField NSTextField NSTextField + NSPopUpButton + NSPopUpButton NSTextField NSButton NSButton @@ -3490,6 +3914,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA SIPRegistrarField SIPRegistrarTimeoutField SIPSIPAddressField + SIPToneTypePopUp + SIPTransportPopUp SIPUserNameField addButton loginoutButton @@ -3572,6 +3998,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA SIPSIPAddressField NSTextField + + SIPToneTypePopUp + NSPopUpButton + + + SIPTransportPopUp + NSPopUpButton + SIPUserNameField NSTextField @@ -3604,707 +4038,17 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA IBProjectSource - Classes/VoiceMac/Preferences/MGMAccountsPane.h + ./Classes/MGMAccountsPane.h - - - YES MGMPreferencesPane NSObject - IBFrameworkSource - MGMUsers.framework/Headers/MGMPreferencesPane.h + IBProjectSource + ./Classes/MGMPreferencesPane.h - - NSActionCell - NSCell - - IBFrameworkSource - AppKit.framework/Headers/NSActionCell.h - - - - NSApplication - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSApplication.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSApplicationScripting.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSColorPanel.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSHelpManager.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSPageLayout.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSUserInterfaceItemSearching.h - - - - NSBox - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSBox.h - - - - NSButton - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSButton.h - - - - NSButtonCell - NSActionCell - - IBFrameworkSource - AppKit.framework/Headers/NSButtonCell.h - - - - NSCell - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSCell.h - - - - NSControl - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSControl.h - - - - NSFormatter - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFormatter.h - - - - NSMatrix - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSMatrix.h - - - - NSMenu - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenu.h - - - - NSMenuItemCell - NSButtonCell - - IBFrameworkSource - AppKit.framework/Headers/NSMenuItemCell.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSAccessibility.h - - - - NSObject - - - - NSObject - - - - NSObject - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDictionaryController.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDragging.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontManager.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontPanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSKeyValueBinding.h - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSNibLoading.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSOutlineView.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSPasteboard.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSSavePanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTableView.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSToolbarItem.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSView.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObjectScripting.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSPortCoder.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptObjectSpecifiers.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptWhoseTests.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURLConnection.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURLDownload.h - - - - NSObject - - IBFrameworkSource - Growl.framework/Headers/GrowlApplicationBridge.h - - - - NSObject - - IBFrameworkSource - QTKit.framework/Headers/QTCaptureDecompressedVideoOutput.h - - - - NSObject - - IBFrameworkSource - QTKit.framework/Headers/QTCaptureFileOutput.h - - - - NSObject - - IBFrameworkSource - QTKit.framework/Headers/QTCaptureVideoPreviewOutput.h - - - - NSObject - - IBFrameworkSource - QTKit.framework/Headers/QTCaptureView.h - - - - NSObject - - IBFrameworkSource - QTKit.framework/Headers/QTMovie.h - - - - NSObject - - IBFrameworkSource - QTKit.framework/Headers/QTMovieView.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CAAnimation.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CALayer.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CIImageProvider.h - - - - NSObject - - IBFrameworkSource - 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 - - IBFrameworkSource - Sparkle.framework/Headers/SUUpdater.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebDownload.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebEditingDelegate.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebFrameLoadDelegate.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebJavaPlugIn.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebPlugin.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebPluginContainer.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebPolicyDelegate.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebResourceLoadDelegate.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebScriptObject.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebUIDelegate.h - - - - NSPopUpButton - NSButton - - IBFrameworkSource - AppKit.framework/Headers/NSPopUpButton.h - - - - NSPopUpButtonCell - NSMenuItemCell - - IBFrameworkSource - AppKit.framework/Headers/NSPopUpButtonCell.h - - - - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSInterfaceStyle.h - - - - NSResponder - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSResponder.h - - - - NSScrollView - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSScrollView.h - - - - NSScroller - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSScroller.h - - - - NSSecureTextField - NSTextField - - IBFrameworkSource - AppKit.framework/Headers/NSSecureTextField.h - - - - NSSecureTextFieldCell - NSTextFieldCell - - - - NSTabView - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSTabView.h - - - - NSTabViewItem - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTabViewItem.h - - - - NSTableColumn - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTableColumn.h - - - - NSTableView - NSControl - - - - NSTextField - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSTextField.h - - - - NSTextFieldCell - NSActionCell - - IBFrameworkSource - AppKit.framework/Headers/NSTextFieldCell.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSClipView.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSMenuItem.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSRulerView.h - - - - NSView - NSResponder - - 0 @@ -4318,7 +4062,19 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA YES - ../../../../VoiceMac.xcodeproj 3 + + YES + + YES + NSMenuCheckmark + NSMenuMixedState + + + YES + {9, 8} + {7, 2} + + diff --git a/Resources/VoiceMac/Preferences/English.lproj/SIPPane.xib b/Resources/VoiceMac/Preferences/English.lproj/SIPPane.xib index 16afe59..c18d18d 100644 --- a/Resources/VoiceMac/Preferences/English.lproj/SIPPane.xib +++ b/Resources/VoiceMac/Preferences/English.lproj/SIPPane.xib @@ -2,17 +2,30 @@ 1050 - 10F569 - 788 - 1038.29 - 461.00 + 10J567 + 1294 + 1038.35 + 462.00 com.apple.InterfaceBuilder.CocoaPlugin - 788 + 1294 - + YES - + NSMenu + NSTabView + NSTextField + NSTabViewItem + NSCustomObject + NSPopUpButton + NSCustomView + NSButton + NSView + NSSliderCell + NSButtonCell + NSTextFieldCell + NSSlider + NSPopUpButtonCell YES @@ -23,9 +36,7 @@ YES - - YES - + YES @@ -48,6 +59,8 @@ 268 {{17, 0}, {446, 17}} + + YES 68288064 @@ -84,12 +97,14 @@ 12 {{13, 10}, {454, 255}} + + YES 1 - + 256 YES @@ -98,6 +113,7 @@ 268 {{14, 186}, {158, 17}} + YES 68288064 @@ -114,6 +130,7 @@ 268 {{14, 150}, {158, 17}} + YES 68288064 @@ -130,6 +147,7 @@ 268 {{14, 61}, {158, 17}} + YES 68288064 @@ -146,6 +164,7 @@ 268 {{14, 35}, {158, 17}} + YES 68288064 @@ -162,6 +181,7 @@ 268 {{175, 175}, {244, 25}} + YES -2080244224 @@ -183,6 +203,7 @@ 268 {{175, 139}, {244, 25}} + YES -2080244224 @@ -204,6 +225,7 @@ 268 {{175, 60}, {18, 18}} + YES -2080244224 @@ -231,6 +253,7 @@ 268 {{175, 34}, {18, 18}} + YES -2080244224 @@ -253,6 +276,7 @@ 268 {{14, 113}, {158, 17}} + YES 68288064 @@ -269,6 +293,7 @@ 268 {{14, 87}, {158, 17}} + YES 68288064 @@ -285,6 +310,7 @@ 268 {{174, 107}, {246, 26}} + YES -2076049856 @@ -318,6 +344,7 @@ 268 {{174, 81}, {246, 26}} + YES -2076049856 @@ -348,7 +375,7 @@ {{10, 33}, {434, 209}} - + Sound @@ -366,6 +393,7 @@ 268 {{14, 150}, {145, 17}} + YES 68288064 @@ -382,6 +410,7 @@ 268 {{14, 122}, {145, 17}} + YES 68288064 @@ -398,6 +427,7 @@ 268 {{14, 94}, {145, 17}} + YES 68288064 @@ -414,6 +444,7 @@ 268 {{14, 66}, {145, 17}} + YES 68288064 @@ -430,6 +461,7 @@ 268 {{14, 38}, {145, 17}} + YES 68288064 @@ -446,6 +478,7 @@ 268 {{14, 178}, {145, 17}} + YES 68288064 @@ -462,6 +495,7 @@ 268 {{14, 10}, {145, 17}} + YES 68288064 @@ -478,6 +512,7 @@ 268 {{164, 176}, {90, 22}} + YES -1804468671 @@ -508,6 +543,7 @@ 268 {{164, 148}, {253, 22}} + YES -1804468671 @@ -525,6 +561,7 @@ 268 {{164, 120}, {253, 22}} + YES -1804468671 @@ -543,6 +580,7 @@ 268 {{164, 91}, {253, 22}} + YES -1804468671 @@ -560,6 +598,7 @@ 268 {{164, 92}, {253, 22}} + YES -1804468671 @@ -577,6 +616,7 @@ 268 {{164, 64}, {253, 22}} + YES -1804468671 @@ -595,6 +635,7 @@ 268 {{162, 37}, {18, 18}} + YES -2080244224 @@ -617,6 +658,7 @@ 268 {{162, 9}, {18, 18}} + YES -2080244224 @@ -639,6 +681,7 @@ 268 {{259, 178}, {161, 17}} + YES 68288064 @@ -652,6 +695,7 @@ {{10, 33}, {434, 209}} + Network @@ -660,7 +704,7 @@ 2 - + 256 YES @@ -669,6 +713,8 @@ 268 {{14, 186}, {122, 17}} + + YES 68288064 @@ -685,6 +731,8 @@ 268 {{14, 158}, {122, 17}} + + YES 68288064 @@ -701,6 +749,8 @@ 268 {{14, 130}, {122, 17}} + + YES 68288064 @@ -717,6 +767,8 @@ 268 {{14, 102}, {122, 17}} + + YES 68288064 @@ -733,6 +785,8 @@ 268 {{141, 184}, {193, 22}} + + YES -1804468671 @@ -750,6 +804,8 @@ 268 {{141, 156}, {276, 22}} + + YES -1804468671 @@ -767,6 +823,8 @@ 268 {{141, 128}, {276, 22}} + + YES -1804468671 @@ -784,6 +842,8 @@ 268 {{141, 100}, {276, 22}} + + YES -1804468671 @@ -801,6 +861,8 @@ 268 {{336, 178}, {87, 32}} + + YES 67239424 @@ -816,27 +878,69 @@ 25 + + + 268 + {{14, 74}, {122, 17}} + + + + YES + + 68288064 + 71304192 + User Agent: + + + + + + + + + 268 + {{141, 72}, {276, 22}} + + + + YES + + -1804468671 + 272630784 + + + + YES + + + + {{10, 33}, {434, 209}} + + + Advanced - + 0 YES YES YES - + {480, 279} + + NSView @@ -1139,6 +1243,22 @@ 158 + + + userAgentField + + + + 171 + + + + userAgent: + + + + 172 + @@ -1172,8 +1292,8 @@ YES - + @@ -1222,6 +1342,8 @@ + + @@ -1835,6 +1957,34 @@ + + 166 + + + YES + + + + + + 167 + + + YES + + + + + + 168 + + + + + 169 + + + @@ -1860,6 +2010,10 @@ 148.IBPluginDependency 149.IBEditorWindowLastContentRect 149.IBPluginDependency + 166.IBPluginDependency + 167.IBPluginDependency + 168.IBPluginDependency + 169.IBPluginDependency 2.IBPluginDependency 25.IBPluginDependency 26.IBPluginDependency @@ -2022,29 +2176,37 @@ 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 YES - - YES - + YES - - YES - + - 158 + 172 YES + + MGMPreferencesPane + NSObject + + IBProjectSource + ./Classes/MGMPreferencesPane.h + + MGMSIPPane MGMPreferencesPane @@ -2067,6 +2229,7 @@ outboundProxyHost: outboundProxyPort: publicAddress: + userAgent: voiceActivityDetection: volume: @@ -2089,6 +2252,7 @@ id id id + id @@ -2110,6 +2274,7 @@ outboundProxyHost: outboundProxyPort: publicAddress: + userAgent: voiceActivityDetection: volume: @@ -2175,6 +2340,10 @@ publicAddress: id + + userAgent: + id + voiceActivityDetection: id @@ -2206,6 +2375,7 @@ outboundProxyHostField outboundProxyPortField publicAddressField + userAgentField voiceActivityDetectionButton volumeSlider @@ -2228,6 +2398,7 @@ NSTextField NSTextField NSTextField + NSTextField NSButton NSSlider @@ -2253,6 +2424,7 @@ outboundProxyHostField outboundProxyPortField publicAddressField + userAgentField voiceActivityDetectionButton volumeSlider @@ -2326,6 +2498,10 @@ publicAddressField NSTextField + + userAgentField + NSTextField + voiceActivityDetectionButton NSButton @@ -2338,680 +2514,10 @@ IBProjectSource - Classes/VoiceMac/Preferences/MGMSIPPane.h + ./Classes/MGMSIPPane.h - - YES - - MGMPreferencesPane - NSObject - - IBFrameworkSource - MGMUsers.framework/Headers/MGMPreferencesPane.h - - - - NSActionCell - NSCell - - IBFrameworkSource - AppKit.framework/Headers/NSActionCell.h - - - - NSApplication - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSApplication.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSApplicationScripting.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSColorPanel.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSHelpManager.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSPageLayout.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSUserInterfaceItemSearching.h - - - - NSButton - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSButton.h - - - - NSButtonCell - NSActionCell - - IBFrameworkSource - AppKit.framework/Headers/NSButtonCell.h - - - - NSCell - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSCell.h - - - - NSControl - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSControl.h - - - - NSFormatter - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFormatter.h - - - - NSMenu - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenu.h - - - - NSMenuItemCell - NSButtonCell - - IBFrameworkSource - AppKit.framework/Headers/NSMenuItemCell.h - - - - NSObject - - IBFrameworkSource - AddressBook.framework/Headers/ABActions.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSAccessibility.h - - - - NSObject - - - - NSObject - - - - NSObject - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDictionaryController.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDragging.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontManager.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontPanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSKeyValueBinding.h - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSNibLoading.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSOutlineView.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSPasteboard.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSSavePanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTableView.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSToolbarItem.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSView.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObjectScripting.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSPortCoder.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptObjectSpecifiers.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptWhoseTests.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURLConnection.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURLDownload.h - - - - NSObject - - IBFrameworkSource - Growl.framework/Headers/GrowlApplicationBridge.h - - - - NSObject - - IBFrameworkSource - QTKit.framework/Headers/QTCaptureDecompressedAudioOutput.h - - - - NSObject - - IBFrameworkSource - QTKit.framework/Headers/QTCaptureDecompressedVideoOutput.h - - - - NSObject - - IBFrameworkSource - QTKit.framework/Headers/QTCaptureFileOutput.h - - - - NSObject - - IBFrameworkSource - QTKit.framework/Headers/QTCaptureVideoPreviewOutput.h - - - - NSObject - - IBFrameworkSource - QTKit.framework/Headers/QTCaptureView.h - - - - NSObject - - IBFrameworkSource - QTKit.framework/Headers/QTMovie.h - - - - NSObject - - IBFrameworkSource - QTKit.framework/Headers/QTMovieView.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CAAnimation.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CALayer.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CIImageProvider.h - - - - NSObject - - IBFrameworkSource - 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 - - IBFrameworkSource - Sparkle.framework/Headers/SUUpdater.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebDownload.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebEditingDelegate.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebFrameLoadDelegate.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebJavaPlugIn.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebPlugin.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebPluginContainer.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebPolicyDelegate.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebResourceLoadDelegate.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebScriptObject.h - - - - NSObject - - IBFrameworkSource - WebKit.framework/Headers/WebUIDelegate.h - - - - NSPopUpButton - NSButton - - IBFrameworkSource - AppKit.framework/Headers/NSPopUpButton.h - - - - NSPopUpButtonCell - NSMenuItemCell - - IBFrameworkSource - AppKit.framework/Headers/NSPopUpButtonCell.h - - - - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSInterfaceStyle.h - - - - NSResponder - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSResponder.h - - - - NSSlider - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSSlider.h - - - - NSSliderCell - NSActionCell - - IBFrameworkSource - AppKit.framework/Headers/NSSliderCell.h - - - - NSTabView - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSTabView.h - - - - NSTabViewItem - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTabViewItem.h - - - - NSTextField - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSTextField.h - - - - NSTextFieldCell - NSActionCell - - IBFrameworkSource - AppKit.framework/Headers/NSTextFieldCell.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSClipView.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSMenuItem.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSRulerView.h - - - - NSView - NSResponder - - - 0 IBCocoaFramework @@ -3024,7 +2530,6 @@ YES - ../../../VoiceMac.xcodeproj 3 NSSwitch diff --git a/Resources/VoiceMac/Sounds/default.vms/Info.plist b/Resources/VoiceMac/Sounds/default.vms/Info.plist index 686c15c..28292fb 100644 --- a/Resources/VoiceMac/Sounds/default.vms/Info.plist +++ b/Resources/VoiceMac/Sounds/default.vms/Info.plist @@ -36,7 +36,7 @@ name - Voice Mac + VoiceMac author Mr. Gecko site diff --git a/Resources/VoiceMac/dsa_pub.pem b/Resources/VoiceMac/dsa_pub.pem new file mode 100644 index 0000000..4caf6b4 --- /dev/null +++ b/Resources/VoiceMac/dsa_pub.pem @@ -0,0 +1,12 @@ +-----BEGIN PUBLIC KEY----- +MIIBtzCCASwGByqGSM44BAEwggEfAoGBANftIcvfj3HeOJgIkzgZf3bHWdLSbnm0 +DTTeDto6kldSElWF+P50ioKnOn6qwFTiEVSnbz6v6ZhQ5UH9Y5Ki2+tJb09MZWfO +iAyUIF5aT0o9BAtTyjBeYJVJHmgN6tVW/zLYRaVtnS8YXcBvdo3pDP1Ph6Sqj1JB +22fIxGRkCiCPAhUAwOj9GkAhaksvTqpCaitpqEVErMcCgYEAmz3F2rG50dHqa1UV +X42Ao0GViGRN29E4/qb28AFXRwBXB4cNp4UQyKTUaDz/R6g/pzUKstcXnkYd4mtu +wcDmGeRAzv6yJf1KDjLfqwVZVd0mt5ynOMn3TnA8ol/wJTFPMkNQ/i/2Uq/v0vMq +/Tub8PxYrznfkbhSiCW6EBkTpv4DgYQAAoGACpiAscLeeodUJ9750XzSBlmqn6u3 +P7nlRnUfxP/Rqd74BAk7HvjC6jTIs5rKfaWPREikfg+iJILC22TJzEbsRZhooosO +OECm0po0isaw20NNda3HlE5UqXVD1QZ1akG1w2lzLzXEij2pk/jSFECUxk62JNBY +XLG1MBwdjEOgVKM= +-----END PUBLIC KEY----- diff --git a/SIP/install b/SIP/install index 61cb6e6..19e1637 100755 --- a/SIP/install +++ b/SIP/install @@ -1,20 +1,20 @@ #!/bin/bash -PPCFLAGS="-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.4 -arch ppc" +PPCFLAGS="-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.4 -arch ppc -ggdb" PPCCC="/usr/bin/gcc-4.0" PPCCXX="/usr/bin/g++-4.0" PPCHOST="ppc-apple-darwin8" PPCPATH="${PWD}/opt-ppc" PPCLDFLAGS="-arch ppc" -I386FLAGS="-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.4 -arch i386" +I386FLAGS="-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.4 -arch i386 -ggdb" I386CC="/usr/bin/gcc-4.0" I386CXX="/usr/bin/g++-4.0" I386HOST="i386-apple-darwin8" I386PATH="${PWD}/opt-i386" I386LDFLAGS="-arch i386" -X86_64FLAGS="-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -arch x86_64" +X86_64FLAGS="-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -arch x86_64 -ggdb" X86_64CC="/usr/bin/gcc-4.2" X86_64CXX="/usr/bin/g++-4.2" X86_64HOST="x86_64-apple-darwin9" @@ -29,30 +29,37 @@ if [ "$1" = "clean" ]; then fi if [ "$1" = "ios" ]; then IOSCFLAGS="-miphoneos-version-min=3.1" - IOSPATH="${PWD}/opt-ios" + IOS6PATH="${PWD}/opt-ios6" + IOS7PATH="${PWD}/opt-ios7" SIMULATORPATH="${PWD}/opt-simulator" echo "Copying PJProject" PJPROJECTNAME="pjproject" - cp -R ${PJPROJECTNAME} ${PJPROJECTNAME}-ios - echo "#define PJ_CONFIG_IPHONE 1" > ${PJPROJECTNAME}-ios/pjlib/include/pj/config_site.h - echo "#include " >> ${PJPROJECTNAME}-ios/pjlib/include/pj/config_site.h + cp -R ${PJPROJECTNAME} ${PJPROJECTNAME}-ios6 + echo "#define PJ_CONFIG_IPHONE 1" > ${PJPROJECTNAME}-ios6/pjlib/include/pj/config_site.h + echo "#include " >> ${PJPROJECTNAME}-ios6/pjlib/include/pj/config_site.h OLDDIR="${PWD}" - cd ${PJPROJECTNAME}-ios + cd ${PJPROJECTNAME}-ios6 patch -p0 < "${OLDDIR}/mips_test.patch" cd "${OLDDIR}" - cp -R ${PJPROJECTNAME}-ios ${PJPROJECTNAME}-simulator + cp -R ${PJPROJECTNAME}-ios6 ${PJPROJECTNAME}-ios7 + cp -R ${PJPROJECTNAME}-ios6 ${PJPROJECTNAME}-simulator echo "Configuring PJProject" - cd ${PJPROJECTNAME}-ios - CFLAGS="${IOSCFLAGS}" CFLAGS="${IOSCFLAGS}" ./configure-iphone --prefix="${IOSPATH}" + cd ${PJPROJECTNAME}-ios6 + CC="/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv6" CFLAGS="${IOSCFLAGS}" ./configure-iphone --prefix="${IOS6PATH}" + cd ../${PJPROJECTNAME}-ios7 + CC="/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv7" CFLAGS="${IOSCFLAGS}" ./configure-iphone --prefix="${IOS7PATH}" cd ../${PJPROJECTNAME}-simulator - DEVPATH="/Developer/Platforms/iPhoneSimulator.platform/Developer" CC="/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.0" CFLAGS="${IOSCFLAGS}" CFLAGS="${IOSCFLAGS}" ./configure-iphone --prefix="${SIMULATORPATH}" + DEVPATH="/Developer/Platforms/iPhoneSimulator.platform/Developer" CC="/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2" CFLAGS="${IOSCFLAGS}" ./configure-iphone --prefix="${SIMULATORPATH}" cd ../ echo "Compiling PJProject" - cd ${PJPROJECTNAME}-ios + cd ${PJPROJECTNAME}-ios6 + make dep + make + cd ../${PJPROJECTNAME}-ios7 make dep make cd ../${PJPROJECTNAME}-simulator @@ -61,7 +68,9 @@ if [ "$1" = "ios" ]; then cd ../ echo "Installing PJProject" - cd ${PJPROJECTNAME}-ios + cd ${PJPROJECTNAME}-ios6 + make install + cd ../${PJPROJECTNAME}-ios7 make install cd ../${PJPROJECTNAME}-simulator make install @@ -70,28 +79,30 @@ if [ "$1" = "ios" ]; then echo "Making PJProject Universal" mkdir -p "${FINALPATH}/lib/pkgconfig" cp -R "${PPCPATH}/include" "${FINALPATH}/include" - lipo -create "${IOSPATH}/lib/libg7221codec-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libg7221codec-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libg7221codec-ios-universal.a" - lipo -create "${IOSPATH}/lib/libgsmcodec-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libgsmcodec-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libgsmcodec-ios-universal.a" - lipo -create "${IOSPATH}/lib/libilbccodec-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libilbccodec-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libilbccodec-ios-universal.a" - lipo -create "${IOSPATH}/lib/libmilenage-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libmilenage-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libmilenage-ios-universal.a" - lipo -create "${IOSPATH}/lib/libpj-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpj-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpj-ios-universal.a" - lipo -create "${IOSPATH}/lib/libpjlib-util-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjlib-util-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjlib-util-ios-universal.a" - lipo -create "${IOSPATH}/lib/libpjmedia-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjmedia-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjmedia-ios-universal.a" - lipo -create "${IOSPATH}/lib/libpjmedia-audiodev-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjmedia-audiodev-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjmedia-audiodev-ios-universal.a" - lipo -create "${IOSPATH}/lib/libpjmedia-codec-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjmedia-codec-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjmedia-codec-ios-universal.a" - lipo -create "${IOSPATH}/lib/libpjnath-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjnath-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjnath-ios-universal.a" - lipo -create "${IOSPATH}/lib/libpjsip-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjsip-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjsip-ios-universal.a" - lipo -create "${IOSPATH}/lib/libpjsip-simple-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjsip-simple-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjsip-simple-ios-universal.a" - lipo -create "${IOSPATH}/lib/libpjsip-ua-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjsip-ua-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjsip-ua-ios-universal.a" - lipo -create "${IOSPATH}/lib/libpjsua-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjsua-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjsua-ios-universal.a" - lipo -create "${IOSPATH}/lib/libresample-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libresample-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libresample-ios-universal.a" - lipo -create "${IOSPATH}/lib/libspeex-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libspeex-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libspeex-ios-universal.a" - lipo -create "${IOSPATH}/lib/libsrtp-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libsrtp-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libsrtp-ios-universal.a" + lipo -create "${IOS6PATH}/lib/libg7221codec-arm-apple-darwin9.a" "${IOS7PATH}/lib/libg7221codec-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libg7221codec-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libg7221codec-ios-universal.a" + lipo -create "${IOS6PATH}/lib/libgsmcodec-arm-apple-darwin9.a" "${IOS7PATH}/lib/libgsmcodec-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libgsmcodec-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libgsmcodec-ios-universal.a" + lipo -create "${IOS6PATH}/lib/libilbccodec-arm-apple-darwin9.a" "${IOS7PATH}/lib/libilbccodec-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libilbccodec-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libilbccodec-ios-universal.a" + lipo -create "${IOS6PATH}/lib/libmilenage-arm-apple-darwin9.a" "${IOS7PATH}/lib/libmilenage-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libmilenage-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libmilenage-ios-universal.a" + lipo -create "${IOS6PATH}/lib/libpj-arm-apple-darwin9.a" "${IOS7PATH}/lib/libpj-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpj-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpj-ios-universal.a" + lipo -create "${IOS6PATH}/lib/libpjlib-util-arm-apple-darwin9.a" "${IOS7PATH}/lib/libpjlib-util-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjlib-util-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjlib-util-ios-universal.a" + lipo -create "${IOS6PATH}/lib/libpjmedia-arm-apple-darwin9.a" "${IOS7PATH}/lib/libpjmedia-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjmedia-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjmedia-ios-universal.a" + lipo -create "${IOS6PATH}/lib/libpjmedia-audiodev-arm-apple-darwin9.a" "${IOS7PATH}/lib/libpjmedia-audiodev-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjmedia-audiodev-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjmedia-audiodev-ios-universal.a" + lipo -create "${IOS6PATH}/lib/libpjmedia-codec-arm-apple-darwin9.a" "${IOS7PATH}/lib/libpjmedia-codec-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjmedia-codec-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjmedia-codec-ios-universal.a" + lipo -create "${IOS6PATH}/lib/libpjnath-arm-apple-darwin9.a" "${IOS7PATH}/lib/libpjnath-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjnath-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjnath-ios-universal.a" + lipo -create "${IOS6PATH}/lib/libpjsip-arm-apple-darwin9.a" "${IOS7PATH}/lib/libpjsip-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjsip-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjsip-ios-universal.a" + lipo -create "${IOS6PATH}/lib/libpjsip-simple-arm-apple-darwin9.a" "${IOS7PATH}/lib/libpjsip-simple-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjsip-simple-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjsip-simple-ios-universal.a" + lipo -create "${IOS6PATH}/lib/libpjsip-ua-arm-apple-darwin9.a" "${IOS7PATH}/lib/libpjsip-ua-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjsip-ua-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjsip-ua-ios-universal.a" + lipo -create "${IOS6PATH}/lib/libpjsua-arm-apple-darwin9.a" "${IOS7PATH}/lib/libpjsua-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libpjsua-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libpjsua-ios-universal.a" + lipo -create "${IOS6PATH}/lib/libresample-arm-apple-darwin9.a" "${IOS7PATH}/lib/libresample-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libresample-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libresample-ios-universal.a" + lipo -create "${IOS6PATH}/lib/libspeex-arm-apple-darwin9.a" "${IOS7PATH}/lib/libspeex-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libspeex-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libspeex-ios-universal.a" + lipo -create "${IOS6PATH}/lib/libsrtp-arm-apple-darwin9.a" "${IOS7PATH}/lib/libsrtp-arm-apple-darwin9.a" "${SIMULATORPATH}/lib/libsrtp-arm-apple-darwin9.a" -output "${FINALPATH}/lib/libsrtp-ios-universal.a" fi if [ "$1" = "" ]; then echo "Copying PJProject" PJPROJECTNAME="pjproject" cp -R ${PJPROJECTNAME} ${PJPROJECTNAME}-ppc + echo "#define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0" > ${PJPROJECTNAME}-ppc/pjlib/include/pj/config_site.h + echo "#define PJMEDIA_AUDIO_DEV_HAS_COREAUDIO 1" >> ${PJPROJECTNAME}-ppc/pjlib/include/pj/config_site.h cp -R ${PJPROJECTNAME}-ppc ${PJPROJECTNAME}-i386 cp -R ${PJPROJECTNAME}-ppc ${PJPROJECTNAME}-x86_64 diff --git a/SIP/notes.txt b/SIP/notes.txt index c16806e..ccc27c6 100755 --- a/SIP/notes.txt +++ b/SIP/notes.txt @@ -3,7 +3,7 @@ To get the latest source to PJProject, run the command below. svn checkout http://svn.pjsip.org/repos/pjproject/trunk pjproject To get the revision that I am using in VoiceMac and VoiceMob, run the command below. -svn checkout -r 3346 http://svn.pjsip.org/repos/pjproject/trunk pjproject +svn checkout -r 3412 http://svn.pjsip.org/repos/pjproject/trunk pjproject Building. To build for VoiceMac, run the command below. diff --git a/Theme Tester.xcodeproj/project.pbxproj b/Theme Tester.xcodeproj/project.pbxproj index 8716ffa..5640c61 100644 --- a/Theme Tester.xcodeproj/project.pbxproj +++ b/Theme Tester.xcodeproj/project.pbxproj @@ -7,9 +7,9 @@ objects = { /* Begin PBXBuildFile section */ + 2A19272612B7BD0F00B065ED /* blankicon.png in Resources */ = {isa = PBXBuildFile; fileRef = 2A19272512B7BD0F00B065ED /* blankicon.png */; }; 2A6D4DF412470DC0009C4029 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A6D4DF012470DC0009C4029 /* main.m */; }; 2A6D4DF512470DC0009C4029 /* MGMThemeTesterController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A6D4DF212470DC0009C4029 /* MGMThemeTesterController.m */; }; - 2A6D4DFC12470E0A009C4029 /* blankicon.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 2A6D4DF712470E0A009C4029 /* blankicon.jpg */; }; 2A6D4DFD12470E0A009C4029 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2A6D4DF812470E0A009C4029 /* InfoPlist.strings */; }; 2A6D4E0112470E1E009C4029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A6D4E0012470E1E009C4029 /* MainMenu.xib */; }; 2A6D4E0C12470E9D009C4029 /* VoiceBase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A6D4E0A12470E83009C4029 /* VoiceBase.framework */; }; @@ -35,6 +35,13 @@ remoteGlobalIDString = 8DC2EF4F0486A6940098B216; remoteInfo = VoiceBase; }; + 2AE6A4891272582D00379CDA /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 2A6D4E0512470E83009C4029 /* VoiceBase.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2AE6EE531249DA0B0006B5AC; + remoteInfo = "VoiceBase Touch"; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -57,11 +64,11 @@ 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; + 2A19272512B7BD0F00B065ED /* blankicon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = blankicon.png; sourceTree = ""; }; 2A6D4DF012470DC0009C4029 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "Classes/Theme Tester/main.m"; sourceTree = ""; }; 2A6D4DF112470DC0009C4029 /* MGMThemeTesterController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMThemeTesterController.h; sourceTree = ""; }; 2A6D4DF212470DC0009C4029 /* MGMThemeTesterController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMThemeTesterController.m; sourceTree = ""; }; 2A6D4DF312470DC0009C4029 /* Theme Tester_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "Theme Tester_Prefix.pch"; path = "Classes/Theme Tester/Theme Tester_Prefix.pch"; sourceTree = ""; }; - 2A6D4DF712470E0A009C4029 /* blankicon.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = blankicon.jpg; sourceTree = ""; }; 2A6D4DF912470E0A009C4029 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; 2A6D4DFA12470E0A009C4029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = ""; }; 2A6D4DFB12470E0A009C4029 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; @@ -159,7 +166,7 @@ isa = PBXGroup; children = ( 2A6D4DFB12470E0A009C4029 /* Info.plist */, - 2A6D4DF712470E0A009C4029 /* blankicon.jpg */, + 2A19272512B7BD0F00B065ED /* blankicon.png */, 2A6D4DF812470E0A009C4029 /* InfoPlist.strings */, 2A6D4E0012470E1E009C4029 /* MainMenu.xib */, ); @@ -171,6 +178,7 @@ isa = PBXGroup; children = ( 2A6D4E0A12470E83009C4029 /* VoiceBase.framework */, + 2AE6A48A1272582D00379CDA /* libVoiceBase.a */, ); name = Products; sourceTree = ""; @@ -233,6 +241,13 @@ remoteRef = 2A6D4E0912470E83009C4029 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 2AE6A48A1272582D00379CDA /* libVoiceBase.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libVoiceBase.a; + remoteRef = 2AE6A4891272582D00379CDA /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -240,9 +255,9 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2A6D4DFC12470E0A009C4029 /* blankicon.jpg in Resources */, 2A6D4DFD12470E0A009C4029 /* InfoPlist.strings in Resources */, 2A6D4E0112470E1E009C4029 /* MainMenu.xib in Resources */, + 2A19272612B7BD0F00B065ED /* blankicon.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -337,13 +352,16 @@ ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_OPTIMIZATION_LEVEL = 0; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = 4.2; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = /usr/include/libxml2; MACOSX_DEPLOYMENT_TARGET = 10.4; + "MACOSX_DEPLOYMENT_TARGET[arch=x86_64]" = 10.5; ONLY_ACTIVE_ARCH = YES; PREBINDING = NO; - SDKROOT = macosx10.5; + SDKROOT = macosx10.6; + VALID_ARCHS = "ppc i386 x86_64"; }; name = Debug; }; @@ -356,12 +374,15 @@ x86_64, ); GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = 4.2; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = /usr/include/libxml2; MACOSX_DEPLOYMENT_TARGET = 10.4; + "MACOSX_DEPLOYMENT_TARGET[arch=x86_64]" = 10.5; PREBINDING = NO; - SDKROOT = macosx10.5; + SDKROOT = macosx10.6; + VALID_ARCHS = "ppc i386 x86_64"; }; name = Release; }; diff --git a/VoiceBase.xcodeproj/project.pbxproj b/VoiceBase.xcodeproj/project.pbxproj index 2c85213..0f4ae66 100644 --- a/VoiceBase.xcodeproj/project.pbxproj +++ b/VoiceBase.xcodeproj/project.pbxproj @@ -35,8 +35,6 @@ 2A1171DE1245678600D119B5 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2A1171DB1245678600D119B5 /* InfoPlist.strings */; }; 2A1172991245684600D119B5 /* MGMUsers.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A1172981245684600D119B5 /* MGMUsers.framework */; }; 2A1172BB124569AC00D119B5 /* AddressBook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A1172BA124569AC00D119B5 /* AddressBook.framework */; }; - 2A1172F312456BFA00D119B5 /* libssl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A1172F212456BFA00D119B5 /* libssl.dylib */; }; - 2A1172FA12456C2B00D119B5 /* libcrypto.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A1172F912456C2B00D119B5 /* libcrypto.dylib */; }; 2A1172FE12456C3800D119B5 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A1172FD12456C3800D119B5 /* CoreAudio.framework */; }; 2A11730912456C4F00D119B5 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A11730812456C4F00D119B5 /* AudioToolbox.framework */; }; 2A11730D12456C5F00D119B5 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A11730C12456C5F00D119B5 /* AudioUnit.framework */; }; @@ -84,7 +82,6 @@ 2A487CD3124BE22E00E8EE4E /* MGMXMLNode.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A487C9D124BE0AB00E8EE4E /* MGMXMLNode.h */; settings = {ATTRIBUTES = (Public, ); }; }; 2A487CD4124BE22E00E8EE4E /* MGMXMLNodeOptions.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A487C9F124BE0AB00E8EE4E /* MGMXMLNodeOptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; 2A487CD5124BE22E00E8EE4E /* VoiceBase.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A1171BE1245676A00D119B5 /* VoiceBase.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A487D0D124BE40700E8EE4E /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A487CF0124BE3E600E8EE4E /* libxml2.dylib */; }; 2A487D0F124BE41B00E8EE4E /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A487D0E124BE41B00E8EE4E /* libxml2.dylib */; }; 2A77133C124C4CE200D68042 /* MGMSound.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 2A77133A124C4CE200D68042 /* MGMSound.h */; settings = {ATTRIBUTES = (Public, ); }; }; 2A77133D124C4CE200D68042 /* MGMSound.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A77133B124C4CE200D68042 /* MGMSound.m */; }; @@ -92,6 +89,8 @@ 2A771344124C4F9A00D68042 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A771343124C4F9A00D68042 /* AVFoundation.framework */; }; 2A7713BD124C6A4900D68042 /* MGMSound.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A77133B124C4CE200D68042 /* MGMSound.m */; }; 2A7713BF124C6A5B00D68042 /* MGMSound.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A77133A124C4CE200D68042 /* MGMSound.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2AB13633130AB39C00F2B0E8 /* libxml2.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2AB13632130AB39C00F2B0E8 /* libxml2.2.dylib */; }; + 2AB13634130AB39C00F2B0E8 /* libxml2.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2AB13632130AB39C00F2B0E8 /* libxml2.2.dylib */; }; 2AE6EE621249DA790006B5AC /* MGMAddressBook.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A1171A61245676A00D119B5 /* MGMAddressBook.m */; }; 2AE6EE631249DA790006B5AC /* MGMContacts.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A1171A81245676A00D119B5 /* MGMContacts.m */; }; 2AE6EE641249DA790006B5AC /* MGMContactsProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A1171AA1245676A00D119B5 /* MGMContactsProtocol.m */; }; @@ -107,6 +106,10 @@ 2AE6EE701249DA870006B5AC /* libMGMUsers.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2AE6EE0F1249D70F0006B5AC /* libMGMUsers.a */; }; 2AE6EE761249DB2F0006B5AC /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2AE6EE751249DB2F0006B5AC /* CoreGraphics.framework */; }; 2AE6EE7A1249DB2F0006B5AC /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2AE6EE791249DB2F0006B5AC /* UIKit.framework */; }; + 2AE8D44B1309EFF500D0104B /* libcrypto.0.9.7.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2AE8D44A1309EFF500D0104B /* libcrypto.0.9.7.dylib */; }; + 2AE8D44C1309EFF500D0104B /* libcrypto.0.9.7.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2AE8D44A1309EFF500D0104B /* libcrypto.0.9.7.dylib */; }; + 2AE8D44E1309F00200D0104B /* libssl.0.9.7.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2AE8D44D1309F00200D0104B /* libssl.0.9.7.dylib */; }; + 2AE8D44F1309F00200D0104B /* libssl.0.9.7.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2AE8D44D1309F00200D0104B /* libssl.0.9.7.dylib */; }; 8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; }; /* End PBXBuildFile section */ @@ -179,8 +182,6 @@ 2A1171DD1245678600D119B5 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 2A1172981245684600D119B5 /* MGMUsers.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MGMUsers.framework; path = Frameworks/MGMUsers.framework; sourceTree = ""; }; 2A1172BA124569AC00D119B5 /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; }; - 2A1172F212456BFA00D119B5 /* libssl.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libssl.dylib; path = usr/lib/libssl.dylib; sourceTree = SDKROOT; }; - 2A1172F912456C2B00D119B5 /* libcrypto.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libcrypto.dylib; path = usr/lib/libcrypto.dylib; sourceTree = SDKROOT; }; 2A1172FD12456C3800D119B5 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; 2A11730812456C4F00D119B5 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 2A11730C12456C5F00D119B5 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; @@ -201,12 +202,12 @@ 2A487C9E124BE0AB00E8EE4E /* MGMXMLNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMXMLNode.m; sourceTree = ""; }; 2A487C9F124BE0AB00E8EE4E /* MGMXMLNodeOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMXMLNodeOptions.h; sourceTree = ""; }; 2A487CAE124BE0C400E8EE4E /* MGMXML.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMXML.h; sourceTree = ""; }; - 2A487CF0124BE3E600E8EE4E /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = usr/lib/libxml2.dylib; sourceTree = SDKROOT; }; 2A487D0E124BE41B00E8EE4E /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = usr/lib/libxml2.dylib; sourceTree = SDKROOT; }; 2A77133A124C4CE200D68042 /* MGMSound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSound.h; sourceTree = ""; }; 2A77133B124C4CE200D68042 /* MGMSound.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSound.m; sourceTree = ""; }; 2A77133F124C4D2800D68042 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 2A771343124C4F9A00D68042 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + 2AB13632130AB39C00F2B0E8 /* libxml2.2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.2.dylib; path = usr/lib/libxml2.2.dylib; sourceTree = SDKROOT; }; 2AE6EE0F1249D70F0006B5AC /* libMGMUsers.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMGMUsers.a; path = Libraries/lib/libMGMUsers.a; sourceTree = ""; }; 2AE6EE531249DA0B0006B5AC /* libVoiceBase.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libVoiceBase.a; sourceTree = BUILT_PRODUCTS_DIR; }; 2AE6EE731249DB2F0006B5AC /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; @@ -214,6 +215,8 @@ 2AE6EE771249DB2F0006B5AC /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 2AE6EE791249DB2F0006B5AC /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 2AE6EF191249DBA70006B5AC /* VoiceBaseTouch_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VoiceBaseTouch_Prefix.pch; path = Classes/VoiceBase/VoiceBaseTouch_Prefix.pch; sourceTree = ""; }; + 2AE8D44A1309EFF500D0104B /* libcrypto.0.9.7.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libcrypto.0.9.7.dylib; path = usr/lib/libcrypto.0.9.7.dylib; sourceTree = SDKROOT; }; + 2AE8D44D1309F00200D0104B /* libssl.0.9.7.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libssl.0.9.7.dylib; path = usr/lib/libssl.0.9.7.dylib; sourceTree = SDKROOT; }; 8DC2EF5B0486A6940098B216 /* VoiceBase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = VoiceBase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D2F7E79907B2D74100F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; /* End PBXFileReference section */ @@ -231,6 +234,9 @@ 2A771344124C4F9A00D68042 /* AVFoundation.framework in Frameworks */, 2A1E9723124D174200D3BEAE /* CoreAudio.framework in Frameworks */, 2A1E9754124D187500D3BEAE /* SystemConfiguration.framework in Frameworks */, + 2AE8D44C1309EFF500D0104B /* libcrypto.0.9.7.dylib in Frameworks */, + 2AE8D44F1309F00200D0104B /* libssl.0.9.7.dylib in Frameworks */, + 2AB13634130AB39C00F2B0E8 /* libxml2.2.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -241,13 +247,13 @@ 8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */, 2A1172991245684600D119B5 /* MGMUsers.framework in Frameworks */, 2A1172BB124569AC00D119B5 /* AddressBook.framework in Frameworks */, - 2A1172F312456BFA00D119B5 /* libssl.dylib in Frameworks */, - 2A1172FA12456C2B00D119B5 /* libcrypto.dylib in Frameworks */, - 2A487D0D124BE40700E8EE4E /* libxml2.dylib in Frameworks */, 2A1172FE12456C3800D119B5 /* CoreAudio.framework in Frameworks */, 2A11730912456C4F00D119B5 /* AudioToolbox.framework in Frameworks */, 2A11730D12456C5F00D119B5 /* AudioUnit.framework in Frameworks */, 2A11731112456C6D00D119B5 /* SystemConfiguration.framework in Frameworks */, + 2AE8D44B1309EFF500D0104B /* libcrypto.0.9.7.dylib in Frameworks */, + 2AE8D44E1309F00200D0104B /* libssl.0.9.7.dylib in Frameworks */, + 2AB13633130AB39C00F2B0E8 /* libxml2.2.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -377,9 +383,9 @@ 2A1172F612456C0600D119B5 /* Linked Libraries */ = { isa = PBXGroup; children = ( - 2A1172F212456BFA00D119B5 /* libssl.dylib */, - 2A1172F912456C2B00D119B5 /* libcrypto.dylib */, - 2A487CF0124BE3E600E8EE4E /* libxml2.dylib */, + 2AE8D44D1309F00200D0104B /* libssl.0.9.7.dylib */, + 2AE8D44A1309EFF500D0104B /* libcrypto.0.9.7.dylib */, + 2AB13632130AB39C00F2B0E8 /* libxml2.2.dylib */, ); name = "Linked Libraries"; sourceTree = ""; @@ -672,20 +678,22 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = ( - ppc, + ppc7400, i386, x86_64, ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_OPTIMIZATION_LEVEL = 0; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = 4.2; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = /usr/include/libxml2; MACOSX_DEPLOYMENT_TARGET = 10.4; + "MACOSX_DEPLOYMENT_TARGET[arch=x86_64]" = 10.5; ONLY_ACTIVE_ARCH = YES; PREBINDING = NO; - SDKROOT = macosx10.5; + SDKROOT = macosx10.6; + VALID_ARCHS = "ppc7400 i386 x86_64"; }; name = Debug; }; @@ -693,18 +701,20 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = ( - ppc, + ppc7400, i386, x86_64, ); GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = 4.2; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = /usr/include/libxml2; MACOSX_DEPLOYMENT_TARGET = 10.4; + "MACOSX_DEPLOYMENT_TARGET[arch=x86_64]" = 10.5; PREBINDING = NO; - SDKROOT = macosx10.5; + SDKROOT = macosx10.6; + VALID_ARCHS = "ppc7400 i386 x86_64"; }; name = Release; }; @@ -712,13 +722,13 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = ( - ppc, + ppc7400, i386, x86_64, ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_OPTIMIZATION_LEVEL = 0; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = 4.2; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( @@ -727,6 +737,7 @@ ); LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/SIP/opt/lib\""; MACOSX_DEPLOYMENT_TARGET = 10.4; + "MACOSX_DEPLOYMENT_TARGET[arch=x86_64]" = 10.5; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = ( "-DPJ_AUTOCONF=1", @@ -734,7 +745,8 @@ "-DMGMSIPENABLED=1", ); PREBINDING = NO; - SDKROOT = macosx10.5; + SDKROOT = macosx10.6; + VALID_ARCHS = "ppc7400 i386 x86_64"; }; name = "Debug SIP"; }; @@ -789,12 +801,12 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = ( - ppc, + ppc7400, i386, x86_64, ); GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = 4.2; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( @@ -803,13 +815,15 @@ ); LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/SIP/opt/lib\""; MACOSX_DEPLOYMENT_TARGET = 10.4; + "MACOSX_DEPLOYMENT_TARGET[arch=x86_64]" = 10.5; OTHER_CFLAGS = ( "-DPJ_AUTOCONF=1", "-DNDEBUG", "-DMGMSIPENABLED=1", ); PREBINDING = NO; - SDKROOT = macosx10.5; + SDKROOT = macosx10.6; + VALID_ARCHS = "ppc7400 i386 x86_64"; }; name = "Release SIP"; }; @@ -866,6 +880,7 @@ GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREFIX_HEADER = Classes/VoiceBase/VoiceBaseTouch_Prefix.pch; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)/Libraries/include\"", @@ -875,17 +890,15 @@ "$(inherited)", "\"$(SRCROOT)/Libraries/lib\"", ); - OTHER_CFLAGS = ( - "-D__IPHONE_OS_VERSION_MIN_REQUIRED=030000", - "-fblocks", - ); + OTHER_CFLAGS = "-fblocks"; OTHER_LDFLAGS = ( "-ObjC", "-all_load", ); PREBINDING = NO; PRODUCT_NAME = VoiceBase; - SDKROOT = iphoneos4.1; + SDKROOT = iphoneos4.2; + VALID_ARCHS = "i386 armv6 armv7"; }; name = Debug; }; @@ -895,6 +908,7 @@ ALWAYS_SEARCH_USER_PATHS = NO; ARCHS = "$(ARCHS_STANDARD_32_BIT)"; GCC_PREFIX_HEADER = Classes/VoiceBase/VoiceBaseTouch_Prefix.pch; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)/Libraries/include\"", @@ -905,7 +919,6 @@ "\"$(SRCROOT)/Libraries/lib\"", ); OTHER_CFLAGS = ( - "-D__IPHONE_OS_VERSION_MIN_REQUIRED=030000", "-fblocks", "-DPJ_AUTOCONF=1", "-DNDEBUG", @@ -934,7 +947,8 @@ ); PREBINDING = NO; PRODUCT_NAME = VoiceBase; - SDKROOT = iphoneos4.1; + SDKROOT = iphoneos4.2; + VALID_ARCHS = "i386 armv6 armv7"; }; name = "Debug SIP"; }; @@ -947,6 +961,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_ENABLE_FIX_AND_CONTINUE = NO; GCC_PREFIX_HEADER = Classes/VoiceBase/VoiceBaseTouch_Prefix.pch; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)/Libraries/include\"", @@ -956,17 +971,15 @@ "$(inherited)", "\"$(SRCROOT)/Libraries/lib\"", ); - OTHER_CFLAGS = ( - "-D__IPHONE_OS_VERSION_MIN_REQUIRED=030000", - "-fblocks", - ); + OTHER_CFLAGS = "-fblocks"; OTHER_LDFLAGS = ( "-ObjC", "-all_load", ); PREBINDING = NO; PRODUCT_NAME = VoiceBase; - SDKROOT = iphoneos4.1; + SDKROOT = iphoneos4.2; + VALID_ARCHS = "i386 armv6 armv7"; ZERO_LINK = NO; }; name = Release; @@ -977,6 +990,7 @@ ALWAYS_SEARCH_USER_PATHS = NO; ARCHS = "$(ARCHS_STANDARD_32_BIT)"; GCC_PREFIX_HEADER = Classes/VoiceBase/VoiceBaseTouch_Prefix.pch; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)/Libraries/include\"", @@ -987,7 +1001,6 @@ "\"$(SRCROOT)/Libraries/lib\"", ); OTHER_CFLAGS = ( - "-D__IPHONE_OS_VERSION_MIN_REQUIRED=030000", "-fblocks", "-DPJ_AUTOCONF=1", "-DNDEBUG", @@ -1018,7 +1031,8 @@ PRIVATE_HEADERS_FOLDER_PATH = /usr/local/include/VoiceBase; PRODUCT_NAME = VoiceBase; PUBLIC_HEADERS_FOLDER_PATH = /usr/local/include/VoiceBase; - SDKROOT = iphoneos4.1; + SDKROOT = iphoneos4.2; + VALID_ARCHS = "i386 armv6 armv7"; }; name = "Release SIP"; }; diff --git a/VoiceMac.xcodeproj/project.pbxproj b/VoiceMac.xcodeproj/project.pbxproj index 079c619..5871088 100644 --- a/VoiceMac.xcodeproj/project.pbxproj +++ b/VoiceMac.xcodeproj/project.pbxproj @@ -6,6 +6,20 @@ objectVersion = 45; objects = { +/* Begin PBXAggregateTarget section */ + 2A9FE23513098D530061FB64 /* Build Directory */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 2A9FE23B13098D530061FB64 /* Build configuration list for PBXAggregateTarget "Build Directory" */; + buildPhases = ( + 2A9FE23C13098D600061FB64 /* ShellScript */, + ); + dependencies = ( + ); + name = "Build Directory"; + productName = "Build Directory"; + }; +/* End PBXAggregateTarget section */ + /* Begin PBXBuildFile section */ 2A03CC761247D45B00730F0C /* AccountSetup.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A03CC751247D45B00730F0C /* AccountSetup.xib */; }; 2A03CC781247D46600730F0C /* InboxWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A03CC771247D46600730F0C /* InboxWindow.xib */; }; @@ -21,6 +35,7 @@ 2A03CCA01247D75100730F0C /* SIPPane.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A03CC9F1247D75100730F0C /* SIPPane.xib */; }; 2A03CCA21247D75700730F0C /* SMSThemesPane.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A03CCA11247D75700730F0C /* SMSThemesPane.xib */; }; 2A03CCA41247D75C00730F0C /* SoundsPane.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A03CCA31247D75C00730F0C /* SoundsPane.xib */; }; + 2A0C3698127F40EF00334471 /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = 2A0C3697127F40EF00334471 /* dsa_pub.pem */; }; 2A11738212456E4300D119B5 /* MGMInboxPlayWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A11734112456E4300D119B5 /* MGMInboxPlayWindow.m */; }; 2A11738312456E4300D119B5 /* MGMInboxWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A11734312456E4300D119B5 /* MGMInboxWindow.m */; }; 2A11738412456E4300D119B5 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A11734412456E4300D119B5 /* main.m */; }; @@ -131,6 +146,13 @@ remoteGlobalIDString = 8DC2EF4F0486A6940098B216; remoteInfo = VoiceBase; }; + 2A9FE23D13098D950061FB64 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = 2A9FE23513098D530061FB64; + remoteInfo = "Build Directory"; + }; 2AE6EE591249DA2D0006B5AC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 2A1175EE1245700300D119B5 /* VoiceBase.xcodeproj */; @@ -164,6 +186,7 @@ 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; 2A03CC891247D5B100730F0C /* License.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = License.txt; sourceTree = SOURCE_ROOT; }; + 2A0C3697127F40EF00334471 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = dsa_pub.pem; sourceTree = ""; }; 2A11734012456E4300D119B5 /* MGMInboxPlayWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMInboxPlayWindow.h; sourceTree = ""; }; 2A11734112456E4300D119B5 /* MGMInboxPlayWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMInboxPlayWindow.m; sourceTree = ""; }; 2A11734212456E4300D119B5 /* MGMInboxWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMInboxWindow.h; sourceTree = ""; }; @@ -497,6 +520,7 @@ 2A03CC891247D5B100730F0C /* License.txt */, 2A117684124573D600D119B5 /* VoiceMac.icns */, 2A11740412456F2600D119B5 /* Info.plist */, + 2A0C3697127F40EF00334471 /* dsa_pub.pem */, 2A03CC751247D45B00730F0C /* AccountSetup.xib */, 2A1173B012456F2400D119B5 /* badge */, 2A11770312458C8A00D119B5 /* blankicon.png */, @@ -618,6 +642,7 @@ buildRules = ( ); dependencies = ( + 2A9FE23E13098D950061FB64 /* PBXTargetDependency */, 2A117651124571C900D119B5 /* PBXTargetDependency */, ); name = VoiceMac; @@ -649,6 +674,7 @@ projectRoot = ""; targets = ( 8D1107260486CEB800E47090 /* VoiceMac */, + 2A9FE23513098D530061FB64 /* Build Directory */, ); }; /* End PBXProject section */ @@ -737,11 +763,28 @@ 2A117685124573D600D119B5 /* VoiceMac.icns in Resources */, 2A11770412458C8A00D119B5 /* blankicon.png in Resources */, 2A03CC8A1247D5B100730F0C /* License.txt in Resources */, + 2A0C3698127F40EF00334471 /* dsa_pub.pem in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 2A9FE23C13098D600061FB64 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if [ \"$SRCROOT/build\" != \"$SYMROOT\" ]; then\n\tif [ -d \"$SRCROOT/build\" ]; then\n\t\t/bin/rm -Rf \"$SRCROOT/build\"\n\tfi\n\t/bin/ln -fs \"$SYMROOT\" \"$SRCROOT/build\"\nfi"; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 8D11072C0486CEB800E47090 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -789,6 +832,11 @@ name = VoiceBase; targetProxy = 2A117650124571C900D119B5 /* PBXContainerItemProxy */; }; + 2A9FE23E13098D950061FB64 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 2A9FE23513098D530061FB64 /* Build Directory */; + targetProxy = 2A9FE23D13098D950061FB64 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -941,12 +989,13 @@ ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_OPTIMIZATION_LEVEL = 0; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = 4.2; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "\"$(SRCROOT)/SIP/opt/include\""; LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/SIP/opt/lib\""; MACOSX_DEPLOYMENT_TARGET = 10.4; + "MACOSX_DEPLOYMENT_TARGET[arch=x86_64]" = 10.5; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = ( "-DPJ_AUTOCONF=1", @@ -954,7 +1003,8 @@ "-DMGMSIPENABLED=1", ); PREBINDING = NO; - SDKROOT = macosx10.5; + SDKROOT = macosx10.6; + VALID_ARCHS = "ppc i386 x86_64"; }; name = "Debug SIP"; }; @@ -992,19 +1042,21 @@ x86_64, ); GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = 4.2; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "\"$(SRCROOT)/SIP/opt/include\""; LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/SIP/opt/lib\""; MACOSX_DEPLOYMENT_TARGET = 10.4; + "MACOSX_DEPLOYMENT_TARGET[arch=x86_64]" = 10.5; OTHER_CFLAGS = ( "-DPJ_AUTOCONF=1", "-DNDEBUG", "-DMGMSIPENABLED=1", ); PREBINDING = NO; - SDKROOT = macosx10.5; + SDKROOT = macosx10.6; + VALID_ARCHS = "ppc i386 x86_64"; }; name = "Release SIP"; }; @@ -1030,6 +1082,34 @@ }; name = "Release SIP"; }; + 2A9FE23613098D530061FB64 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 2A9FE23713098D530061FB64 /* Debug SIP */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = "Debug SIP"; + }; + 2A9FE23813098D530061FB64 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 2A9FE23913098D530061FB64 /* Release SIP */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = "Release SIP"; + }; C01FCF4B08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1081,13 +1161,15 @@ ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_OPTIMIZATION_LEVEL = 0; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = 4.2; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.4; + "MACOSX_DEPLOYMENT_TARGET[arch=x86_64]" = 10.5; ONLY_ACTIVE_ARCH = YES; PREBINDING = NO; - SDKROOT = macosx10.5; + SDKROOT = macosx10.6; + VALID_ARCHS = "ppc i386 x86_64"; }; name = Debug; }; @@ -1100,18 +1182,31 @@ x86_64, ); GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = 4.2; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.4; + "MACOSX_DEPLOYMENT_TARGET[arch=x86_64]" = 10.5; PREBINDING = NO; - SDKROOT = macosx10.5; + SDKROOT = macosx10.6; + VALID_ARCHS = "ppc i386 x86_64"; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 2A9FE23B13098D530061FB64 /* Build configuration list for PBXAggregateTarget "Build Directory" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2A9FE23613098D530061FB64 /* Debug */, + 2A9FE23713098D530061FB64 /* Debug SIP */, + 2A9FE23813098D530061FB64 /* Release */, + 2A9FE23913098D530061FB64 /* Release SIP */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "VoiceMac" */ = { isa = XCConfigurationList; buildConfigurations = (