diff options
author | Sven Weidauer <sven.weidauer@gmail.com> | 2011-02-25 15:31:48 +0000 |
---|---|---|
committer | Sven Weidauer <sven.weidauer@gmail.com> | 2011-02-25 15:31:48 +0000 |
commit | ba20058f2c42c471d0882e78cc6191bd8e11cd11 (patch) | |
tree | bdb94664769307e9684bb0f1b69feb296dd25f49 /cocoa | |
parent | 2e04c57929aaae8b36b57e873b680b32304b29c4 (diff) | |
download | netsurf-ba20058f2c42c471d0882e78cc6191bd8e11cd11.tar.gz netsurf-ba20058f2c42c471d0882e78cc6191bd8e11cd11.tar.bz2 |
Saving bookmarks before quitting NetSurf.
svn path=/trunk/netsurf/; revision=11794
Diffstat (limited to 'cocoa')
-rw-r--r-- | cocoa/BookmarksController.m | 22 | ||||
-rw-r--r-- | cocoa/NetsurfApp.m | 2 |
2 files changed, 24 insertions, 0 deletions
diff --git a/cocoa/BookmarksController.m b/cocoa/BookmarksController.m index 76ea5c299..360010242 100644 --- a/cocoa/BookmarksController.m +++ b/cocoa/BookmarksController.m @@ -27,6 +27,11 @@ #import "desktop/tree.h" #import "desktop/tree_url_node.h" +@interface BookmarksController () +- (void) noteAppWillTerminate: (NSNotification *) note; +- (void) save; +@end + @implementation BookmarksController @synthesize defaultMenu; @@ -46,9 +51,24 @@ static const char *cocoa_hotlist_path( void ) hotlist_initialise( [tree tree], cocoa_hotlist_path(), "" ); nodeForMenu = NSCreateMapTable( NSNonOwnedPointerMapKeyCallBacks, NSNonOwnedPointerMapValueCallBacks, 0 ); + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector( noteAppWillTerminate: ) + name:NSApplicationWillTerminateNotification + object:NSApp]; + return self; } +- (void) noteAppWillTerminate: (NSNotification *) note; +{ + [self save]; +} + +- (void) save; +{ + hotlist_export( cocoa_hotlist_path() ); +} + - (void) dealloc; { [self setView: nil]; @@ -56,6 +76,8 @@ static const char *cocoa_hotlist_path( void ) hotlist_cleanup( cocoa_hotlist_path() ); [tree release]; + [[NSNotificationCenter defaultCenter] removeObserver: self]; + [super dealloc]; } diff --git a/cocoa/NetsurfApp.m b/cocoa/NetsurfApp.m index 6d881bb9d..f1245ece3 100644 --- a/cocoa/NetsurfApp.m +++ b/cocoa/NetsurfApp.m @@ -93,6 +93,8 @@ -(void) terminate: (id)sender; { + [[NSNotificationCenter defaultCenter] postNotificationName:NSApplicationWillTerminateNotification object:self]; + netsurf_quit = true; [self postEvent: [NSEvent otherEventWithType: NSApplicationDefined location: NSZeroPoint modifierFlags: 0 timestamp: 0 windowNumber: 0 context: NULL |