[Orxonox-commit 3573] r8259 - in code/branches/mac_osx: cmake cmake/tools src src/external src/external/cmcrashreporter
youngk at orxonox.net
youngk at orxonox.net
Mon Apr 18 19:14:18 CEST 2011
Author: youngk
Date: 2011-04-18 19:14:18 +0200 (Mon, 18 Apr 2011)
New Revision: 8259
Added:
code/branches/mac_osx/src/external/cmcrashreporter/
code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporter.h
code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporter.m
code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporter.tmproj
code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterGlobal.h
code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterGlobal.m
code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterWindow.h
code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterWindow.m
code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterWindow.xib
code/branches/mac_osx/src/external/cmcrashreporter/CMakeLists.txt
code/branches/mac_osx/src/external/cmcrashreporter/read-me.txt
Modified:
code/branches/mac_osx/cmake/PrepareDevBundle.cmake
code/branches/mac_osx/cmake/tools/TargetUtilities.cmake
code/branches/mac_osx/src/CMakeLists.txt
code/branches/mac_osx/src/OrxonoxMac.mm
code/branches/mac_osx/src/external/CMakeLists.txt
Log:
Integrating automatic crash reporter. Does not work atm.
Modified: code/branches/mac_osx/cmake/PrepareDevBundle.cmake
===================================================================
--- code/branches/mac_osx/cmake/PrepareDevBundle.cmake 2011-04-18 16:45:23 UTC (rev 8258)
+++ code/branches/mac_osx/cmake/PrepareDevBundle.cmake 2011-04-18 17:14:18 UTC (rev 8259)
@@ -23,8 +23,7 @@
# Creates the file structure for the development application bundle
#
-IF(APPLE)
- IF(NOT CMAKE_CONFIGURATION_TYPES)
+IF(NOT CMAKE_CONFIGURATION_TYPES)
SET(_subdirs .)
SET(_default_subdir .)
ELSE()
@@ -58,4 +57,3 @@
CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/${DEFAULT_DATA_PATH}/mac/${DEVBUNDLE_DEFAULT_LANGFILE}/InfoPlist.strings" "${DEVBUNDLE_CURRENT_RESOURCES}/${DEVBUNDLE_DEFAULT_LANGFILE}/InfoPlist.strings")
ENDFOREACH(_subdir)
-ENDIF(APPLE)
Modified: code/branches/mac_osx/cmake/tools/TargetUtilities.cmake
===================================================================
--- code/branches/mac_osx/cmake/tools/TargetUtilities.cmake 2011-04-18 16:45:23 UTC (rev 8258)
+++ code/branches/mac_osx/cmake/tools/TargetUtilities.cmake 2011-04-18 17:14:18 UTC (rev 8259)
@@ -178,7 +178,7 @@
# Don't compile header files
FOREACH(_file ${_${_target_name}_files})
- IF(NOT _file MATCHES "\\.(c|cc|cpp|cxx|mm)$")
+ IF(NOT _file MATCHES "\\.(c|cc|cpp|cxx|m|mm)$")
SET_SOURCE_FILES_PROPERTIES(${_file} PROPERTIES HEADER_FILE_ONLY TRUE)
ENDIF()
ENDFOREACH(_file)
Modified: code/branches/mac_osx/src/CMakeLists.txt
===================================================================
--- code/branches/mac_osx/src/CMakeLists.txt 2011-04-18 16:45:23 UTC (rev 8258)
+++ code/branches/mac_osx/src/CMakeLists.txt 2011-04-18 17:14:18 UTC (rev 8259)
@@ -172,10 +172,11 @@
# Apple Mac OS X specific build settings
IF(APPLE)
- # On Apple we need to link to AppKit and Foundation frameworks
+ # On Apple we need to link to AppKit, Foundation frameworks
TARGET_LINK_LIBRARIES(orxonox-main
"-framework AppKit"
"-framework Foundation"
+ "-framework CoreFoundation"
)
# Post-build step for the creation of the Dev-App bundle
Modified: code/branches/mac_osx/src/OrxonoxMac.mm
===================================================================
--- code/branches/mac_osx/src/OrxonoxMac.mm 2011-04-18 16:45:23 UTC (rev 8258)
+++ code/branches/mac_osx/src/OrxonoxMac.mm 2011-04-18 17:14:18 UTC (rev 8259)
@@ -27,6 +27,7 @@
*/
#import "OrxonoxMac.h"
+#import <cmcrashreporter/CMCrashReporter.h>
static int argc_s = 0;
static char** argv_s = 0;
@@ -45,6 +46,9 @@
- (void)applicationDidFinishLaunching:(NSNotification *)notification
{
+ // This call initializes the crash reporter, which sends crash reports to the developers
+ [CMCrashReporter check];
+
exit(main_mac(argc_s, argv_s));
}
Modified: code/branches/mac_osx/src/external/CMakeLists.txt
===================================================================
--- code/branches/mac_osx/src/external/CMakeLists.txt 2011-04-18 16:45:23 UTC (rev 8258)
+++ code/branches/mac_osx/src/external/CMakeLists.txt 2011-04-18 17:14:18 UTC (rev 8259)
@@ -33,6 +33,7 @@
ADD_SUBDIRECTORY(bullet)
ADD_SUBDIRECTORY(cpptcl)
+ADD_SUBDIRECTORY(cmcrashreporter)
ADD_SUBDIRECTORY(enet)
ADD_SUBDIRECTORY(loki)
ADD_SUBDIRECTORY(ogreceguirenderer)
Added: code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporter.h
===================================================================
--- code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporter.h (rev 0)
+++ code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporter.h 2011-04-18 17:14:18 UTC (rev 8259)
@@ -0,0 +1,21 @@
+//
+// CMCrashReporter.h
+// CMCrashReporter-App
+//
+// Created by Jelle De Laender on 20/01/08.
+// Copyright 2008 CodingMammoth. All rights reserved.
+// Copyright 2010 CodingMammoth. Revision. All rights reserved.
+//
+// Current version: 1.1 (September 2010)
+//
+
+#import <Cocoa/Cocoa.h>
+#import "CMCrashReporterGlobal.h"
+#import "CMCrashReporterWindow.h"
+
+ at interface CMCrashReporter : NSObject {
+
+}
++ (void)check;
++ (NSArray *)getReports;
+ at end
Added: code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporter.m
===================================================================
--- code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporter.m (rev 0)
+++ code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporter.m 2011-04-18 17:14:18 UTC (rev 8259)
@@ -0,0 +1,48 @@
+//
+// CMCrashReporter.m
+// CMCrashReporter-App
+//
+// Created by Jelle De Laender on 20/01/08.
+// Copyright 2008 CodingMammoth. All rights reserved.
+// Copyright 2010 CodingMammoth. Revision. All rights reserved.
+//
+
+#import "CMCrashReporter.h"
+
+ at implementation CMCrashReporter
+
++(void)check
+{
+ NSUserDefaults *defaults = [[NSUserDefaultsController sharedUserDefaultsController] defaults];
+ if ([CMCrashReporterGlobal checkOnCrashes] && ![defaults boolForKey:@"CMCrashReporterIgnoreCrashes"]) {
+ NSArray *reports = [self getReports];
+ if ([reports count] > 0) {
+ [CMCrashReporterWindow runCrashReporterWithPaths:reports];
+ }
+ }
+}
+
++(NSArray *)getReports
+{
+ NSFileManager *fileManager = [NSFileManager defaultManager];
+
+ if ([CMCrashReporterGlobal isRunningLeopard]) {
+ // (Snow) Leopard format is AppName_Year_Month_Day
+ NSString *file;
+ NSString *path = [@"~/Library/Logs/CrashReporter/" stringByExpandingTildeInPath];
+ NSDirectoryEnumerator *dirEnum = [[NSFileManager defaultManager] enumeratorAtPath:path];
+
+ NSMutableArray *array = [NSMutableArray array];
+ while (file = [dirEnum nextObject])
+ if ([file hasPrefix:[CMCrashReporterGlobal appName]])
+ [array addObject:[[NSString stringWithFormat:@"~/Library/Logs/CrashReporter/%@",file] stringByExpandingTildeInPath]];
+
+ return array;
+ } else {
+ // Tiger Formet is AppName.crash.log
+ NSString *path = [[NSString stringWithFormat:@"~/Library/Logs/CrashReporter/%@.crash.log",[CMCrashReporterGlobal appName]] stringByExpandingTildeInPath];
+ if ([fileManager fileExistsAtPath:path]) return [NSArray arrayWithObject:path];
+ else return nil;
+ }
+}
+ at end
Added: code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporter.tmproj
===================================================================
--- code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporter.tmproj (rev 0)
+++ code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporter.tmproj 2011-04-18 17:14:18 UTC (rev 8259)
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>currentDocument</key>
+ <string>CMCrashReporterWindow.m</string>
+ <key>documents</key>
+ <array>
+ <dict>
+ <key>filename</key>
+ <string>CMCrashReporter.h</string>
+ </dict>
+ <dict>
+ <key>filename</key>
+ <string>CMCrashReporter.m</string>
+ </dict>
+ <dict>
+ <key>filename</key>
+ <string>CMCrashReporterGlobal.h</string>
+ </dict>
+ <dict>
+ <key>filename</key>
+ <string>CMCrashReporterGlobal.m</string>
+ </dict>
+ <dict>
+ <key>filename</key>
+ <string>CMCrashReporterWindow.h</string>
+ </dict>
+ <dict>
+ <key>filename</key>
+ <string>CMCrashReporterWindow.m</string>
+ <key>lastUsed</key>
+ <date>2011-02-23T16:27:21Z</date>
+ <key>selected</key>
+ <true/>
+ </dict>
+ <dict>
+ <key>filename</key>
+ <string>read-me.txt</string>
+ </dict>
+ </array>
+ <key>fileHierarchyDrawerWidth</key>
+ <integer>200</integer>
+ <key>metaData</key>
+ <dict>
+ <key>CMCrashReporterWindow.m</key>
+ <dict>
+ <key>caret</key>
+ <dict>
+ <key>column</key>
+ <integer>91</integer>
+ <key>line</key>
+ <integer>91</integer>
+ </dict>
+ <key>firstVisibleColumn</key>
+ <integer>0</integer>
+ <key>firstVisibleLine</key>
+ <integer>71</integer>
+ </dict>
+ </dict>
+ <key>openDocuments</key>
+ <array>
+ <string>CMCrashReporterWindow.m</string>
+ </array>
+ <key>showFileHierarchyDrawer</key>
+ <true/>
+ <key>windowFrame</key>
+ <string>{{204, 82}, {1227, 765}}</string>
+</dict>
+</plist>
Added: code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterGlobal.h
===================================================================
--- code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterGlobal.h (rev 0)
+++ code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterGlobal.h 2011-04-18 17:14:18 UTC (rev 8259)
@@ -0,0 +1,37 @@
+//
+// CMCrashReporterGlobal.h
+// CMCrashReporter-App
+//
+// Created by Jelle De Laender on 20/01/08.
+// Copyright 2008 CodingMammoth. All rights reserved.
+// Copyright 2010 CodingMammoth. Revision. All rights reserved.
+
+//
+
+#import <Cocoa/Cocoa.h>
+
+
+ at interface CMCrashReporterGlobal : NSObject
+{
+};
+
++ (NSString *)appName;
++ (NSString *)appUiName;
++ (NSString *)appVersion;
+
++ (BOOL)isRunningLeopard;
++ (BOOL)checkOnCrashes;
+
++ (NSString *)crashReportEmail;
++ (NSString *)crashReportURL;
++ (NSString *)osVersion;
+
++ (int)numberOfMaximumReports;
+
++ (void)setAppName:(NSString *)name;
++ (void)setAppUiName:(NSString *)name;
++ (void)setAppVersion:(NSString *)version;
++ (void)setCrashReportEmail:(NSString *)emailTo;
++ (void)setCrashReportURL:(NSString *)reportServerUrl;
+
+ at end
Added: code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterGlobal.m
===================================================================
--- code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterGlobal.m (rev 0)
+++ code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterGlobal.m 2011-04-18 17:14:18 UTC (rev 8259)
@@ -0,0 +1,145 @@
+//
+// CMCrashReporterGlobal.m
+// CMCrashReporter-App
+//
+// Created by Jelle De Laender on 20/01/08.
+// Copyright 2008 CodingMammoth. All rights reserved.
+// Copyright 2010 CodingMammoth. Revision. All rights reserved.
+//
+
+#import "CMCrashReporterGlobal.h"
+#import <AddressBook/AddressBook.h>
+
+
+NSString* mAppName = nil;
+NSString* mAppUiName = nil;
+NSString* mAppVersion = nil;
+NSString* mCrashReportEmail = nil;
+NSString* mCrashReportEmailSubject = nil;
+NSString* mCrashReportURL = nil;
+
+
+ at implementation CMCrashReporterGlobal
+
+
+- (void)dealloc {
+ if (mAppName != nil)
+ [mAppName release];
+ if (mAppUiName != nil)
+ [mAppUiName release];
+ if (mAppVersion != nil)
+ [mAppVersion release];
+ if (mCrashReportEmail != nil)
+ [mCrashReportEmail release];
+ if (mCrashReportEmailSubject != nil)
+ [mCrashReportEmailSubject release];
+ if (mCrashReportURL != nil)
+ [mCrashReportURL release];
+
+ [super dealloc];
+}
+
+
++ (NSString *)appName
+{
+ if (mAppName != NULL)
+ return mAppName;
+ else
+ return [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"];
+}
+
++ (NSString *)appUiName
+{
+ if (mAppUiName != NULL)
+ return mAppUiName;
+ else
+ return [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"];
+}
+
++ (NSString *)appVersion
+{
+ if (mAppVersion != NULL)
+ return mAppVersion;
+ else
+ return [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
+}
+
++ (int)numberOfMaximumReports {
+ if (! [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CMMaxReports"]) return 0;
+
+ return [[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CMMaxReports"] intValue];
+}
+
++ (BOOL)isRunningLeopard
+{
+ SInt32 MacVersion;
+ Gestalt(gestaltSystemVersion, &MacVersion);
+ return MacVersion >= 4176;
+}
+
++ (BOOL)checkOnCrashes
+{
+ // Integration for later
+ return YES;
+}
+
++ (NSString *)crashReportURL
+{
+ NSString *value;
+ if (mCrashReportURL != NULL)
+ value = mCrashReportURL;
+ else
+ value = [[[NSBundle mainBundle] infoDictionary]
+ objectForKey:@"CMSubmitURL"];
+ if (!value) NSLog(@"Warning: No CMSubmitURL - key available for CMCrashReporter. Please add this key at your info.plist file.");
+ return value;
+}
+
++ (NSString *)crashReportEmail
+{
+ NSString *email;
+ if (mCrashReportURL != NULL)
+ email = mCrashReportEmail;
+ else
+ {
+ ABMultiValue *emails = [[[ABAddressBook sharedAddressBook] me] valueForProperty: kABEmailProperty];
+ email = (NSString *) [emails valueAtIndex: [emails indexForIdentifier: [emails primaryIdentifier]]];
+ }
+
+ return email;
+}
+
++ (NSString *)osVersion
+{
+ return [[NSDictionary dictionaryWithContentsOfFile:@"/System/Library/CoreServices/SystemVersion.plist"]
+ objectForKey:@"ProductVersion"];
+}
+
++ (void)setAppName:(NSString *)name
+{
+ mAppName = name;
+}
+
++ (void)setAppUiName:(NSString *)name
+{
+ mAppUiName = name;
+}
+
++ (void)setAppVersion:(NSString *)version
+{
+ mAppVersion = version;
+}
+
++ (void)setCrashReportEmail:(NSString *)emailTo
+{
+ mCrashReportEmail = emailTo;
+}
+
++ (void)setCrashReportURL:(NSString *)reportServerUrl
+{
+ mCrashReportURL = reportServerUrl;
+}
+
+
+ at end
+
Added: code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterWindow.h
===================================================================
--- code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterWindow.h (rev 0)
+++ code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterWindow.h 2011-04-18 17:14:18 UTC (rev 8259)
@@ -0,0 +1,45 @@
+//
+// CMCrashReporterWindow.h
+// CMCrashReporter-App
+//
+// Created by Jelle De Laender on 20/01/08.
+// Copyright 2008 CodingMammoth. All rights reserved.
+// Copyright 2010 CodingMammoth. Revision. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "CMCrashReporterGlobal.h"
+
+
+ at interface CMCrashReporterWindow : NSWindowController {
+ NSArray *paths;
+
+ IBOutlet id description;
+ IBOutlet id mailaddress;
+ IBOutlet id commentField;
+ IBOutlet id dontShowThis;
+ IBOutlet id includeRapport;
+ IBOutlet id application;
+ IBOutlet id version;
+}
+
++ (void)runCrashReporterWithPaths:(NSArray *)ar;
+
+- (id)init;
+
+- (NSArray *)paths;
+- (void)setPaths:(NSArray *)ar;
+
+- (void)windowDidLoad;
+- (void)windowWillClose:(NSNotification *)notification;
+
+- (BOOL)submitFile:(NSString *)file;
+- (IBAction)submitData:(id)sender;
+- (IBAction)dontReport:(id)sender;
+
+- (void)close;
+
+- (void)removeCrashLog:(NSString *)path;
+- (NSData*)generateFormData:(NSDictionary*)dict;
+
+ at end
Added: code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterWindow.m
===================================================================
--- code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterWindow.m (rev 0)
+++ code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterWindow.m 2011-04-18 17:14:18 UTC (rev 8259)
@@ -0,0 +1,195 @@
+//
+// CMCrashReporterWindow.m
+// CMCrashReporter-App
+//
+// Created by Jelle De Laender on 20/01/08.
+// Copyright 2008 CodingMammoth. All rights reserved.
+// Copyright 2010 CodingMammoth. Revision. All rights reserved.
+//
+
+#import "CMCrashReporterWindow.h"
+
+ at implementation CMCrashReporterWindow
+
++ (void)runCrashReporterWithPaths:(NSArray *)ar
+{
+ CMCrashReporterWindow *windowController = [[self alloc] init];
+ [windowController setPaths:ar];
+ [[windowController window] makeKeyAndOrderFront:nil];
+}
+
+#pragma mark Default methods
+
+- (id)init
+{
+ self = [super initWithWindowNibName:NSStringFromClass([self class])];
+ if (self) {
+ // something to do?
+ }
+ return self;
+}
+
+- (NSArray *)paths {
+ return paths;
+}
+
+- (void)setPaths:(NSArray *)ar
+{
+ [paths release];
+ [ar retain];
+ paths = ar;
+}
+
+- (void)windowDidLoad
+{
+ [[self window] setTitle:[NSString stringWithFormat:@"%@ - %@ (%@) ",@"CrashReport", [CMCrashReporterGlobal appUiName],[CMCrashReporterGlobal appVersion]]];
+
+ NSString *email = [CMCrashReporterGlobal crashReportEmail];
+ if (email!=NULL)
+ [mailaddress setStringValue:email];
+}
+
+- (void)removeCrashLog:(NSString *)path
+{
+ NSError *error = nil;
+ [[NSFileManager defaultManager] removeItemAtPath:path error:&error];
+}
+
+- (void)updateIgnoreCrashes
+{
+ NSUserDefaults *defaults = [[NSUserDefaultsController sharedUserDefaultsController] defaults];
+ [defaults setBool:[dontShowThis state] forKey:@"CMCrashReporterIgnoreCrashes"];
+}
+
+- (IBAction)submitData:(id)sender
+{
+ sender; //unused
+
+ int i = 0;
+
+ BOOL failures = NO;
+
+ int max = MIN([CMCrashReporterGlobal numberOfMaximumReports],[paths count]);
+
+ if (max == 0) max = [paths count];
+
+ for (i = 0; i < max; i++) {
+ if ([self submitFile:[paths objectAtIndex:i]]) {
+ // report succeed
+ // File will be removed on close
+ } else
+ failures = YES;
+ }
+
+ NSAlert *alert = [[[NSAlert alloc] init] autorelease];
+ [alert addButtonWithTitle:@"OK"];
+ [alert setMessageText:[CMCrashReporterGlobal appName]];
+ [alert setAlertStyle:NSInformationalAlertStyle];
+
+ if (!failures)
+ [alert setInformativeText:[NSString stringWithFormat:@"Thanks for helping us improve %@",[CMCrashReporterGlobal appName]]];
+ else
+ [alert setInformativeText:[NSString stringWithFormat:@"%@ was unable to send the crashlog.",[CMCrashReporterGlobal appName]]];
+
+ [alert runModal];
+ [self close];
+}
+
+- (IBAction)dontReport:(id)sender
+{
+ sender; //unused
+ [self close];
+}
+
+- (void)close {
+ [self updateIgnoreCrashes];
+ [self windowWillClose:nil];
+ [[self window] performClose:nil];
+}
+
+- (void)windowWillClose:(NSNotification *)notification
+{
+ notification; //unused
+
+ /* Window need to close -- We remove all the reports -- */
+ unsigned int i = 0;
+ for (i = 0; i < [paths count]; i++) {
+ if ([[NSFileManager defaultManager] fileExistsAtPath:[paths objectAtIndex:i]])
+ [self removeCrashLog:[paths objectAtIndex:i]];
+ }
+}
+
+#pragma mark send
+
+-(BOOL)submitFile:(NSString *)file
+{
+ NSMutableDictionary* post_dict = [[NSMutableDictionary alloc] init];
+
+ [post_dict setValue:[NSString stringWithString:@"CMCrashReporter"] forKey:@"type"];
+ [post_dict setValue:[CMCrashReporterGlobal appName] forKey:@"application"];
+ [post_dict setValue:[CMCrashReporterGlobal version] forKey:@"appVersion"];
+ [post_dict setValue:[CMCrashReporterGlobal osVersion] forKey:@"osVersion"];
+ [post_dict setValue:[NSString stringWithString:[mailaddress stringValue]] forKey:@"mailaddress"];
+ [post_dict setValue:[NSString stringWithString:[[commentField textStorage] string]] forKey:@"comments"];
+ [post_dict setValue: [[[[NSDateFormatter alloc] initWithDateFormat:@"%H:%M:%S" allowNaturalLanguage:NO] autorelease] stringFromDate:[NSDate date]] forKey:@"time"];
+ [post_dict setValue: [[[[NSDateFormatter alloc] initWithDateFormat:@"%m/%d/%Y" allowNaturalLanguage:NO] autorelease] stringFromDate:[NSDate date]] forKey:@"date"];
+
+ if ([includeRapport state])
+ [post_dict setValue:[NSString stringWithContentsOfFile:file encoding:NSUTF8StringEncoding error:nil] forKey:@"rapport"];
+ else
+ [post_dict setValue:@"not included" forKey:@"rapport"];
+
+ NSData* regData = [self generateFormData:post_dict];
+ [post_dict release];
+
+ NSURL *url = [NSURL URLWithString:[CMCrashReporterGlobal crashReportURL]];
+ NSMutableURLRequest* post = [NSMutableURLRequest requestWithURL:url];
+ [post addValue: @"multipart/form-data; boundary=_insert_some_boundary_here_" forHTTPHeaderField: @"Content-Type"];
+ [post setHTTPMethod: @"POST"];
+ [post setHTTPBody:regData];
+
+ NSURLResponse* response;
+ NSError* error;
+ NSData* result = [NSURLConnection sendSynchronousRequest:post returningResponse:&response error:&error];
+ NSString *res = [[[NSString alloc] initWithData:result encoding:NSASCIIStringEncoding] autorelease];
+ NSString *compare = [res stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
+ return ([compare isEqualToString:@"ok"]);
+
+}
+
+#pragma mark Generate form data
+
+- (NSData*)generateFormData:(NSDictionary*)dict
+{
+ NSString* boundary = [NSString stringWithString:@"_insert_some_boundary_here_"];
+ NSArray* keys = [dict allKeys];
+ NSMutableData* result = [[NSMutableData alloc] initWithCapacity:100];
+
+ unsigned int i;
+ for (i = 0; i < [keys count]; i++)
+ {
+ id value = [dict valueForKey: [keys objectAtIndex: i]];
+ [result appendData:[[NSString stringWithFormat:@"--%@\n", boundary] dataUsingEncoding:NSASCIIStringEncoding]];
+ if ( ([value class] == [NSString class]) || ([@"tmp" isKindOfClass:[value class]]))
+ {
+ [result appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\n\n", [keys objectAtIndex:i]] dataUsingEncoding:NSASCIIStringEncoding]];
+ [result appendData:[[NSString stringWithFormat:@"%@",value] dataUsingEncoding:NSASCIIStringEncoding]];
+ }
+ else if ([value class] == [NSURL class] && [value isFileURL])
+ {
+ [result appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"; filename=\"%@\"\n", [keys objectAtIndex:i], [[value path] lastPathComponent]] dataUsingEncoding:NSASCIIStringEncoding]];
+ [result appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\n\n"] dataUsingEncoding:NSASCIIStringEncoding]];
+ [result appendData:[NSData dataWithContentsOfFile:[value path]]];
+ }
+ else
+ {
+ NSLog(@"No string or NSURL!");
+ }
+
+ [result appendData:[[NSString stringWithString:@"\n"] dataUsingEncoding:NSASCIIStringEncoding]];
+ }
+ [result appendData:[[NSString stringWithFormat:@"--%@--\n", boundary] dataUsingEncoding:NSASCIIStringEncoding]];
+
+ return [result autorelease];
+}
+ at end
Added: code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterWindow.xib
===================================================================
--- code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterWindow.xib (rev 0)
+++ code/branches/mac_osx/src/external/cmcrashreporter/CMCrashReporterWindow.xib 2011-04-18 17:14:18 UTC (rev 8259)
@@ -0,0 +1,903 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
+ <data>
+ <int key="IBDocument.SystemTarget">1060</int>
+ <string key="IBDocument.SystemVersion">10J869</string>
+ <string key="IBDocument.InterfaceBuilderVersion">1305</string>
+ <string key="IBDocument.AppKitVersion">1038.35</string>
+ <string key="IBDocument.HIToolboxVersion">461.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="NS.object.0">1305</string>
+ </object>
+ <array key="IBDocument.IntegratedClassDependencies">
+ <string>NSScroller</string>
+ <string>NSButton</string>
+ <string>NSScrollView</string>
+ <string>NSTextFieldCell</string>
+ <string>NSImageView</string>
+ <string>NSBox</string>
+ <string>NSImageCell</string>
+ <string>NSButtonCell</string>
+ <string>NSCustomObject</string>
+ <string>NSTextView</string>
+ <string>NSView</string>
+ <string>NSWindowTemplate</string>
+ <string>NSTextField</string>
+ </array>
+ <array key="IBDocument.PluginDependencies">
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ </array>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+ <integer value="1" key="NS.object.0"/>
+ </object>
+ <array class="NSMutableArray" key="IBDocument.RootObjects" id="544090607">
+ <object class="NSCustomObject" id="634750531">
+ <string key="NSClassName">CMCrashReporterWindow</string>
+ </object>
+ <object class="NSCustomObject" id="686651762">
+ <string key="NSClassName">FirstResponder</string>
+ </object>
+ <object class="NSCustomObject" id="507874050">
+ <string key="NSClassName">NSApplication</string>
+ </object>
+ <object class="NSWindowTemplate" id="112558122">
+ <int key="NSWindowStyleMask">7</int>
+ <int key="NSWindowBacking">2</int>
+ <string key="NSWindowRect">{{400, 212}, {453, 394}}</string>
+ <int key="NSWTFlags">536870912</int>
+ <string key="NSWindowTitle">Report a Crash</string>
+ <string key="NSWindowClass">NSWindow</string>
+ <nil key="NSViewClass"/>
+ <object class="NSView" key="NSWindowView" id="421821893">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">256</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSTextField" id="11593077">
+ <reference key="NSNextResponder" ref="421821893"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{95, 310}, {316, 64}}</string>
+ <reference key="NSSuperview" ref="421821893"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="409814192"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="519466127">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Oops, it seems like this application quit unexpectedly last time. You can send us a report to help us improving this application.</string>
+ <object class="NSFont" key="NSSupport" id="687928009">
+ <string key="NSName">LucidaGrande</string>
+ <double key="NSSize">13</double>
+ <int key="NSfFlags">1044</int>
+ </object>
+ <reference key="NSControlView" ref="11593077"/>
+ <object class="NSColor" key="NSBackgroundColor" id="222656639">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">controlColor</string>
+ <object class="NSColor" key="NSColor" id="328782211">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
+ </object>
+ </object>
+ <object class="NSColor" key="NSTextColor" id="505378616">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">controlTextColor</string>
+ <object class="NSColor" key="NSColor" id="935886955">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MAA</bytes>
+ </object>
+ </object>
+ </object>
+ </object>
+ <object class="NSImageView" id="867011310">
+ <reference key="NSNextResponder" ref="421821893"/>
+ <int key="NSvFlags">268</int>
+ <set class="NSMutableSet" key="NSDragTypes">
+ <string>Apple PDF pasteboard type</string>
+ <string>Apple PICT pasteboard type</string>
+ <string>Apple PNG pasteboard type</string>
+ <string>NSFilenamesPboardType</string>
+ <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
+ <string>NeXT TIFF v4.0 pasteboard type</string>
+ </set>
+ <string key="NSFrame">{{17, 313}, {64, 64}}</string>
+ <reference key="NSSuperview" ref="421821893"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="11593077"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSImageCell" key="NSCell" id="94420877">
+ <int key="NSCellFlags">130560</int>
+ <int key="NSCellFlags2">33554432</int>
+ <object class="NSCustomResource" key="NSContents">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">NSApplicationIcon</string>
+ </object>
+ <int key="NSAlign">0</int>
+ <int key="NSScale">0</int>
+ <int key="NSStyle">0</int>
+ <bool key="NSAnimates">NO</bool>
+ </object>
+ <bool key="NSEditable">YES</bool>
+ </object>
+ <object class="NSScrollView" id="301151392">
+ <reference key="NSNextResponder" ref="421821893"/>
+ <int key="NSvFlags">256</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSClipView" id="787129029">
+ <reference key="NSNextResponder" ref="301151392"/>
+ <int key="NSvFlags">2304</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSTextView" id="983217202">
+ <reference key="NSNextResponder" ref="787129029"/>
+ <int key="NSvFlags">2322</int>
+ <set class="NSMutableSet" key="NSDragTypes">
+ <string>Apple HTML pasteboard type</string>
+ <string>Apple PDF pasteboard type</string>
+ <string>Apple PICT pasteboard type</string>
+ <string>Apple PNG pasteboard type</string>
+ <string>Apple URL pasteboard type</string>
+ <string>CorePasteboardFlavorType 0x6D6F6F76</string>
+ <string>NSColor pasteboard type</string>
+ <string>NSFilenamesPboardType</string>
+ <string>NSStringPboardType</string>
+ <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
+ <string>NeXT RTFD pasteboard type</string>
+ <string>NeXT Rich Text Format v1.0 pasteboard type</string>
+ <string>NeXT TIFF v4.0 pasteboard type</string>
+ <string>NeXT font pasteboard type</string>
+ <string>NeXT ruler pasteboard type</string>
+ <string>WebURLsWithTitlesPboardType</string>
+ <string>public.url</string>
+ </set>
+ <string key="NSFrameSize">{396, 14}</string>
+ <reference key="NSSuperview" ref="787129029"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="467437854"/>
+ <object class="NSTextContainer" key="NSTextContainer" id="293065596">
+ <object class="NSLayoutManager" key="NSLayoutManager">
+ <object class="NSTextStorage" key="NSTextStorage">
+ <object class="NSMutableString" key="NSString">
+ <characters key="NS.bytes"/>
+ </object>
+ <nil key="NSDelegate"/>
+ </object>
+ <array class="NSMutableArray" key="NSTextContainers">
+ <reference ref="293065596"/>
+ </array>
+ <int key="NSLMFlags">6</int>
+ <nil key="NSDelegate"/>
+ </object>
+ <reference key="NSTextView" ref="983217202"/>
+ <double key="NSWidth">396</double>
+ <int key="NSTCFlags">1</int>
+ </object>
+ <object class="NSTextViewSharedData" key="NSSharedData">
+ <int key="NSFlags">11235</int>
+ <int key="NSTextCheckingTypes">0</int>
+ <nil key="NSMarkedAttributes"/>
+ <object class="NSColor" key="NSBackgroundColor" id="523981446">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ </object>
+ <dictionary key="NSSelectedAttributes">
+ <object class="NSColor" key="NSBackgroundColor">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">selectedTextBackgroundColor</string>
+ <reference key="NSColor" ref="328782211"/>
+ </object>
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">selectedTextColor</string>
+ <reference key="NSColor" ref="935886955"/>
+ </object>
+ </dictionary>
+ <reference key="NSInsertionColor" ref="935886955"/>
+ <dictionary key="NSLinkAttributes">
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MCAwIDEAA</bytes>
+ </object>
+ <integer value="1" key="NSUnderline"/>
+ </dictionary>
+ <nil key="NSDefaultParagraphStyle"/>
+ </object>
+ <int key="NSTVFlags">6</int>
+ <string key="NSMaxSize">{398, 1e+07}</string>
+ <string key="NSMinize">{114, 0}</string>
+ <nil key="NSDelegate"/>
+ </object>
+ </array>
+ <string key="NSFrame">{{1, 1}, {396, 116}}</string>
+ <reference key="NSSuperview" ref="301151392"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="983217202"/>
+ <reference key="NSDocView" ref="983217202"/>
+ <reference key="NSBGColor" ref="523981446"/>
+ <object class="NSCursor" key="NSCursor">
+ <string key="NSHotSpot">{4, -5}</string>
+ <int key="NSCursorType">1</int>
+ </object>
+ <int key="NScvFlags">4</int>
+ </object>
+ <object class="NSScroller" id="467437854">
+ <reference key="NSNextResponder" ref="301151392"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{397, 1}, {15, 116}}</string>
+ <reference key="NSSuperview" ref="301151392"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="445462230"/>
+ <reference key="NSTarget" ref="301151392"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSPercent">0.98305082321166992</double>
+ </object>
+ <object class="NSScroller" id="19233346">
+ <reference key="NSNextResponder" ref="301151392"/>
+ <int key="NSvFlags">-2147483392</int>
+ <string key="NSFrame">{{-100, -100}, {87, 18}}</string>
+ <reference key="NSSuperview" ref="301151392"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="787129029"/>
+ <int key="NSsFlags">1</int>
+ <reference key="NSTarget" ref="301151392"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSCurValue">1</double>
+ <double key="NSPercent">0.94565218687057495</double>
+ </object>
+ </array>
+ <string key="NSFrame">{{20, 162}, {413, 118}}</string>
+ <reference key="NSSuperview" ref="421821893"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="19233346"/>
+ <int key="NSsFlags">18</int>
+ <reference key="NSVScroller" ref="467437854"/>
+ <reference key="NSHScroller" ref="19233346"/>
+ <reference key="NSContentView" ref="787129029"/>
+ </object>
+ <object class="NSButton" id="445462230">
+ <reference key="NSNextResponder" ref="421821893"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{18, 138}, {417, 18}}</string>
+ <reference key="NSSuperview" ref="421821893"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="34729833"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="821857862">
+ <int key="NSCellFlags">-2080244224</int>
+ <int key="NSCellFlags2">0</int>
+ <string key="NSContents">Include anonymous crash report with technical information</string>
+ <reference key="NSSupport" ref="687928009"/>
+ <reference key="NSControlView" ref="445462230"/>
+ <int key="NSButtonFlags">1211912703</int>
+ <int key="NSButtonFlags2">2</int>
+ <object class="NSButtonImageSource" key="NSAlternateImage" id="220037912">
+ <string key="NSImageName">NSSwitch</string>
+ </object>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSTextField" id="409814192">
+ <reference key="NSNextResponder" ref="421821893"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{20, 288}, {413, 14}}</string>
+ <reference key="NSSuperview" ref="421821893"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="301151392"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="812530724">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Please specify what you did when the app crashed. (optional)</string>
+ <object class="NSFont" key="NSSupport">
+ <string key="NSName">LucidaGrande</string>
+ <double key="NSSize">11</double>
+ <int key="NSfFlags">3100</int>
+ </object>
+ <reference key="NSControlView" ref="409814192"/>
+ <reference key="NSBackgroundColor" ref="222656639"/>
+ <reference key="NSTextColor" ref="505378616"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="32464330">
+ <reference key="NSNextResponder" ref="421821893"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{119, 57}, {314, 22}}</string>
+ <reference key="NSSuperview" ref="421821893"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="822024906"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="3894257">
+ <int key="NSCellFlags">-1804468671</int>
+ <int key="NSCellFlags2">272630784</int>
+ <string key="NSContents"/>
+ <reference key="NSSupport" ref="687928009"/>
+ <reference key="NSControlView" ref="32464330"/>
+ <bool key="NSDrawsBackground">YES</bool>
+ <object class="NSColor" key="NSBackgroundColor" id="814792843">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">textBackgroundColor</string>
+ <reference key="NSColor" ref="523981446"/>
+ </object>
+ <object class="NSColor" key="NSTextColor">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">textColor</string>
+ <reference key="NSColor" ref="935886955"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSButton" id="5590046">
+ <reference key="NSNextResponder" ref="421821893"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{343, 9}, {96, 32}}</string>
+ <reference key="NSSuperview" ref="421821893"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="76896251">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">134217728</int>
+ <string key="NSContents">Report</string>
+ <reference key="NSSupport" ref="687928009"/>
+ <reference key="NSControlView" ref="5590046"/>
+ <int key="NSButtonFlags">-2038284033</int>
+ <int key="NSButtonFlags2">129</int>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSButton" id="775514680">
+ <reference key="NSNextResponder" ref="421821893"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{247, 9}, {96, 32}}</string>
+ <reference key="NSSuperview" ref="421821893"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="5590046"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="674673856">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">134217728</int>
+ <string key="NSContents">Ignore</string>
+ <reference key="NSSupport" ref="687928009"/>
+ <reference key="NSControlView" ref="775514680"/>
+ <int key="NSButtonFlags">-2038284033</int>
+ <int key="NSButtonFlags2">129</int>
+ <string key="NSAlternateContents"/>
+ <string type="base64-UTF8" key="NSKeyEquivalent">Gw</string>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSButton" id="822024906">
+ <reference key="NSNextResponder" ref="421821893"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{18, 18}, {185, 18}}</string>
+ <reference key="NSSuperview" ref="421821893"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="775514680"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="527874703">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">0</int>
+ <string key="NSContents">Don't show this anymore</string>
+ <reference key="NSSupport" ref="687928009"/>
+ <reference key="NSControlView" ref="822024906"/>
+ <int key="NSButtonFlags">1211912703</int>
+ <int key="NSButtonFlags2">2</int>
+ <reference key="NSAlternateImage" ref="220037912"/>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSBox" id="34729833">
+ <reference key="NSNextResponder" ref="421821893"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{20, 127}, {413, 5}}</string>
+ <reference key="NSSuperview" ref="421821893"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="216162799"/>
+ <string key="NSOffsets">{0, 0}</string>
+ <object class="NSTextFieldCell" key="NSTitleCell">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">0</int>
+ <string key="NSContents">Box</string>
+ <reference key="NSSupport" ref="687928009"/>
+ <reference key="NSBackgroundColor" ref="814792843"/>
+ <object class="NSColor" key="NSTextColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MCAwLjgwMDAwMDAxMTkAA</bytes>
+ </object>
+ </object>
+ <int key="NSBorderType">3</int>
+ <int key="NSBoxType">2</int>
+ <int key="NSTitlePosition">0</int>
+ <bool key="NSTransparent">NO</bool>
+ </object>
+ <object class="NSTextField" id="979080861">
+ <reference key="NSNextResponder" ref="421821893"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{17, 59}, {102, 17}}</string>
+ <reference key="NSSuperview" ref="421821893"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="32464330"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="544333105">
+ <int key="NSCellFlags">67239488</int>
+ <int key="NSCellFlags2">272630784</int>
+ <string key="NSContents">Email address:</string>
+ <reference key="NSSupport" ref="687928009"/>
+ <reference key="NSControlView" ref="979080861"/>
+ <reference key="NSBackgroundColor" ref="222656639"/>
+ <reference key="NSTextColor" ref="505378616"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="216162799">
+ <reference key="NSNextResponder" ref="421821893"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{14, 87}, {422, 34}}</string>
+ <reference key="NSSuperview" ref="421821893"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="979080861"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="693906202">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Leave an email address if you would like us to get back to you.</string>
+ <reference key="NSSupport" ref="687928009"/>
+ <reference key="NSControlView" ref="216162799"/>
+ <reference key="NSBackgroundColor" ref="222656639"/>
+ <reference key="NSTextColor" ref="505378616"/>
+ </object>
+ </object>
+ </array>
+ <string key="NSFrame">{{7, 11}, {453, 394}}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="867011310"/>
+ </object>
+ <string key="NSScreenRect">{{0, 0}, {1280, 778}}</string>
+ <string key="NSMaxSize">{1e+13, 1e+13}</string>
+ </object>
+ </array>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <array class="NSMutableArray" key="connectionRecords">
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">description</string>
+ <reference key="source" ref="634750531"/>
+ <reference key="destination" ref="11593077"/>
+ </object>
+ <int key="connectionID">40</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">includeRapport</string>
+ <reference key="source" ref="634750531"/>
+ <reference key="destination" ref="445462230"/>
+ </object>
+ <int key="connectionID">43</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">dontReport:</string>
+ <reference key="source" ref="634750531"/>
+ <reference key="destination" ref="775514680"/>
+ </object>
+ <int key="connectionID">60</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">submitData:</string>
+ <reference key="source" ref="634750531"/>
+ <reference key="destination" ref="5590046"/>
+ </object>
+ <int key="connectionID">61</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">dontShowThis</string>
+ <reference key="source" ref="634750531"/>
+ <reference key="destination" ref="822024906"/>
+ </object>
+ <int key="connectionID">106</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">commentField</string>
+ <reference key="source" ref="634750531"/>
+ <reference key="destination" ref="983217202"/>
+ </object>
+ <int key="connectionID">153</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">window</string>
+ <reference key="source" ref="634750531"/>
+ <reference key="destination" ref="112558122"/>
+ </object>
+ <int key="connectionID">168</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="112558122"/>
+ <reference key="destination" ref="634750531"/>
+ </object>
+ <int key="connectionID">182</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">mailaddress</string>
+ <reference key="source" ref="634750531"/>
+ <reference key="destination" ref="32464330"/>
+ </object>
+ <int key="connectionID">196</int>
+ </object>
+ </array>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <array key="orderedObjects">
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <array key="object" id="0"/>
+ <reference key="children" ref="544090607"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="634750531"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="686651762"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">First Responder</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-3</int>
+ <reference key="object" ref="507874050"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">Application</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1</int>
+ <reference key="object" ref="112558122"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="421821893"/>
+ </array>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">Window (Window)</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">2</int>
+ <reference key="object" ref="421821893"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="11593077"/>
+ <reference ref="867011310"/>
+ <reference ref="445462230"/>
+ <reference ref="409814192"/>
+ <reference ref="5590046"/>
+ <reference ref="775514680"/>
+ <reference ref="822024906"/>
+ <reference ref="34729833"/>
+ <reference ref="979080861"/>
+ <reference ref="32464330"/>
+ <reference ref="216162799"/>
+ <reference ref="301151392"/>
+ </array>
+ <reference key="parent" ref="112558122"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">5</int>
+ <reference key="object" ref="11593077"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="519466127"/>
+ </array>
+ <reference key="parent" ref="421821893"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">7</int>
+ <reference key="object" ref="867011310"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="94420877"/>
+ </array>
+ <reference key="parent" ref="421821893"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">9</int>
+ <reference key="object" ref="301151392"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="983217202"/>
+ <reference ref="467437854"/>
+ <reference ref="19233346"/>
+ </array>
+ <reference key="parent" ref="421821893"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">14</int>
+ <reference key="object" ref="983217202"/>
+ <reference key="parent" ref="301151392"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">10</int>
+ <reference key="object" ref="445462230"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="821857862"/>
+ </array>
+ <reference key="parent" ref="421821893"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">15</int>
+ <reference key="object" ref="409814192"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="812530724"/>
+ </array>
+ <reference key="parent" ref="421821893"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">19</int>
+ <reference key="object" ref="32464330"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="3894257"/>
+ </array>
+ <reference key="parent" ref="421821893"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">23</int>
+ <reference key="object" ref="5590046"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="76896251"/>
+ </array>
+ <reference key="parent" ref="421821893"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">25</int>
+ <reference key="object" ref="775514680"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="674673856"/>
+ </array>
+ <reference key="parent" ref="421821893"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">44</int>
+ <reference key="object" ref="822024906"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="527874703"/>
+ </array>
+ <reference key="parent" ref="421821893"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">123</int>
+ <reference key="object" ref="34729833"/>
+ <reference key="parent" ref="421821893"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">126</int>
+ <reference key="object" ref="979080861"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="544333105"/>
+ </array>
+ <reference key="parent" ref="421821893"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">134</int>
+ <reference key="object" ref="216162799"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="693906202"/>
+ </array>
+ <reference key="parent" ref="421821893"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">198</int>
+ <reference key="object" ref="519466127"/>
+ <reference key="parent" ref="11593077"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">199</int>
+ <reference key="object" ref="94420877"/>
+ <reference key="parent" ref="867011310"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">200</int>
+ <reference key="object" ref="821857862"/>
+ <reference key="parent" ref="445462230"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">201</int>
+ <reference key="object" ref="812530724"/>
+ <reference key="parent" ref="409814192"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">202</int>
+ <reference key="object" ref="3894257"/>
+ <reference key="parent" ref="32464330"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">203</int>
+ <reference key="object" ref="76896251"/>
+ <reference key="parent" ref="5590046"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">204</int>
+ <reference key="object" ref="674673856"/>
+ <reference key="parent" ref="775514680"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">205</int>
+ <reference key="object" ref="527874703"/>
+ <reference key="parent" ref="822024906"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">206</int>
+ <reference key="object" ref="544333105"/>
+ <reference key="parent" ref="979080861"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">207</int>
+ <reference key="object" ref="693906202"/>
+ <reference key="parent" ref="216162799"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">208</int>
+ <reference key="object" ref="467437854"/>
+ <reference key="parent" ref="301151392"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">209</int>
+ <reference key="object" ref="19233346"/>
+ <reference key="parent" ref="301151392"/>
+ </object>
+ </array>
+ </object>
+ <dictionary class="NSMutableDictionary" key="flattenedProperties">
+ <string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="-3.ImportedFromIB2"/>
+ <string key="1.IBEditorWindowLastContentRect">{{342, 351}, {453, 394}}</string>
+ <string key="1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="1.IBWindowTemplateEditedContentRect">{{342, 351}, {453, 394}}</string>
+ <boolean value="YES" key="1.ImportedFromIB2"/>
+ <boolean value="YES" key="1.NSWindowTemplate.visibleAtLaunch"/>
+ <string key="10.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="10.ImportedFromIB2"/>
+ <string key="123.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="123.ImportedFromIB2"/>
+ <string key="126.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="126.ImportedFromIB2"/>
+ <string key="134.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <object class="NSAffineTransform" key="134.IBViewBoundsToFrameTransform">
+ <bytes key="NSTransformStruct">P4AAAL+AAABAAAAAwuoAAA</bytes>
+ </object>
+ <boolean value="YES" key="134.ImportedFromIB2"/>
+ <string key="14.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="14.ImportedFromIB2"/>
+ <string key="15.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="15.ImportedFromIB2"/>
+ <string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="19.ImportedFromIB2"/>
+ <string key="198.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="199.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="2.ImportedFromIB2"/>
+ <string key="200.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="201.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="202.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="203.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="204.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="205.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="206.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="207.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="208.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="208.IBShouldRemoveOnLegacySave"/>
+ <string key="209.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="209.IBShouldRemoveOnLegacySave"/>
+ <string key="23.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="23.ImportedFromIB2"/>
+ <string key="25.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="25.ImportedFromIB2"/>
+ <string key="44.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="44.ImportedFromIB2"/>
+ <string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="5.ImportedFromIB2"/>
+ <string key="7.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="7.ImportedFromIB2"/>
+ <string key="9.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="9.ImportedFromIB2"/>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
+ <nil key="activeLocalization"/>
+ <dictionary class="NSMutableDictionary" key="localizations"/>
+ <nil key="sourceID"/>
+ <int key="maxID">209</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <array class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <object class="IBPartialClassDescription">
+ <string key="className">CMCrashReporterWindow</string>
+ <string key="superclassName">NSWindowController</string>
+ <dictionary class="NSMutableDictionary" key="actions">
+ <string key="dontReport:">id</string>
+ <string key="submitData:">id</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="actionInfosByName">
+ <object class="IBActionInfo" key="dontReport:">
+ <string key="name">dontReport:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo" key="submitData:">
+ <string key="name">submitData:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="outlets">
+ <string key="application">id</string>
+ <string key="commentField">id</string>
+ <string key="description">id</string>
+ <string key="dontShowThis">id</string>
+ <string key="includeRapport">id</string>
+ <string key="mailaddress">id</string>
+ <string key="version">id</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <object class="IBToOneOutletInfo" key="application">
+ <string key="name">application</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="commentField">
+ <string key="name">commentField</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="description">
+ <string key="name">description</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="dontShowThis">
+ <string key="name">dontShowThis</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="includeRapport">
+ <string key="name">includeRapport</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="mailaddress">
+ <string key="name">mailaddress</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="version">
+ <string key="name">version</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </dictionary>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/CMCrashReporterWindow.h</string>
+ </object>
+ </object>
+ </array>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+ <integer value="1060" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
+ <string key="NS.key.0">NSApplicationIcon</string>
+ <string key="NS.object.0">{128, 128}</string>
+ </object>
+ </data>
+</archive>
Added: code/branches/mac_osx/src/external/cmcrashreporter/CMakeLists.txt
===================================================================
--- code/branches/mac_osx/src/external/cmcrashreporter/CMakeLists.txt (rev 0)
+++ code/branches/mac_osx/src/external/cmcrashreporter/CMakeLists.txt 2011-04-18 17:14:18 UTC (rev 8259)
@@ -0,0 +1,68 @@
+ #
+ # ORXONOX - the hottest 3D action shooter ever to exist
+ # > www.orxonox.net <
+ #
+ # This program is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU General Public License
+ # as published by the Free Software Foundation; either version 2
+ # of the License, or (at your option) any later version.
+ #
+ # This program is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ # GNU General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License along
+ # with this program; if not, write to the Free Software Foundation,
+ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ #
+IF(APPLE)
+
+SET_SOURCE_FILES(CCR_FILES
+ CMCrashReporter.m
+ CMCrashReporterGlobal.m
+ CMCrashReporterWindow.m
+)
+
+ORXONOX_ADD_LIBRARY(cmcrashreporter_orxonox
+ ORXONOX_EXTERNAL
+ LINK_LIBRARIES
+ "-framework CoreFoundation"
+ "-framework Cocoa"
+ "-framework AddressBook"
+ SOURCE_FILES
+ ${CCR_FILES}
+)
+
+IF(NOT CMAKE_CONFIGURATION_TYPES)
+ SET(_subdirs .)
+ SET(_default_subdir .)
+ELSE()
+ SET(_subdirs ${CMAKE_CONFIGURATION_TYPES})
+ SET(_default_subdir) # No default subdir
+ENDIF()
+
+FOREACH(_subdir ${_subdirs})
+ GET_FILENAME_COMPONENT(CURRENT_RUNTIME_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_subdir} ABSOLUTE)
+
+ # Convenience variables
+ # Note that this is just an empty bundle! The executable itself will
+ # be added at build time
+ SET(DEVBUNDLE_CURRENT_DIR "${CURRENT_RUNTIME_DIR}/${PROJECT_NAME}.app/Contents")
+ SET(DEVBUNDLE_CURRENT_BIN "${DEVBUNDLE_CURRENT_DIR}/MacOS")
+ SET(DEVBUNDLE_CURRENT_RESOURCES "${DEVBUNDLE_CURRENT_DIR}/Resources")
+ SET(DEVBUNDLE_DEFAULT_LANGFILE "English.lproj")
+ SET(DEVBUNDLE_NIB_FILE "MainMenu.nib")
+
+ # Create bundle folder structure
+ FILE(MAKE_DIRECTORY "${DEVBUNDLE_CURRENT_DIR}")
+ FILE(MAKE_DIRECTORY "${DEVBUNDLE_CURRENT_BIN}")
+ FILE(MAKE_DIRECTORY "${DEVBUNDLE_CURRENT_RESOURCES}")
+ FILE(MAKE_DIRECTORY "${DEVBUNDLE_CURRENT_RESOURCES}/${DEVBUNDLE_DEFAULT_LANGFILE}/${DEVBUNDLE_NIB_FILE}")
+
+ # Populate app with additional NIB file.
+ CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/CMCrashReporterWindow.xib" "${DEVBUNDLE_CURRENT_RESOURCES}/${DEVBUNDLE_DEFAULT_LANGFILE}/CMCrashReporterWindow.xib" COPYONLY)
+
+ENDFOREACH(_subdir)
+
+ENDIF(APPLE)
Added: code/branches/mac_osx/src/external/cmcrashreporter/read-me.txt
===================================================================
--- code/branches/mac_osx/src/external/cmcrashreporter/read-me.txt (rev 0)
+++ code/branches/mac_osx/src/external/cmcrashreporter/read-me.txt 2011-04-18 17:14:18 UTC (rev 8259)
@@ -0,0 +1,64 @@
+ Read Me
+..:: -- -- -- -- -- -- -- -- -- -- ::..
+
+CMCrashReporter is a group of classes,
+special designed for Mac applications.
+
+CMCrashReporter collects crash-reports
+and send those to a server of the
+developer, in stead of Apple.
+
+CMCrashReporter is free and opensource.
+You can edit CMCrashReporter if wanted.
+If you find some bugs or have some feature requests,
+please email us at info at codingmammoth.com so we can
+update CMCrashReporter.
+
+ Credits
+..:: -- -- -- -- -- -- -- -- -- -- ::..
+
+CMCrashReporter is developed by
+Jelle De Laender - CodingMammoth.com
+
+Thanks to Pieter Omvlee (bohemiancoding.com)
+for the GUI-support.
+
+ Compability
+..:: -- -- -- -- -- -- -- -- -- -- ::..
+
+CMCrashReporter is compatible with
+Tiger, Leopard and Snow Leopard.
+
+Depending on your project, it's compatible for
+intel and PPC and GC (Garbage Collection).
+
+ Usage
+..:: -- -- -- -- -- -- -- -- -- -- ::..
+
+IMPORTANT: Link 'AddressBook.framework'
+(available on the Mac-computer self) to
+your project,
+since this CMCrashReporter is using this.
+
+1) Link the classes and the nib-file to your project.
+2) link the addressbook.framework to your project (available on Mac OS Library)
+3) At your main-class (preferable AppDelegate)
+ import CMCrashReporter.h and call [CMCrashReporter check].
+
+A good place to call this method is in -(void)applicationDidFinishLaunching: in your app delegate
+
+
+
+ App Settings (info.plist)
+..:: -- -- -- -- -- -- -- -- -- -- ::..
+
+CMSubmitURL - String: HTTP-Path to commit the logs to (as POST-Data)
+CMMaxReports (optional) - Int: max number of crashlogs to be sent
+
+ Settings (Preferences)
+..:: -- -- -- -- -- -- -- -- -- -- ::..
+It's possible to let your users have a choice to submit reports, or just ignore them.
+
+Create a NSCheckbox and link this to NSUserDefaults with 'CMCrashReporterIgnoreCrashes' as key.
+
+ CMCrashReporterIgnoreCrashes - BOOL: let the user ignore crashreports
More information about the Orxonox-commit
mailing list