diff options
author | Vincent Sanders <vince@kyllikki.org> | 2017-05-23 11:18:45 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2017-05-23 11:18:45 +0100 |
commit | d6c07925417eaea27c85996bc243f93e27b1bcd0 (patch) | |
tree | 7c4155f513a9d2a9dc91cfb0e5de9637995340af /frontends/cocoa/BookmarksController.m | |
parent | 681586139fa83a53b1174ad93d764c5c92b900f3 (diff) | |
download | netsurf-d6c07925417eaea27c85996bc243f93e27b1bcd0.tar.gz netsurf-d6c07925417eaea27c85996bc243f93e27b1bcd0.tar.bz2 |
remove cocoa frontend
The cocoa frontend has been broken for a few years and we have no
maintainer. It was removed from the CI six months ago and has already
bitrotted so it cannot be compiled.
Diffstat (limited to 'frontends/cocoa/BookmarksController.m')
-rw-r--r-- | frontends/cocoa/BookmarksController.m | 224 |
1 files changed, 0 insertions, 224 deletions
diff --git a/frontends/cocoa/BookmarksController.m b/frontends/cocoa/BookmarksController.m deleted file mode 100644 index d7918d9fc..000000000 --- a/frontends/cocoa/BookmarksController.m +++ /dev/null @@ -1,224 +0,0 @@ -/* - * Copyright 2011 Sven Weidauer <sven.weidauer@gmail.com> - * - * This file is part of NetSurf, http://www.netsurf-browser.org/ - * - * NetSurf 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; version 2 of the License. - * - * NetSurf 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, see <http://www.gnu.org/licenses/>. - */ - -#import "utils/messages.h" -#import "utils/utils.h" -#import "utils/nsurl.h" -#import "netsurf/browser_window.h" -#import "netsurf/keypress.h" -#import "desktop/hotlist.h" - -#import "cocoa/desktop-tree.h" -#import "cocoa/BookmarksController.h" -#import "cocoa/Tree.h" -#import "cocoa/TreeView.h" -#import "cocoa/NetsurfApp.h" -#import "cocoa/BrowserViewController.h" -#import "cocoa/gui.h" - - -@interface BookmarksController () -- (void) noteAppWillTerminate: (NSNotification *) note; -- (void) save; -@end - -@implementation BookmarksController - -@synthesize defaultMenu; -@synthesize view; - -static const char *cocoa_hotlist_path( void ) -{ - NSString *path = [[NSUserDefaults standardUserDefaults] - stringForKey: kHotlistFileOption]; - return [path UTF8String]; -} - -- (id)init -{ - if ((self = [super initWithWindowNibName: @"BookmarksWindow"]) == nil) { - return nil; - } - tree_hotlist_path = cocoa_hotlist_path(); - tree = [[Tree alloc] initWithFlags: TREE_HOTLIST]; - 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(), NULL ); -} - -- (void) dealloc -{ - [self setView: nil]; - NSFreeMapTable( nodeForMenu ); - [tree release]; - - [[NSNotificationCenter defaultCenter] removeObserver: self]; - - [super dealloc]; -} - -- (void) menuNeedsUpdate: (NSMenu *)menu -{ -#if 0 - for (NSMenuItem *item in [menu itemArray]) { - if ([item hasSubmenu]) NSMapRemove( nodeForMenu, [item submenu] ); - [menu removeItem: item]; - } - - bool hasSeparator = true; - struct node *node = (struct node *)NSMapGet( nodeForMenu, menu ); - if (node == NULL) { - for (NSMenuItem *item in [defaultMenu itemArray]) { - [menu addItem: [[item copy] autorelease]]; - } - hasSeparator = false; - } - - for (struct node *child = tree_node_get_child( node ); - child != NULL; - child = tree_node_get_next( child )) { - - if (tree_node_is_deleted( child )) continue; - - if (!hasSeparator) { - [menu addItem: [NSMenuItem separatorItem]]; - hasSeparator = true; - } - - NSString *title = [NSString stringWithUTF8String: tree_url_node_get_title( child )]; - - NSMenuItem *item = [menu addItemWithTitle: title action: NULL keyEquivalent: @""]; - if (tree_node_is_folder( child )) { - NSMenu *subMenu = [[[NSMenu alloc] initWithTitle: title] autorelease]; - NSMapInsert( nodeForMenu, subMenu, child ); - [subMenu setDelegate: self]; - [menu setSubmenu: subMenu forItem: item]; - } else { - [item setRepresentedObject: [NSString stringWithUTF8String: tree_url_node_get_url( child )]]; - [item setTarget: self]; - [item setAction: @selector( openBookmarkURL: )]; - } - } -#endif -} - -- (IBAction) openBookmarkURL: (id)sender -{ - const char *urltxt = [[sender representedObject] UTF8String]; - NSParameterAssert( urltxt != NULL ); - - nsurl *url; - nserror error; - - error = nsurl_create(urltxt, &url); - if (error == NSERROR_OK) { - BrowserViewController *tab = [(NetSurfApp *)NSApp frontTab]; - if (tab != nil) { - error = browser_window_navigate([tab browser], - url, - NULL, - BW_NAVIGATE_HISTORY, - NULL, - NULL, - NULL); - } else { - 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); - } -} - -- (IBAction) addBookmark: (id)sender -{ - struct browser_window *bw = [[(NetSurfApp *)NSApp frontTab] browser]; - if (bw != NULL) { - hotlist_add_url(browser_window_get_url(bw)); - } -} - -- (BOOL) validateUserInterfaceItem: (id)item -{ - SEL action = [item action]; - - if (action == @selector( addBookmark: )) { - return [(NetSurfApp *)NSApp frontTab] != nil; - } - - return YES; -} - -- (void) windowDidLoad -{ - hotlist_expand(false); - hotlist_contract(true); - - [view setTree: tree]; -} - - -+ (void) initialize -{ - [[NSUserDefaults standardUserDefaults] - registerDefaults: - [NSDictionary - dictionaryWithObjectsAndKeys:cocoa_get_user_path( @"Bookmarks.html" ), - kHotlistFileOption, - nil]]; -} - -- (IBAction) editSelected: (id)sender -{ - hotlist_edit_selection(); -} - -- (IBAction) deleteSelected: (id)sender -{ - hotlist_keypress(NS_KEY_DELETE_LEFT); -} - -- (IBAction) addFolder: (id)sender -{ - hotlist_add_folder(NULL, false, 0); -} - -@end |