Fixed some possible leaks, and added isAfterTiger, ... to MGMSystemInfo
This commit is contained in:
parent
3002113549
commit
f54a3317f6
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
build
|
||||||
|
*.zip
|
||||||
|
GeckoReporter
|
@ -19,6 +19,7 @@
|
|||||||
IBOutlet NSButton *cancelButton;
|
IBOutlet NSButton *cancelButton;
|
||||||
MGMSender *mailSender;
|
MGMSender *mailSender;
|
||||||
}
|
}
|
||||||
|
+ (id)sharedBugWindow;
|
||||||
- (void)setButtonsEnabled:(BOOL)flag;
|
- (void)setButtonsEnabled:(BOOL)flag;
|
||||||
- (void)close;
|
- (void)close;
|
||||||
- (IBAction)send:(id)sender;
|
- (IBAction)send:(id)sender;
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
#import "MGMLog.h"
|
#import "MGMLog.h"
|
||||||
|
|
||||||
@implementation MGMBugWindow
|
@implementation MGMBugWindow
|
||||||
+ (id)new {
|
+ (id)sharedBugWindow {
|
||||||
return [[self alloc] init];
|
return [[self alloc] init];
|
||||||
}
|
}
|
||||||
- (id)init {
|
- (id)init {
|
||||||
@ -56,7 +56,7 @@
|
|||||||
- (IBAction)send:(id)sender {
|
- (IBAction)send:(id)sender {
|
||||||
[[NSUserDefaults standardUserDefaults] setObject:[userEmailField stringValue] forKey:MGMGRUserEmail];
|
[[NSUserDefaults standardUserDefaults] setObject:[userEmailField stringValue] forKey:MGMGRUserEmail];
|
||||||
if (mailSender==nil) {
|
if (mailSender==nil) {
|
||||||
mailSender = [[MGMSender new] retain];
|
mailSender = [MGMSender new];
|
||||||
[mailSender sendBug:[[bugView textStorage] string] reproduce:[[reproduceView textStorage] string] delegate:self];
|
[mailSender sendBug:[[bugView textStorage] string] reproduce:[[reproduceView textStorage] string] delegate:self];
|
||||||
}
|
}
|
||||||
[sendButton setTitle:MGMLocalized(@"Sending...", nil)];
|
[sendButton setTitle:MGMLocalized(@"Sending...", nil)];
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
IBOutlet NSButton *cancelButton;
|
IBOutlet NSButton *cancelButton;
|
||||||
MGMSender *mailSender;
|
MGMSender *mailSender;
|
||||||
}
|
}
|
||||||
|
+ (id)sharedContactWindow;
|
||||||
- (void)setButtonsEnabled:(BOOL)flag;
|
- (void)setButtonsEnabled:(BOOL)flag;
|
||||||
- (void)close;
|
- (void)close;
|
||||||
- (IBAction)send:(id)sender;
|
- (IBAction)send:(id)sender;
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
#import "MGMLog.h"
|
#import "MGMLog.h"
|
||||||
|
|
||||||
@implementation MGMContactWindow
|
@implementation MGMContactWindow
|
||||||
+ (id)new {
|
+ (id)sharedContactWindow {
|
||||||
return [[self alloc] init];
|
return [[self alloc] init];
|
||||||
}
|
}
|
||||||
- (id)init {
|
- (id)init {
|
||||||
@ -67,7 +67,7 @@
|
|||||||
[[NSUserDefaults standardUserDefaults] setObject:[userEmailField stringValue] forKey:MGMGRUserEmail];
|
[[NSUserDefaults standardUserDefaults] setObject:[userEmailField stringValue] forKey:MGMGRUserEmail];
|
||||||
[[NSUserDefaults standardUserDefaults] setObject:[userNameField stringValue] forKey:MGMGRUserName];
|
[[NSUserDefaults standardUserDefaults] setObject:[userNameField stringValue] forKey:MGMGRUserName];
|
||||||
if (mailSender==nil) {
|
if (mailSender==nil) {
|
||||||
mailSender = [[MGMSender new] retain];
|
mailSender = [MGMSender new];
|
||||||
[mailSender sendMessage:[[messageView textStorage] string] subject:[subjectPopUp titleOfSelectedItem] delegate:self];
|
[mailSender sendMessage:[[messageView textStorage] string] subject:[subjectPopUp titleOfSelectedItem] delegate:self];
|
||||||
}
|
}
|
||||||
[sendButton setTitle:MGMLocalized(@"Sending...", nil)];
|
[sendButton setTitle:MGMLocalized(@"Sending...", nil)];
|
||||||
|
@ -12,9 +12,9 @@
|
|||||||
|
|
||||||
@implementation MGMFeedback
|
@implementation MGMFeedback
|
||||||
- (IBAction)openBugReport:(id)sender {
|
- (IBAction)openBugReport:(id)sender {
|
||||||
[MGMBugWindow new];
|
[MGMBugWindow sharedBugWindow];
|
||||||
}
|
}
|
||||||
- (IBAction)openContact:(id)sender {
|
- (IBAction)openContact:(id)sender {
|
||||||
[MGMContactWindow new];
|
[MGMContactWindow sharedContactWindow];
|
||||||
}
|
}
|
||||||
@end
|
@end
|
||||||
|
@ -31,7 +31,7 @@ extern NSString * const MGMSaveLastDate;
|
|||||||
|
|
||||||
NSMenu *appMainMenu;
|
NSMenu *appMainMenu;
|
||||||
}
|
}
|
||||||
+ (id)newWindowWithReport:(NSString *)theReportFile reportDate:(NSDate *)theReportDate;
|
+ (id)sharedWindowWithReport:(NSString *)theReportFile reportDate:(NSDate *)theReportDate;
|
||||||
- (id)initWithReport:(NSString *)theReportFile reportDate:(NSDate *)theReportDate;
|
- (id)initWithReport:(NSString *)theReportFile reportDate:(NSDate *)theReportDate;
|
||||||
- (void)setButtonsEnabled:(BOOL)flag;
|
- (void)setButtonsEnabled:(BOOL)flag;
|
||||||
- (void)close;
|
- (void)close;
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
NSString * const MGMSaveLastDate = @"MGMSaveLastDate";
|
NSString * const MGMSaveLastDate = @"MGMSaveLastDate";
|
||||||
|
|
||||||
@implementation MGMReportWindow
|
@implementation MGMReportWindow
|
||||||
+ (id)newWindowWithReport:(NSString *)theReportFile reportDate:(NSDate *)theReportDate {
|
+ (id)sharedWindowWithReport:(NSString *)theReportFile reportDate:(NSDate *)theReportDate {
|
||||||
return [[self alloc] initWithReport:theReportFile reportDate:theReportDate];
|
return [[self alloc] initWithReport:theReportFile reportDate:theReportDate];
|
||||||
}
|
}
|
||||||
- (id)initWithReport:(NSString *)theReportFile reportDate:(NSDate *)theReportDate {
|
- (id)initWithReport:(NSString *)theReportFile reportDate:(NSDate *)theReportDate {
|
||||||
@ -29,7 +29,7 @@ NSString * const MGMSaveLastDate = @"MGMSaveLastDate";
|
|||||||
reportDate = [theReportDate retain];
|
reportDate = [theReportDate retain];
|
||||||
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
|
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
|
||||||
NSUserDefaults *userDefautls = [NSUserDefaults standardUserDefaults];
|
NSUserDefaults *userDefautls = [NSUserDefaults standardUserDefaults];
|
||||||
MGMSystemInfo *sysInfo = [MGMSystemInfo new];
|
MGMSystemInfo *sysInfo = [[MGMSystemInfo new] autorelease];
|
||||||
NSString *applicationName = [sysInfo applicationName];
|
NSString *applicationName = [sysInfo applicationName];
|
||||||
|
|
||||||
appMainMenu = [[[NSApplication sharedApplication] mainMenu] retain];
|
appMainMenu = [[[NSApplication sharedApplication] mainMenu] retain];
|
||||||
@ -91,7 +91,7 @@ NSString * const MGMSaveLastDate = @"MGMSaveLastDate";
|
|||||||
- (IBAction)sendReport:(id)sender {
|
- (IBAction)sendReport:(id)sender {
|
||||||
[[NSUserDefaults standardUserDefaults] setObject:[userEmailField stringValue] forKey:MGMGRUserEmail];
|
[[NSUserDefaults standardUserDefaults] setObject:[userEmailField stringValue] forKey:MGMGRUserEmail];
|
||||||
if (mailSender==nil) {
|
if (mailSender==nil) {
|
||||||
mailSender = [[MGMSender new] retain];
|
mailSender = [MGMSender new];
|
||||||
[mailSender sendReport:reportFile reportDate:reportDate userReport:[[userReportView textStorage] string] delegate:self];
|
[mailSender sendReport:reportFile reportDate:reportDate userReport:[[userReportView textStorage] string] delegate:self];
|
||||||
}
|
}
|
||||||
[sendButton setTitle:MGMLocalized(@"Sending...", nil)];
|
[sendButton setTitle:MGMLocalized(@"Sending...", nil)];
|
||||||
@ -101,7 +101,7 @@ NSString * const MGMSaveLastDate = @"MGMSaveLastDate";
|
|||||||
[[NSUserDefaults standardUserDefaults] setObject:[userEmailField stringValue] forKey:MGMGRUserEmail];
|
[[NSUserDefaults standardUserDefaults] setObject:[userEmailField stringValue] forKey:MGMGRUserEmail];
|
||||||
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:YES] forKey:MGMGRSendAll];
|
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:YES] forKey:MGMGRSendAll];
|
||||||
if (mailSender==nil) {
|
if (mailSender==nil) {
|
||||||
mailSender = [[MGMSender new] retain];
|
mailSender = [MGMSender new];
|
||||||
[mailSender sendReport:reportFile reportDate:reportDate userReport:[[userReportView textStorage] string] delegate:self];
|
[mailSender sendReport:reportFile reportDate:reportDate userReport:[[userReportView textStorage] string] delegate:self];
|
||||||
}
|
}
|
||||||
[sendAllButton setTitle:MGMLocalized(@"Sending...", nil)];
|
[sendAllButton setTitle:MGMLocalized(@"Sending...", nil)];
|
||||||
|
@ -12,8 +12,6 @@
|
|||||||
#import "MGMSystemInfo.h"
|
#import "MGMSystemInfo.h"
|
||||||
#import "MGMLog.h"
|
#import "MGMLog.h"
|
||||||
|
|
||||||
static MGMReporter *MGMReporterSingleton = nil;
|
|
||||||
|
|
||||||
NSString * const MGMReportsPath = @"~/Library/Logs/CrashReporter";
|
NSString * const MGMReportsPath = @"~/Library/Logs/CrashReporter";
|
||||||
NSString * const MGMGRDoneNotification = @"MGMGRDoneNotification";
|
NSString * const MGMGRDoneNotification = @"MGMGRDoneNotification";
|
||||||
NSString * const MGMGRUserEmail = @"MGMGRUserEmail";
|
NSString * const MGMGRUserEmail = @"MGMGRUserEmail";
|
||||||
@ -24,12 +22,7 @@ NSString * const MGMGRIgnoreAll = @"MGMGRIgnoreAll";
|
|||||||
|
|
||||||
@implementation MGMReporter
|
@implementation MGMReporter
|
||||||
+ (id)sharedReporter {
|
+ (id)sharedReporter {
|
||||||
@synchronized(self) {
|
return [[self alloc] init];
|
||||||
if (MGMReporterSingleton == nil) {
|
|
||||||
MGMReporterSingleton = [[self alloc] init];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return MGMReporterSingleton;
|
|
||||||
}
|
}
|
||||||
- (id)init {
|
- (id)init {
|
||||||
if (self = [super init]) {
|
if (self = [super init]) {
|
||||||
@ -38,7 +31,7 @@ NSString * const MGMGRIgnoreAll = @"MGMGRIgnoreAll";
|
|||||||
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
|
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
|
||||||
if ([userDefaults objectForKey:MGMGRIgnoreAll]==nil || ![[userDefaults objectForKey:MGMGRIgnoreAll] boolValue]) {
|
if ([userDefaults objectForKey:MGMGRIgnoreAll]==nil || ![[userDefaults objectForKey:MGMGRIgnoreAll] boolValue]) {
|
||||||
NSFileManager *manager = [NSFileManager defaultManager];
|
NSFileManager *manager = [NSFileManager defaultManager];
|
||||||
NSString *applicationName = [[MGMSystemInfo new] applicationEXECName];
|
NSString *applicationName = [[[MGMSystemInfo new] autorelease] applicationEXECName];
|
||||||
if (lastDate!=nil) {
|
if (lastDate!=nil) {
|
||||||
[lastDate release];
|
[lastDate release];
|
||||||
lastDate = nil;
|
lastDate = nil;
|
||||||
@ -68,11 +61,11 @@ NSString * const MGMGRIgnoreAll = @"MGMGRIgnoreAll";
|
|||||||
MGMLog(@"Latest Crash Report %@, %@", lastDate, lastCrashFile);
|
MGMLog(@"Latest Crash Report %@, %@", lastDate, lastCrashFile);
|
||||||
if ([userDefaults objectForKey:MGMGRSendAll]!=nil && [[userDefaults objectForKey:MGMGRSendAll] boolValue]) {
|
if ([userDefaults objectForKey:MGMGRSendAll]!=nil && [[userDefaults objectForKey:MGMGRSendAll] boolValue]) {
|
||||||
if (mailSender==nil) {
|
if (mailSender==nil) {
|
||||||
mailSender = [[MGMSender new] retain];
|
mailSender = [MGMSender new];
|
||||||
[mailSender sendReport:lastCrashFile reportDate:lastDate userReport:@"User set to send all." delegate:self];
|
[mailSender sendReport:lastCrashFile reportDate:lastDate userReport:@"User set to send all." delegate:self];
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
[MGMReportWindow newWindowWithReport:lastCrashFile reportDate:lastDate];
|
[MGMReportWindow sharedWindowWithReport:lastCrashFile reportDate:lastDate];
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
[[NSNotificationCenter defaultCenter] postNotificationName:MGMGRDoneNotification object:nil userInfo:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:NO], MGMSaveLastDate, nil]];
|
[[NSNotificationCenter defaultCenter] postNotificationName:MGMGRDoneNotification object:nil userInfo:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:NO], MGMSaveLastDate, nil]];
|
||||||
|
@ -111,8 +111,8 @@ NSString * const MGMGRLogFiles = @"MGMGRLogFiles";
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
- (NSDictionary *)defaultObjects {
|
- (NSDictionary *)defaultObjects {
|
||||||
MGMSystemInfo *sysInfo = [MGMSystemInfo new];
|
MGMSystemInfo *sysInfo = [[MGMSystemInfo new] autorelease];
|
||||||
NSMutableDictionary *objects = [NSMutableDictionary new];
|
NSMutableDictionary *objects = [NSMutableDictionary dictionary];
|
||||||
[objects setObject:[sysInfo frameworkVersion] forKey:@"GRVersion"];
|
[objects setObject:[sysInfo frameworkVersion] forKey:@"GRVersion"];
|
||||||
[objects setObject:[sysInfo applicationName] forKey:@"Application"];
|
[objects setObject:[sysInfo applicationName] forKey:@"Application"];
|
||||||
[objects setObject:[sysInfo applicationIdentifier] forKey:@"Application Identifier"];
|
[objects setObject:[sysInfo applicationIdentifier] forKey:@"Application Identifier"];
|
||||||
@ -153,7 +153,7 @@ NSString * const MGMGRLogFiles = @"MGMGRLogFiles";
|
|||||||
delegate = theDelegate;
|
delegate = theDelegate;
|
||||||
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
|
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
|
||||||
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
|
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
|
||||||
MGMSystemInfo *sysInfo = [MGMSystemInfo new];
|
MGMSystemInfo *sysInfo = [[MGMSystemInfo new] autorelease];
|
||||||
|
|
||||||
NSString *email = nil, *url = nil, *userEmail = nil, *logFiles = nil;
|
NSString *email = nil, *url = nil, *userEmail = nil, *logFiles = nil;
|
||||||
BOOL reportAttached = NO;
|
BOOL reportAttached = NO;
|
||||||
@ -233,7 +233,7 @@ NSString * const MGMGRLogFiles = @"MGMGRLogFiles";
|
|||||||
delegate = theDelegate;
|
delegate = theDelegate;
|
||||||
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
|
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
|
||||||
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
|
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
|
||||||
MGMSystemInfo *sysInfo = [MGMSystemInfo new];
|
MGMSystemInfo *sysInfo = [[MGMSystemInfo new] autorelease];
|
||||||
|
|
||||||
NSString *email = nil, *url = nil, *userEmail = nil;
|
NSString *email = nil, *url = nil, *userEmail = nil;
|
||||||
if ([userDefaults objectForKey:MGMGRBugsEmail]!=nil && ![[userDefaults objectForKey:MGMGRBugsEmail] isEqualToString:@""]) {
|
if ([userDefaults objectForKey:MGMGRBugsEmail]!=nil && ![[userDefaults objectForKey:MGMGRBugsEmail] isEqualToString:@""]) {
|
||||||
@ -293,7 +293,7 @@ NSString * const MGMGRLogFiles = @"MGMGRLogFiles";
|
|||||||
delegate = theDelegate;
|
delegate = theDelegate;
|
||||||
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
|
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
|
||||||
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
|
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
|
||||||
MGMSystemInfo *sysInfo = [MGMSystemInfo new];
|
MGMSystemInfo *sysInfo = [[MGMSystemInfo new] autorelease];
|
||||||
|
|
||||||
NSString *email = nil, *url = nil, *userEmail = nil, *userName = nil;
|
NSString *email = nil, *url = nil, *userEmail = nil, *userName = nil;
|
||||||
if ([userDefaults objectForKey:MGMGRBugsEmail]!=nil && ![[userDefaults objectForKey:MGMGRBugsEmail] isEqualToString:@""]) {
|
if ([userDefaults objectForKey:MGMGRBugsEmail]!=nil && ![[userDefaults objectForKey:MGMGRBugsEmail] isEqualToString:@""]) {
|
||||||
@ -360,8 +360,6 @@ NSString * const MGMGRLogFiles = @"MGMGRLogFiles";
|
|||||||
MGMLog(@"%@", [error localizedDescription]);
|
MGMLog(@"%@", [error localizedDescription]);
|
||||||
if (delegate!=nil && [delegate respondsToSelector:@selector(sendError:)])
|
if (delegate!=nil && [delegate respondsToSelector:@selector(sendError:)])
|
||||||
[delegate sendError:error];
|
[delegate sendError:error];
|
||||||
[self release];
|
|
||||||
self = nil;
|
|
||||||
} else {
|
} else {
|
||||||
[receivedData setLength:0];
|
[receivedData setLength:0];
|
||||||
}
|
}
|
||||||
@ -376,7 +374,6 @@ NSString * const MGMGRLogFiles = @"MGMGRLogFiles";
|
|||||||
if (delegate!=nil && [delegate respondsToSelector:@selector(sendError:)])
|
if (delegate!=nil && [delegate respondsToSelector:@selector(sendError:)])
|
||||||
[delegate sendError:error];
|
[delegate sendError:error];
|
||||||
[self release];
|
[self release];
|
||||||
self = nil;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
|
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
|
||||||
@ -385,7 +382,5 @@ NSString * const MGMGRLogFiles = @"MGMGRLogFiles";
|
|||||||
if (delegate!=nil && [delegate respondsToSelector:@selector(sendFinished:)])
|
if (delegate!=nil && [delegate respondsToSelector:@selector(sendFinished:)])
|
||||||
[delegate sendFinished:receivedString];
|
[delegate sendFinished:receivedString];
|
||||||
}
|
}
|
||||||
[self release];
|
|
||||||
self = nil;
|
|
||||||
}
|
}
|
||||||
@end
|
@end
|
@ -25,6 +25,13 @@
|
|||||||
- (int)OSBugFixVersion;
|
- (int)OSBugFixVersion;
|
||||||
- (NSString *)OSVersion;
|
- (NSString *)OSVersion;
|
||||||
- (NSString *)OSVersionName;
|
- (NSString *)OSVersionName;
|
||||||
|
- (BOOL)isAfterCheetah;
|
||||||
|
- (BOOL)isAfterPuma;
|
||||||
|
- (BOOL)isAfterJaguar;
|
||||||
|
- (BOOL)isAfterPanther;
|
||||||
|
- (BOOL)isAfterTiger;
|
||||||
|
- (BOOL)isAfterLeopard;
|
||||||
|
- (BOOL)isAfterSnowLeopard;
|
||||||
- (NSString *)language;
|
- (NSString *)language;
|
||||||
- (NSString *)applicationIdentifier;
|
- (NSString *)applicationIdentifier;
|
||||||
- (NSString *)applicationName;
|
- (NSString *)applicationName;
|
||||||
|
@ -31,10 +31,6 @@ NSString * const MGMModel = @"hw.model";
|
|||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation MGMSystemInfo
|
@implementation MGMSystemInfo
|
||||||
+ (id)new {
|
|
||||||
return [[[self alloc] init] autorelease];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (int)valueFromSystem:(NSString *)theName {
|
- (int)valueFromSystem:(NSString *)theName {
|
||||||
int value = 0;
|
int value = 0;
|
||||||
unsigned long length = sizeof(value);
|
unsigned long length = sizeof(value);
|
||||||
@ -207,6 +203,62 @@ NSString * const MGMModel = @"hw.model";
|
|||||||
return @"Unknown";
|
return @"Unknown";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (BOOL)isAfterCheetah {
|
||||||
|
if ([self OSMajorVersion]==10) {
|
||||||
|
int minorVersion = [self OSMinorVersion];
|
||||||
|
return (minorVersion=>0);
|
||||||
|
}
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)isAfterPuma {
|
||||||
|
if ([self OSMajorVersion]==10) {
|
||||||
|
int minorVersion = [self OSMinorVersion];
|
||||||
|
return (minorVersion=>1);
|
||||||
|
}
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)isAfterJaguar {
|
||||||
|
if ([self OSMajorVersion]==10) {
|
||||||
|
int minorVersion = [self OSMinorVersion];
|
||||||
|
return (minorVersion=>2);
|
||||||
|
}
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)isAfterPanther {
|
||||||
|
if ([self OSMajorVersion]==10) {
|
||||||
|
int minorVersion = [self OSMinorVersion];
|
||||||
|
return (minorVersion=>3);
|
||||||
|
}
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)isAfterTiger {
|
||||||
|
if ([self OSMajorVersion]==10) {
|
||||||
|
int minorVersion = [self OSMinorVersion];
|
||||||
|
return (minorVersion=>4);
|
||||||
|
}
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)isAfterLeopard {
|
||||||
|
if ([self OSMajorVersion]==10) {
|
||||||
|
int minorVersion = [self OSMinorVersion];
|
||||||
|
return (minorVersion=>5);
|
||||||
|
}
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)isAfterSnowLeopard {
|
||||||
|
if ([self OSMajorVersion]==10) {
|
||||||
|
int minorVersion = [self OSMinorVersion];
|
||||||
|
return (minorVersion=>6);
|
||||||
|
}
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
- (NSString *)language {
|
- (NSString *)language {
|
||||||
NSArray *languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];
|
NSArray *languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];
|
||||||
if (languages!=nil && [languages count]>=1)
|
if (languages!=nil && [languages count]>=1)
|
||||||
|
@ -136,22 +136,11 @@
|
|||||||
PBXFileDataSource_Warnings_ColumnID,
|
PBXFileDataSource_Warnings_ColumnID,
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
PBXPerProjectTemplateStateSaveDate = 284508832;
|
PBXPerProjectTemplateStateSaveDate = 284996359;
|
||||||
PBXWorkspaceStateSaveDate = 284508832;
|
PBXWorkspaceStateSaveDate = 284996359;
|
||||||
};
|
};
|
||||||
perUserProjectItems = {
|
perUserProjectItems = {
|
||||||
2A85029A10F05D6B00CA1273 = 2A85029A10F05D6B00CA1273 /* PBXTextBookmark */;
|
2A85029A10F05D6B00CA1273 /* PBXTextBookmark */ = 2A85029A10F05D6B00CA1273 /* PBXTextBookmark */;
|
||||||
2AB297B910F51A920080C6A1 = 2AB297B910F51A920080C6A1 /* PBXTextBookmark */;
|
|
||||||
2AB297E110F5428A0080C6A1 = 2AB297E110F5428A0080C6A1 /* PBXTextBookmark */;
|
|
||||||
2AB297F610F542DF0080C6A1 /* PBXTextBookmark */ = 2AB297F610F542DF0080C6A1 /* PBXTextBookmark */;
|
|
||||||
2AB2988010F5537F0080C6A1 /* PBXBookmark */ = 2AB2988010F5537F0080C6A1 /* PBXBookmark */;
|
|
||||||
2AB2988E10F5590F0080C6A1 /* PBXTextBookmark */ = 2AB2988E10F5590F0080C6A1 /* PBXTextBookmark */;
|
|
||||||
2AB2989710F5590F0080C6A1 /* PBXTextBookmark */ = 2AB2989710F5590F0080C6A1 /* PBXTextBookmark */;
|
|
||||||
2AB2989A10F5590F0080C6A1 /* PBXTextBookmark */ = 2AB2989A10F5590F0080C6A1 /* PBXTextBookmark */;
|
|
||||||
2AB2989C10F5590F0080C6A1 /* PBXTextBookmark */ = 2AB2989C10F5590F0080C6A1 /* PBXTextBookmark */;
|
|
||||||
2AB298A510F55CBA0080C6A1 /* PBXTextBookmark */ = 2AB298A510F55CBA0080C6A1 /* PBXTextBookmark */;
|
|
||||||
2AB298A610F55CBA0080C6A1 /* PBXTextBookmark */ = 2AB298A610F55CBA0080C6A1 /* PBXTextBookmark */;
|
|
||||||
2AB298A710F55CBA0080C6A1 /* PBXTextBookmark */ = 2AB298A710F55CBA0080C6A1 /* PBXTextBookmark */;
|
|
||||||
};
|
};
|
||||||
sourceControlManager = 2A478DA110E8456500EBC4A9 /* Source Control */;
|
sourceControlManager = 2A478DA110E8456500EBC4A9 /* Source Control */;
|
||||||
userBuildSettings = {
|
userBuildSettings = {
|
||||||
@ -163,7 +152,7 @@
|
|||||||
isSCMEnabled = 0;
|
isSCMEnabled = 0;
|
||||||
scmConfiguration = {
|
scmConfiguration = {
|
||||||
repositoryNamesForRoots = {
|
repositoryNamesForRoots = {
|
||||||
"" = "";
|
"" = GeckoReporter;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -182,24 +171,24 @@
|
|||||||
2A85014310EFA6A700CA1273 /* MGMFeedback.m */ = {
|
2A85014310EFA6A700CA1273 /* MGMFeedback.m */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {1176, 646}}";
|
sepNavIntBoundsRect = "{{0, 0}, {1176, 646}}";
|
||||||
sepNavSelRange = "{181, 0}";
|
sepNavSelRange = "{362, 0}";
|
||||||
sepNavVisRange = "{0, 424}";
|
sepNavVisRange = "{0, 452}";
|
||||||
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
2A85014710EFA81C00CA1273 /* MGMBugWindow.h */ = {
|
2A85014710EFA81C00CA1273 /* MGMBugWindow.h */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {1176, 646}}";
|
sepNavIntBoundsRect = "{{0, 0}, {1176, 646}}";
|
||||||
sepNavSelRange = "{182, 0}";
|
sepNavSelRange = "{521, 0}";
|
||||||
sepNavVisRange = "{0, 617}";
|
sepNavVisRange = "{0, 640}";
|
||||||
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
2A85014810EFA81C00CA1273 /* MGMBugWindow.m */ = {
|
2A85014810EFA81C00CA1273 /* MGMBugWindow.m */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {1012, 1092}}";
|
sepNavIntBoundsRect = "{{0, 0}, {1176, 1157}}";
|
||||||
sepNavSelRange = "{2035, 0}";
|
sepNavSelRange = "{332, 21}";
|
||||||
sepNavVisRange = "{0, 0}";
|
sepNavVisRange = "{0, 1109}";
|
||||||
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -224,16 +213,16 @@
|
|||||||
2AB2902810F132290080C6A1 /* MGMContactWindow.h */ = {
|
2AB2902810F132290080C6A1 /* MGMContactWindow.h */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {1176, 646}}";
|
sepNavIntBoundsRect = "{{0, 0}, {1176, 646}}";
|
||||||
sepNavSelRange = "{186, 0}";
|
sepNavSelRange = "{577, 0}";
|
||||||
sepNavVisRange = "{0, 669}";
|
sepNavVisRange = "{0, 696}";
|
||||||
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
2AB2902910F132290080C6A1 /* MGMContactWindow.m */ = {
|
2AB2902910F132290080C6A1 /* MGMContactWindow.m */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {1176, 1196}}";
|
sepNavIntBoundsRect = "{{0, 0}, {1176, 1352}}";
|
||||||
sepNavSelRange = "{1530, 13}";
|
sepNavSelRange = "{344, 25}";
|
||||||
sepNavVisRange = "{941, 1725}";
|
sepNavVisRange = "{0, 1243}";
|
||||||
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -242,36 +231,6 @@
|
|||||||
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
2AB297B910F51A920080C6A1 /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 2A85014810EFA81C00CA1273 /* MGMBugWindow.m */;
|
|
||||||
name = "MGMBugWindow.m: 80";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 2035;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 0;
|
|
||||||
vrLoc = 0;
|
|
||||||
};
|
|
||||||
2AB297E110F5428A0080C6A1 /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 2A85014810EFA81C00CA1273 /* MGMBugWindow.m */;
|
|
||||||
name = "MGMBugWindow.m: 80";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 2035;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 0;
|
|
||||||
vrLoc = 0;
|
|
||||||
};
|
|
||||||
2AB297F610F542DF0080C6A1 /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 2A85014810EFA81C00CA1273 /* MGMBugWindow.m */;
|
|
||||||
name = "MGMBugWindow.m: 80";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 2035;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 0;
|
|
||||||
vrLoc = 0;
|
|
||||||
};
|
|
||||||
2AB2983210F54BA00080C6A1 /* English */ = {
|
2AB2983210F54BA00080C6A1 /* English */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {2973, 646}}";
|
sepNavIntBoundsRect = "{{0, 0}, {2973, 646}}";
|
||||||
@ -311,95 +270,6 @@
|
|||||||
sepNavVisRange = "{0, 1229}";
|
sepNavVisRange = "{0, 1229}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
2AB2988010F5537F0080C6A1 /* PBXBookmark */ = {
|
|
||||||
isa = PBXBookmark;
|
|
||||||
fRef = 2AB2987E10F5537D0080C6A1 /* License.txt */;
|
|
||||||
};
|
|
||||||
2AB2988E10F5590F0080C6A1 /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 2A85014810EFA81C00CA1273 /* MGMBugWindow.m */;
|
|
||||||
name = "MGMBugWindow.m: 80";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 2035;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 0;
|
|
||||||
vrLoc = 0;
|
|
||||||
};
|
|
||||||
2AB2989710F5590F0080C6A1 /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 2AB2987E10F5537D0080C6A1 /* License.txt */;
|
|
||||||
name = "License.txt: 11";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 670;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 1229;
|
|
||||||
vrLoc = 0;
|
|
||||||
};
|
|
||||||
2AB2989A10F5590F0080C6A1 /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 2AB2989B10F5590F0080C6A1 /* Sparkle.strings */;
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 2147483647;
|
|
||||||
rType = 0;
|
|
||||||
};
|
|
||||||
2AB2989B10F5590F0080C6A1 /* Sparkle.strings */ = {
|
|
||||||
isa = PBXFileReference;
|
|
||||||
lastKnownFileType = text.plist.strings;
|
|
||||||
name = Sparkle.strings;
|
|
||||||
path = "/Users/grmrgecko/Downloads/Sparkle 1.5b6/Extras/Source Code/en.lproj/Sparkle.strings";
|
|
||||||
sourceTree = "<absolute>";
|
|
||||||
};
|
|
||||||
2AB2989C10F5590F0080C6A1 /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 2AB2989D10F5590F0080C6A1 /* Sparkle.strings */;
|
|
||||||
name = "Sparkle.strings: 1";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 0;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 2737;
|
|
||||||
vrLoc = 0;
|
|
||||||
};
|
|
||||||
2AB2989D10F5590F0080C6A1 /* Sparkle.strings */ = {
|
|
||||||
isa = PBXFileReference;
|
|
||||||
name = Sparkle.strings;
|
|
||||||
path = "/Users/grmrgecko/Downloads/Sparkle 1.5b6/Extras/Source Code/en.lproj/Sparkle.strings";
|
|
||||||
sourceTree = "<absolute>";
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {2588, 1105}}";
|
|
||||||
sepNavSelRange = "{0, 0}";
|
|
||||||
sepNavVisRange = "{0, 2737}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
2AB298A510F55CBA0080C6A1 /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 2A85014810EFA81C00CA1273 /* MGMBugWindow.m */;
|
|
||||||
name = "MGMBugWindow.m: 80";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 2035;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 0;
|
|
||||||
vrLoc = 0;
|
|
||||||
};
|
|
||||||
2AB298A610F55CBA0080C6A1 /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 2AB2987E10F5537D0080C6A1 /* License.txt */;
|
|
||||||
name = "License.txt: 11";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 670;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 1229;
|
|
||||||
vrLoc = 0;
|
|
||||||
};
|
|
||||||
2AB298A710F55CBA0080C6A1 /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 2AB2989D10F5590F0080C6A1 /* Sparkle.strings */;
|
|
||||||
name = "Sparkle.strings: 1";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 0;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 2737;
|
|
||||||
vrLoc = 0;
|
|
||||||
};
|
|
||||||
2AC8693C10EE7EDE000743D2 /* Prefix.pch */ = {
|
2AC8693C10EE7EDE000743D2 /* Prefix.pch */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {1176, 646}}";
|
sepNavIntBoundsRect = "{{0, 0}, {1176, 646}}";
|
||||||
@ -426,9 +296,9 @@
|
|||||||
};
|
};
|
||||||
2AC8694C10EE8062000743D2 /* MGMReporter.m */ = {
|
2AC8694C10EE8062000743D2 /* MGMReporter.m */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {1176, 1495}}";
|
sepNavIntBoundsRect = "{{0, 0}, {1176, 1352}}";
|
||||||
sepNavSelRange = "{183, 0}";
|
sepNavSelRange = "{791, 0}";
|
||||||
sepNavVisRange = "{0, 1845}";
|
sepNavVisRange = "{0, 2162}";
|
||||||
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -442,9 +312,9 @@
|
|||||||
};
|
};
|
||||||
2AC8694E10EE8062000743D2 /* MGMReportWindow.m */ = {
|
2AC8694E10EE8062000743D2 /* MGMReportWindow.m */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {1475, 1807}}";
|
sepNavIntBoundsRect = "{{0, 0}, {1475, 1846}}";
|
||||||
sepNavSelRange = "{3461, 13}";
|
sepNavSelRange = "{3108, 10}";
|
||||||
sepNavVisRange = "{2748, 2013}";
|
sepNavVisRange = "{1834, 1670}";
|
||||||
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -459,16 +329,16 @@
|
|||||||
2AC8695110EE8062000743D2 /* MGMSystemInfo.h */ = {
|
2AC8695110EE8062000743D2 /* MGMSystemInfo.h */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {1176, 646}}";
|
sepNavIntBoundsRect = "{{0, 0}, {1176, 646}}";
|
||||||
sepNavSelRange = "{185, 0}";
|
sepNavSelRange = "{568, 0}";
|
||||||
sepNavVisRange = "{0, 880}";
|
sepNavVisRange = "{0, 1046}";
|
||||||
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
2AC8695210EE8062000743D2 /* MGMSystemInfo.m */ = {
|
2AC8695210EE8062000743D2 /* MGMSystemInfo.m */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {1176, 3224}}";
|
sepNavIntBoundsRect = "{{0, 0}, {1176, 4030}}";
|
||||||
sepNavSelRange = "{86, 99}";
|
sepNavSelRange = "{4846, 914}";
|
||||||
sepNavVisRange = "{0, 1448}";
|
sepNavVisRange = "{4169, 1117}";
|
||||||
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -526,6 +396,21 @@
|
|||||||
dylibVariantSuffix = "";
|
dylibVariantSuffix = "";
|
||||||
enableDebugStr = 1;
|
enableDebugStr = 1;
|
||||||
environmentEntries = (
|
environmentEntries = (
|
||||||
|
{
|
||||||
|
active = YES;
|
||||||
|
name = NSDebugEnabled;
|
||||||
|
value = YES;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active = YES;
|
||||||
|
name = NSZombieEnabled;
|
||||||
|
value = YES;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active = YES;
|
||||||
|
name = MallocStackLogging;
|
||||||
|
value = YES;
|
||||||
|
},
|
||||||
);
|
);
|
||||||
executableSystemSymbolLevel = 0;
|
executableSystemSymbolLevel = 0;
|
||||||
executableUserSymbolLevel = 0;
|
executableUserSymbolLevel = 0;
|
||||||
@ -575,8 +460,8 @@
|
|||||||
2AC86B4610EE9DD7000743D2 /* MGMLog.m */ = {
|
2AC86B4610EE9DD7000743D2 /* MGMLog.m */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {1176, 1196}}";
|
sepNavIntBoundsRect = "{{0, 0}, {1176, 1196}}";
|
||||||
sepNavSelRange = "{176, 0}";
|
sepNavSelRange = "{2825, 6}";
|
||||||
sepNavVisRange = "{0, 1785}";
|
sepNavVisRange = "{1151, 2082}";
|
||||||
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -589,9 +474,9 @@
|
|||||||
};
|
};
|
||||||
2AC86CF010EEC54C000743D2 /* MGMSender.m */ = {
|
2AC86CF010EEC54C000743D2 /* MGMSender.m */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {1176, 5239}}";
|
sepNavIntBoundsRect = "{{0, 0}, {1209, 5083}}";
|
||||||
sepNavSelRange = "{706, 0}";
|
sepNavSelRange = "{19655, 0}";
|
||||||
sepNavVisRange = "{0, 1732}";
|
sepNavVisRange = "{18391, 2142}";
|
||||||
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
sepNavWindowFrame = "{{15, 4}, {1235, 774}}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -197,88 +197,7 @@
|
|||||||
<key>Notifications</key>
|
<key>Notifications</key>
|
||||||
<array/>
|
<array/>
|
||||||
<key>OpenEditors</key>
|
<key>OpenEditors</key>
|
||||||
<array>
|
<array/>
|
||||||
<dict>
|
|
||||||
<key>Content</key>
|
|
||||||
<dict>
|
|
||||||
<key>PBXProjectModuleGUID</key>
|
|
||||||
<string>2AB2989510F5590F0080C6A1</string>
|
|
||||||
<key>PBXProjectModuleLabel</key>
|
|
||||||
<string>License.txt</string>
|
|
||||||
<key>PBXSplitModuleInNavigatorKey</key>
|
|
||||||
<dict>
|
|
||||||
<key>Split0</key>
|
|
||||||
<dict>
|
|
||||||
<key>PBXProjectModuleGUID</key>
|
|
||||||
<string>2AB2989610F5590F0080C6A1</string>
|
|
||||||
<key>PBXProjectModuleLabel</key>
|
|
||||||
<string>License.txt</string>
|
|
||||||
<key>_historyCapacity</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>bookmark</key>
|
|
||||||
<string>2AB298A610F55CBA0080C6A1</string>
|
|
||||||
<key>history</key>
|
|
||||||
<array>
|
|
||||||
<string>2AB2988010F5537F0080C6A1</string>
|
|
||||||
</array>
|
|
||||||
</dict>
|
|
||||||
<key>SplitCount</key>
|
|
||||||
<string>1</string>
|
|
||||||
</dict>
|
|
||||||
<key>StatusBarVisibility</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
<key>Geometry</key>
|
|
||||||
<dict>
|
|
||||||
<key>Frame</key>
|
|
||||||
<string>{{0, 20}, {1235, 677}}</string>
|
|
||||||
<key>PBXModuleWindowStatusBarHidden2</key>
|
|
||||||
<false/>
|
|
||||||
<key>RubberWindowFrame</key>
|
|
||||||
<string>15 60 1235 718 0 0 1280 778 </string>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>Content</key>
|
|
||||||
<dict>
|
|
||||||
<key>PBXProjectModuleGUID</key>
|
|
||||||
<string>2AB2989810F5590F0080C6A1</string>
|
|
||||||
<key>PBXProjectModuleLabel</key>
|
|
||||||
<string>Sparkle.strings</string>
|
|
||||||
<key>PBXSplitModuleInNavigatorKey</key>
|
|
||||||
<dict>
|
|
||||||
<key>Split0</key>
|
|
||||||
<dict>
|
|
||||||
<key>PBXProjectModuleGUID</key>
|
|
||||||
<string>2AB2989910F5590F0080C6A1</string>
|
|
||||||
<key>PBXProjectModuleLabel</key>
|
|
||||||
<string>Sparkle.strings</string>
|
|
||||||
<key>_historyCapacity</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>bookmark</key>
|
|
||||||
<string>2AB298A710F55CBA0080C6A1</string>
|
|
||||||
<key>history</key>
|
|
||||||
<array>
|
|
||||||
<string>2AB2989A10F5590F0080C6A1</string>
|
|
||||||
</array>
|
|
||||||
</dict>
|
|
||||||
<key>SplitCount</key>
|
|
||||||
<string>1</string>
|
|
||||||
</dict>
|
|
||||||
<key>StatusBarVisibility</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
<key>Geometry</key>
|
|
||||||
<dict>
|
|
||||||
<key>Frame</key>
|
|
||||||
<string>{{0, 20}, {1235, 677}}</string>
|
|
||||||
<key>PBXModuleWindowStatusBarHidden2</key>
|
|
||||||
<false/>
|
|
||||||
<key>RubberWindowFrame</key>
|
|
||||||
<string>15 60 1235 718 0 0 1280 778 </string>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>PerspectiveWidths</key>
|
<key>PerspectiveWidths</key>
|
||||||
<array>
|
<array>
|
||||||
<integer>1280</integer>
|
<integer>1280</integer>
|
||||||
@ -363,11 +282,12 @@
|
|||||||
<string>1058C7B0FEA5585E11CA2CBB</string>
|
<string>1058C7B0FEA5585E11CA2CBB</string>
|
||||||
<string>034768DFFF38A50411DB9C8B</string>
|
<string>034768DFFF38A50411DB9C8B</string>
|
||||||
<string>1C37FBAC04509CD000000102</string>
|
<string>1C37FBAC04509CD000000102</string>
|
||||||
|
<string>1C37FAAC04509CD000000102</string>
|
||||||
</array>
|
</array>
|
||||||
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
|
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
|
||||||
<array>
|
<array>
|
||||||
<array>
|
<array>
|
||||||
<integer>16</integer>
|
<integer>18</integer>
|
||||||
<integer>2</integer>
|
<integer>2</integer>
|
||||||
<integer>1</integer>
|
<integer>1</integer>
|
||||||
<integer>0</integer>
|
<integer>0</integer>
|
||||||
@ -391,7 +311,7 @@
|
|||||||
<real>185</real>
|
<real>185</real>
|
||||||
</array>
|
</array>
|
||||||
<key>RubberWindowFrame</key>
|
<key>RubberWindowFrame</key>
|
||||||
<string>0 58 1280 719 0 0 1280 778 </string>
|
<string>0 59 1280 719 0 0 1280 778 </string>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Module</key>
|
<key>Module</key>
|
||||||
<string>PBXSmartGroupTreeModule</string>
|
<string>PBXSmartGroupTreeModule</string>
|
||||||
@ -407,7 +327,7 @@
|
|||||||
<key>PBXProjectModuleGUID</key>
|
<key>PBXProjectModuleGUID</key>
|
||||||
<string>2A478DDD10E8598900EBC4A9</string>
|
<string>2A478DDD10E8598900EBC4A9</string>
|
||||||
<key>PBXProjectModuleLabel</key>
|
<key>PBXProjectModuleLabel</key>
|
||||||
<string>MGMBugWindow.m</string>
|
<string></string>
|
||||||
<key>PBXSplitModuleInNavigatorKey</key>
|
<key>PBXSplitModuleInNavigatorKey</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>Split0</key>
|
<key>Split0</key>
|
||||||
@ -415,15 +335,10 @@
|
|||||||
<key>PBXProjectModuleGUID</key>
|
<key>PBXProjectModuleGUID</key>
|
||||||
<string>2A478DDE10E8598900EBC4A9</string>
|
<string>2A478DDE10E8598900EBC4A9</string>
|
||||||
<key>PBXProjectModuleLabel</key>
|
<key>PBXProjectModuleLabel</key>
|
||||||
<string>MGMBugWindow.m</string>
|
<string></string>
|
||||||
<key>_historyCapacity</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>bookmark</key>
|
|
||||||
<string>2AB298A510F55CBA0080C6A1</string>
|
|
||||||
<key>history</key>
|
<key>history</key>
|
||||||
<array>
|
<array>
|
||||||
<string>2A85029A10F05D6B00CA1273</string>
|
<string>2A85029A10F05D6B00CA1273</string>
|
||||||
<string>2AB297E110F5428A0080C6A1</string>
|
|
||||||
</array>
|
</array>
|
||||||
</dict>
|
</dict>
|
||||||
<key>SplitCount</key>
|
<key>SplitCount</key>
|
||||||
@ -439,7 +354,7 @@
|
|||||||
<key>Frame</key>
|
<key>Frame</key>
|
||||||
<string>{{0, 0}, {1073, 0}}</string>
|
<string>{{0, 0}, {1073, 0}}</string>
|
||||||
<key>RubberWindowFrame</key>
|
<key>RubberWindowFrame</key>
|
||||||
<string>0 58 1280 719 0 0 1280 778 </string>
|
<string>0 59 1280 719 0 0 1280 778 </string>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Module</key>
|
<key>Module</key>
|
||||||
<string>PBXNavigatorGroup</string>
|
<string>PBXNavigatorGroup</string>
|
||||||
@ -464,7 +379,7 @@
|
|||||||
<key>Frame</key>
|
<key>Frame</key>
|
||||||
<string>{{10, 27}, {1073, 646}}</string>
|
<string>{{10, 27}, {1073, 646}}</string>
|
||||||
<key>RubberWindowFrame</key>
|
<key>RubberWindowFrame</key>
|
||||||
<string>0 58 1280 719 0 0 1280 778 </string>
|
<string>0 59 1280 719 0 0 1280 778 </string>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Module</key>
|
<key>Module</key>
|
||||||
<string>XCDetailModule</string>
|
<string>XCDetailModule</string>
|
||||||
@ -490,6 +405,27 @@
|
|||||||
<dict>
|
<dict>
|
||||||
<key>PBXCVSModuleFilterTypeKey</key>
|
<key>PBXCVSModuleFilterTypeKey</key>
|
||||||
<integer>1032</integer>
|
<integer>1032</integer>
|
||||||
|
<key>PBXCVSModuleTreeModuleColumnData</key>
|
||||||
|
<dict>
|
||||||
|
<key>PBXCVSModuleTreeModuleColumnWidthsKey</key>
|
||||||
|
<array>
|
||||||
|
<real>655</real>
|
||||||
|
<real>56</real>
|
||||||
|
<real>63</real>
|
||||||
|
<real>60</real>
|
||||||
|
<real>63</real>
|
||||||
|
<real>139</real>
|
||||||
|
</array>
|
||||||
|
<key>PBXCVSModuleTreeModuleColumnsKey</key>
|
||||||
|
<array>
|
||||||
|
<string>Name</string>
|
||||||
|
<string>Status</string>
|
||||||
|
<string>Update</string>
|
||||||
|
<string>Revision</string>
|
||||||
|
<string>Author</string>
|
||||||
|
<string>Date</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
<key>PBXProjectModuleGUID</key>
|
<key>PBXProjectModuleGUID</key>
|
||||||
<string>1CA23EE10692099D00951B8B</string>
|
<string>1CA23EE10692099D00951B8B</string>
|
||||||
<key>PBXProjectModuleLabel</key>
|
<key>PBXProjectModuleLabel</key>
|
||||||
@ -546,11 +482,11 @@
|
|||||||
</array>
|
</array>
|
||||||
<key>TableOfContents</key>
|
<key>TableOfContents</key>
|
||||||
<array>
|
<array>
|
||||||
<string>2AB297F710F542DF0080C6A1</string>
|
<string>2A5B7AC810FCB63600051C18</string>
|
||||||
<string>1CA23ED40692098700951B8B</string>
|
<string>1CA23ED40692098700951B8B</string>
|
||||||
<string>2AB297F810F542DF0080C6A1</string>
|
<string>2A5B7AC910FCB63600051C18</string>
|
||||||
<string>2A478DDD10E8598900EBC4A9</string>
|
<string>2A478DDD10E8598900EBC4A9</string>
|
||||||
<string>2AB297F910F542DF0080C6A1</string>
|
<string>2A5B7ACA10FCB63600051C18</string>
|
||||||
<string>1CA23EDF0692099D00951B8B</string>
|
<string>1CA23EDF0692099D00951B8B</string>
|
||||||
<string>1CA23EE00692099D00951B8B</string>
|
<string>1CA23EE00692099D00951B8B</string>
|
||||||
<string>1CA23EE10692099D00951B8B</string>
|
<string>1CA23EE10692099D00951B8B</string>
|
||||||
@ -701,14 +637,14 @@
|
|||||||
</array>
|
</array>
|
||||||
<key>TableOfContents</key>
|
<key>TableOfContents</key>
|
||||||
<array>
|
<array>
|
||||||
<string>2AB2988F10F5590F0080C6A1</string>
|
<string>2A5B7ACB10FCB63600051C18</string>
|
||||||
<string>1CCC7628064C1048000F2A68</string>
|
<string>1CCC7628064C1048000F2A68</string>
|
||||||
<string>1CCC7629064C1048000F2A68</string>
|
<string>1CCC7629064C1048000F2A68</string>
|
||||||
<string>2AB2989010F5590F0080C6A1</string>
|
<string>2A5B7ACC10FCB63600051C18</string>
|
||||||
<string>2AB2989110F5590F0080C6A1</string>
|
<string>2A5B7ACD10FCB63600051C18</string>
|
||||||
<string>2AB2989210F5590F0080C6A1</string>
|
<string>2A5B7ACE10FCB63600051C18</string>
|
||||||
<string>2AB2989310F5590F0080C6A1</string>
|
<string>2A5B7ACF10FCB63600051C18</string>
|
||||||
<string>2AB2989410F5590F0080C6A1</string>
|
<string>2A5B7AB710FCB54600051C18</string>
|
||||||
</array>
|
</array>
|
||||||
<key>ToolbarConfigUserDefaultsMinorVersion</key>
|
<key>ToolbarConfigUserDefaultsMinorVersion</key>
|
||||||
<string>2</string>
|
<string>2</string>
|
||||||
@ -742,15 +678,13 @@
|
|||||||
<integer>5</integer>
|
<integer>5</integer>
|
||||||
<key>WindowOrderList</key>
|
<key>WindowOrderList</key>
|
||||||
<array>
|
<array>
|
||||||
<string>2AB298A810F55CBA0080C6A1</string>
|
<string>2A478EAD10E881CF00EBC4A9</string>
|
||||||
<string>2AB298A910F55CBA0080C6A1</string>
|
<string>2A5B7AD310FCB63600051C18</string>
|
||||||
<string>2AB2989E10F5590F0080C6A1</string>
|
<string>2A5B7AD410FCB63600051C18</string>
|
||||||
<string>2AB2989F10F5590F0080C6A1</string>
|
|
||||||
<string>2AB2989510F5590F0080C6A1</string>
|
|
||||||
<string>/Development/James' Applications/GeckoReporter/GeckoReporter.xcodeproj</string>
|
<string>/Development/James' Applications/GeckoReporter/GeckoReporter.xcodeproj</string>
|
||||||
</array>
|
</array>
|
||||||
<key>WindowString</key>
|
<key>WindowString</key>
|
||||||
<string>0 58 1280 719 0 0 1280 778 </string>
|
<string>0 59 1280 719 0 0 1280 778 </string>
|
||||||
<key>WindowToolsV3</key>
|
<key>WindowToolsV3</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
@ -1588,7 +1522,7 @@
|
|||||||
<key>TableOfContents</key>
|
<key>TableOfContents</key>
|
||||||
<array>
|
<array>
|
||||||
<string>2A478EAD10E881CF00EBC4A9</string>
|
<string>2A478EAD10E881CF00EBC4A9</string>
|
||||||
<string>2A85015810EFA8BA00CA1273</string>
|
<string>2A5B7AD010FCB63600051C18</string>
|
||||||
<string>2A478EAC10E881CF00EBC4A9</string>
|
<string>2A478EAC10E881CF00EBC4A9</string>
|
||||||
</array>
|
</array>
|
||||||
<key>WindowString</key>
|
<key>WindowString</key>
|
||||||
|
Loading…
Reference in New Issue
Block a user