diff options
Diffstat (limited to 'cocoa')
-rw-r--r-- | cocoa/BookmarksController.m | 33 | ||||
-rw-r--r-- | cocoa/BrowserView.m | 48 | ||||
-rw-r--r-- | cocoa/BrowserViewController.m | 37 |
3 files changed, 101 insertions, 17 deletions
diff --git a/cocoa/BookmarksController.m b/cocoa/BookmarksController.m index 78bbec004..bb43b2fde 100644 --- a/cocoa/BookmarksController.m +++ b/cocoa/BookmarksController.m @@ -128,15 +128,34 @@ static const char *cocoa_hotlist_path( void ) - (IBAction) openBookmarkURL: (id) sender; { - const char *url = [[sender representedObject] UTF8String]; - NSParameterAssert( url != NULL ); - - BrowserViewController *tab = [(NetSurfApp *)NSApp frontTab]; - if (tab != nil) { - browser_window_go( [tab browser], url, NULL, true ); + const char *urltxt = [[sender representedObject] UTF8String]; + NSParameterAssert( urltxt != NULL ); + + nsurl *url; + nserror error; + + error = nsurl_create(urltxt, &url); + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); } else { - browser_window_create( url, NULL, NULL, true, false ); + BrowserViewController *tab = [(NetSurfApp *)NSApp frontTab]; + if (tab != nil) { + browser_window_navigate([tab browser], + url, + NULL, + BROWSER_WINDOW_GO_FLAG_HISTORY | + BROWSER_WINDOW_GO_FLAG_VERIFIABLE, + NULL, + NULL, + NULL); + } else { + browser_window_create( url, NULL, NULL, true, false ); + } + + nsurl_unref(url); } + + } - (IBAction) addBookmark: (id) sender; diff --git a/cocoa/BrowserView.m b/cocoa/BrowserView.m index 72ba0ea00..63efac468 100644 --- a/cocoa/BrowserView.m +++ b/cocoa/BrowserView.m @@ -585,7 +585,19 @@ static browser_mouse_state cocoa_mouse_flags_for_event( NSEvent *evt ) - (IBAction) cmDownloadURL: (id) sender; { - browser_window_download( browser, [[sender representedObject] UTF8String], NULL ); + nsurl *url; + + if (nsurl_create([[sender representedObject] UTF8String], &url) == NSERROR_OK) { + browser_window_navigate(browser, + url, + NULL, + BROWSER_WINDOW_GO_FLAG_DOWNLOAD | + BROWSER_WINDOW_GO_FLAG_VERIFIABLE, + NULL, + NULL, + NULL); + nsurl_unref(url); + } } - (IBAction) cmImageCopy: (id) sender; @@ -622,17 +634,37 @@ static browser_mouse_state cocoa_mouse_flags_for_event( NSEvent *evt ) - (BOOL)performDragOperation:(id <NSDraggingInfo>)sender { - NSPasteboard *pb = [sender draggingPasteboard]; + nsurl *url; + nserror error; + + NSPasteboard *pb = [sender draggingPasteboard]; - NSString *type = [pb availableTypeFromArray:[NSArray arrayWithObjects: @"public.url", NSURLPboardType, nil]]; + NSString *type = [pb availableTypeFromArray:[NSArray arrayWithObjects: @"public.url", NSURLPboardType, nil]]; - NSString *url = nil; - if ([type isEqualToString: NSURLPboardType]) url = [[NSURL URLFromPasteboard: pb] absoluteString]; - else url = [pb stringForType: type]; + NSString *urlstr = nil; + + if ([type isEqualToString: NSURLPboardType]) { + urlstr = [[NSURL URLFromPasteboard: pb] absoluteString]; + } else { + urlstr = [pb stringForType: type]; + } - browser_window_go( browser, [url UTF8String], NULL, true ); + error = nsurl_create([urlstr UTF8String], &url); + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } else { + browser_window_navigate(browser, + url, + NULL, + BROWSER_WINDOW_GO_FLAG_HISTORY | + BROWSER_WINDOW_GO_FLAG_VERIFIABLE, + NULL, + NULL, + NULL); + nsurl_unref(url); + } - return YES; + return YES; } // MARK: - diff --git a/cocoa/BrowserViewController.m b/cocoa/BrowserViewController.m index f8b26e12f..7a134eedf 100644 --- a/cocoa/BrowserViewController.m +++ b/cocoa/BrowserViewController.m @@ -67,7 +67,23 @@ - (IBAction) navigate: (id) sender; { - browser_window_go( browser, [url UTF8String], NULL, true ); + nsurl *unsrl; + nserror error; + + error = nsurl_create([url UTF8String], &url); + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } else { + browser_window_navigate(browser, + nsurl, + NULL, + BROWSER_WINDOW_GO_FLAG_HISTORY | + BROWSER_WINDOW_GO_FLAG_VERIFIABLE, + NULL, + NULL, + NULL); + nsurl_unref(url); + } } - (void) awakeFromNib; @@ -115,7 +131,24 @@ - (IBAction) goHome: (id) sender; { - browser_window_go( browser, nsoption_charp(homepage_url), NULL, true ); + nsurl *url; + nserror error; + + error = nsurl_create(nsoption_charp(homepage_url), &url); + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } else { + browser_window_navigate(browser, + url, + NULL, + BROWSER_WINDOW_GO_FLAG_HISTORY | + BROWSER_WINDOW_GO_FLAG_VERIFIABLE, + NULL, + NULL, + NULL); + nsurl_unref(url); + } + } - (IBAction) reloadPage: (id) sender; |