summaryrefslogtreecommitdiff
path: root/frontends/cocoa/NetsurfApp.m
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/cocoa/NetsurfApp.m')
-rw-r--r--frontends/cocoa/NetsurfApp.m299
1 files changed, 147 insertions, 152 deletions
diff --git a/frontends/cocoa/NetsurfApp.m b/frontends/cocoa/NetsurfApp.m
index 1ecdc51a7..4c5442a2d 100644
--- a/frontends/cocoa/NetsurfApp.m
+++ b/frontends/cocoa/NetsurfApp.m
@@ -59,158 +59,153 @@ static bool cocoa_done = false;
*
* \param error The message to display to the user.
*/
-static void die(const char * const error)
+static void die(const char *const error)
{
- [NSException raise: @"NetsurfDie" format: @"Error: %s", error];
+ [NSException raise:@"NetsurfDie" format:@"Error: %s", error];
}
-- (void) loadOptions
+- (void)loadOptions
{
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- [defaults registerDefaults: [NSDictionary dictionaryWithObjectsAndKeys:
- cocoa_get_user_path( @"Cookies" ),
- kCookiesFileOption,
- cocoa_get_user_path( @"URLs" ),
- kURLsFileOption,
- [NSString stringWithUTF8String: NETSURF_HOMEPAGE],
- kHomepageURLOption,
- nil]];
+ NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+ [defaults registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys:
+ cocoa_get_user_path(@"Cookies"),
+ kCookiesFileOption,
+ cocoa_get_user_path(@"URLs"),
+ kURLsFileOption,
+ [NSString stringWithUTF8String:NETSURF_HOMEPAGE],
+ kHomepageURLOption,
+ nil]];
+ nsoption_setnull_charp(cookie_file, strdup([[defaults objectForKey:kCookiesFileOption] UTF8String]));
- nsoption_setnull_charp(cookie_file, strdup( [[defaults objectForKey: kCookiesFileOption] UTF8String] ));
+ nsoption_setnull_charp(cookie_jar, strdup(nsoption_charp(cookie_file)));
- nsoption_setnull_charp(cookie_jar, strdup( nsoption_charp(cookie_file) ));
+ nsoption_setnull_charp(homepage_url, strdup([[defaults objectForKey:kHomepageURLOption] UTF8String]));
- nsoption_setnull_charp(homepage_url, strdup( [[defaults objectForKey: kHomepageURLOption] UTF8String] ));
+ urldb_load([[defaults objectForKey:kURLsFileOption] UTF8String]);
+ urldb_load_cookies(nsoption_charp(cookie_file));
- urldb_load( [[defaults objectForKey: kURLsFileOption] UTF8String] );
- urldb_load_cookies( nsoption_charp(cookie_file) );
-
- cocoa_update_scale_factor();
- LOG("done setup");
+ cocoa_update_scale_factor();
+ LOG("done setup");
}
-- (void) saveOptions
+- (void)saveOptions
{
- urldb_save_cookies( nsoption_charp(cookie_file) );
- urldb_save( [[[NSUserDefaults standardUserDefaults] objectForKey: kURLsFileOption] UTF8String] );
+ urldb_save_cookies(nsoption_charp(cookie_file));
+ urldb_save([[[NSUserDefaults standardUserDefaults] objectForKey:kURLsFileOption] UTF8String]);
}
-- (void) run
+- (void)run
{
@autoreleasepool {
-
@autoreleasepool {
- [self finishLaunching];
+ [self finishLaunching];
- [self loadOptions];
+ [self loadOptions];
}
while (!cocoa_done) {
@autoreleasepool {
-
NSEvent *event =
- [self nextEventMatchingMask: NSEventMaskAny
- untilDate: [NSDate distantFuture]
- inMode: NSDefaultRunLoopMode
- dequeue: YES];
+ [self nextEventMatchingMask:NSEventMaskAny
+ untilDate:[NSDate distantFuture]
+ inMode:NSDefaultRunLoopMode
+ dequeue:YES];
if (nil != event) {
- [self sendEvent: event];
- [self updateWindows];
+ [self sendEvent:event];
+ [self updateWindows];
}
}
-
}
[self saveOptions];
-
}
}
--(void) terminate: (id)sender
+- (void)terminate:(id)sender
{
- [[NSNotificationCenter defaultCenter] postNotificationName:NSApplicationWillTerminateNotification object:self];
-
- cocoa_done = true;
- [self postEvent: [NSEvent otherEventWithType: NSEventTypeApplicationDefined
- location: NSZeroPoint
- modifierFlags: 0
- timestamp: 0
- windowNumber: 0
- context: NULL
- subtype: 0
- data1: 0
- data2: 0]
- atStart: YES];
+ [[NSNotificationCenter defaultCenter] postNotificationName:NSApplicationWillTerminateNotification object:self];
+
+ cocoa_done = true;
+ [self postEvent:[NSEvent otherEventWithType:NSEventTypeApplicationDefined
+ location:NSZeroPoint
+ modifierFlags:0
+ timestamp:0
+ windowNumber:0
+ context:NULL
+ subtype:0
+ data1:0
+ data2:0]
+ atStart:YES];
}
@end
#pragma mark -
-static NSString *cocoa_get_preferences_path( void )
+static NSString *cocoa_get_preferences_path(void)
{
- NSArray *paths = NSSearchPathForDirectoriesInDomains( NSApplicationSupportDirectory, NSUserDomainMask, YES );
- NSCAssert( [paths count] >= 1, @"Where is the application support directory?" );
+ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);
+ NSCAssert([paths count] >= 1, @"Where is the application support directory?");
- NSString *netsurfPath = [[paths objectAtIndex: 0] stringByAppendingPathComponent: @"NetSurf"];
+ NSString *netsurfPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"NetSurf"];
- NSFileManager *fm = [NSFileManager defaultManager];
- BOOL isDirectory = NO;
- BOOL exists = [fm fileExistsAtPath: netsurfPath isDirectory: &isDirectory];
+ NSFileManager *fm = [NSFileManager defaultManager];
+ BOOL isDirectory = NO;
+ BOOL exists = [fm fileExistsAtPath:netsurfPath isDirectory:&isDirectory];
- if (!exists) {
- exists = [fm createDirectoryAtPath: netsurfPath withIntermediateDirectories: YES attributes: nil error: NULL];
- isDirectory = YES;
- }
- if (!(exists && isDirectory)) {
- die( "Cannot create netsurf preferences directory" );
- }
+ if (!exists) {
+ exists = [fm createDirectoryAtPath:netsurfPath withIntermediateDirectories:YES attributes:nil error:NULL];
+ isDirectory = YES;
+ }
+ if (!(exists && isDirectory)) {
+ die("Cannot create netsurf preferences directory");
+ }
- return netsurfPath;
+ return netsurfPath;
}
-NSString *cocoa_get_user_path( NSString *fileName )
+NSString *cocoa_get_user_path(NSString *fileName)
{
- return [cocoa_get_preferences_path() stringByAppendingPathComponent: fileName];
+ return [cocoa_get_preferences_path() stringByAppendingPathComponent:fileName];
}
-static const char *cocoa_get_options_file( void )
+static const char *cocoa_get_options_file(void)
{
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- [defaults registerDefaults: [NSDictionary dictionaryWithObjectsAndKeys:
- cocoa_get_user_path( @"Options" ), kOptionsFileOption,
- nil]];
+ NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+ [defaults registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys:
+ cocoa_get_user_path(@"Options"), kOptionsFileOption,
+ nil]];
- return [[defaults objectForKey: kOptionsFileOption] UTF8String];
+ return [[defaults objectForKey:kOptionsFileOption] UTF8String];
}
-static NSApplication *cocoa_prepare_app( void )
+static NSApplication *cocoa_prepare_app(void)
{
- /* if application instance has already been created return it */
- if (NSApp != nil) {
- return NSApp;
- }
+ /* if application instance has already been created return it */
+ if (NSApp != nil) {
+ return NSApp;
+ }
- NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
+ NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
- /* Obtain principle class of bundle which must implement sharedApplication API */
- Class principalClass = NSClassFromString([infoDictionary objectForKey:@"NSPrincipalClass"]);
- NSCAssert([principalClass respondsToSelector:@selector(sharedApplication)],
- @"Principal class must implement sharedApplication.");
+ /* Obtain principle class of bundle which must implement sharedApplication API */
+ Class principalClass = NSClassFromString([infoDictionary objectForKey:@"NSPrincipalClass"]);
+ NSCAssert([principalClass respondsToSelector:@selector(sharedApplication)],
+ @"Principal class must implement sharedApplication.");
- /* create application instance */
- [principalClass sharedApplication];
+ /* create application instance */
+ [principalClass sharedApplication];
- /* load interface nib */
- NSString *mainNibName = [infoDictionary objectForKey:@"NSMainNibFile"];
- NSNib *mainNib = [[NSNib alloc] initWithNibNamed:mainNibName bundle:[NSBundle mainBundle]];
- [mainNib instantiateNibWithOwner:NSApp topLevelObjects:nil];
+ /* load interface nib */
+ NSString *mainNibName = [infoDictionary objectForKey:@"NSMainNibFile"];
+ NSNib *mainNib = [[NSNib alloc] initWithNibNamed:mainNibName bundle:[NSBundle mainBundle]];
+ [mainNib instantiateNibWithOwner:NSApp topLevelObjects:nil];
- return NSApp;
+ return NSApp;
}
/**
@@ -221,87 +216,87 @@ static NSApplication *cocoa_prepare_app( void )
*/
static nserror set_defaults(struct nsoption_s *defaults)
{
- /* Set defaults for absent option strings */
- const char * const ca_bundle = [[[NSBundle mainBundle] pathForResource: @"ca-bundle" ofType: @""] UTF8String];
+ /* Set defaults for absent option strings */
+ const char *const ca_bundle = [[[NSBundle mainBundle] pathForResource:@"ca-bundle" ofType:@""] UTF8String];
- nsoption_setnull_charp(ca_bundle, strdup(ca_bundle));
+ nsoption_setnull_charp(ca_bundle, strdup(ca_bundle));
- return NSERROR_OK;
+ return NSERROR_OK;
}
-int main( int argc, char **argv )
+int main(int argc, char **argv)
{
- nsurl *url;
- nserror error;
- struct netsurf_table cocoa_table = {
- .misc = cocoa_misc_table,
- .window = cocoa_window_table,
- .clipboard = cocoa_clipboard_table,
- .download = cocoa_download_table,
- .fetch = cocoa_fetch_table,
- .search = cocoa_search_table,
- .bitmap = cocoa_bitmap_table,
- .layout = cocoa_layout_table,
- };
-
- error = netsurf_register(&cocoa_table);
- if (error != NSERROR_OK) {
- die("NetSurf operation table failed registration");
- }
+ nsurl *url;
+ nserror error;
+ struct netsurf_table cocoa_table = {
+ .misc = cocoa_misc_table,
+ .window = cocoa_window_table,
+ .clipboard = cocoa_clipboard_table,
+ .download = cocoa_download_table,
+ .fetch = cocoa_fetch_table,
+ .search = cocoa_search_table,
+ .bitmap = cocoa_bitmap_table,
+ .layout = cocoa_layout_table,
+ };
+
+ error = netsurf_register(&cocoa_table);
+ if (error != NSERROR_OK) {
+ die("NetSurf operation table failed registration");
+ }
- const char * const messages = [[[NSBundle mainBundle] pathForResource: @"Messages" ofType: @""] UTF8String];
- const char * const options = cocoa_get_options_file();
+ const char *const messages = [[[NSBundle mainBundle] pathForResource:@"Messages" ofType:@""] UTF8String];
+ const char *const options = cocoa_get_options_file();
- /* initialise logging. Not fatal if it fails but not much we
+ /* initialise logging. Not fatal if it fails but not much we
* can do about it either.
*/
- nslog_init(NULL, &argc, argv);
+ nslog_init(NULL, &argc, argv);
- /* user options setup */
- error = nsoption_init(set_defaults, &nsoptions, &nsoptions_default);
- if (error != NSERROR_OK) {
- die("Options failed to initialise");
- }
- nsoption_read(options, NULL);
- nsoption_commandline(&argc, argv, NULL);
+ /* user options setup */
+ error = nsoption_init(set_defaults, &nsoptions, &nsoptions_default);
+ if (error != NSERROR_OK) {
+ die("Options failed to initialise");
+ }
+ nsoption_read(options, NULL);
+ nsoption_commandline(&argc, argv, NULL);
- error = messages_add_from_file(messages);
+ error = messages_add_from_file(messages);
- /* common initialisation */
- error = netsurf_init(NULL);
- if (error != NSERROR_OK) {
- die("NetSurf failed to initialise");
- }
+ /* common initialisation */
+ error = netsurf_init(NULL);
+ if (error != NSERROR_OK) {
+ die("NetSurf failed to initialise");
+ }
- /* Initialise filename allocator */
- filename_initialise();
+ /* Initialise filename allocator */
+ filename_initialise();
- (void)apple_image_init();
+ (void)apple_image_init();
- NSApplication *app = cocoa_prepare_app();
+ NSApplication *app = cocoa_prepare_app();
- for (int i = 1; i < argc; i++) {
- /* skip -psn_* and other possible options */
- if (argv[i][0] == '-')
- continue;
+ for (int i = 1; i < argc; i++) {
+ /* skip -psn_* and other possible options */
+ if (argv[i][0] == '-')
+ continue;
- error = nsurl_create(argv[i], &url);
- if (error == NSERROR_OK) {
- error = browser_window_create(BW_CREATE_HISTORY,
- url,
- NULL,
- NULL,
- NULL);
- nsurl_unref(url);
- }
- if (error != NSERROR_OK) {
- cocoa_warning(messages_get_errorcode(error), 0);
- }
+ error = nsurl_create(argv[i], &url);
+ if (error == NSERROR_OK) {
+ error = browser_window_create(BW_CREATE_HISTORY,
+ url,
+ NULL,
+ NULL,
+ NULL);
+ nsurl_unref(url);
}
+ if (error != NSERROR_OK) {
+ cocoa_warning(messages_get_errorcode(error), 0);
+ }
+ }
- [app run];
+ [app run];
- netsurf_exit();
+ netsurf_exit();
- return 0;
+ return 0;
}