summaryrefslogtreecommitdiff
path: root/cocoa
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2013-02-14 15:09:28 +0000
committerVincent Sanders <vince@netsurf-browser.org>2013-02-18 11:23:27 +0000
commit3bfb5b96a7c7cb2718a60987e69cd659ed49b9d8 (patch)
tree40aa4e52aa50010c8f7c47dda79be2b77339e546 /cocoa
parentc545bb4b42dff8bfd4c288e330f52848ec2df6c4 (diff)
downloadnetsurf-3bfb5b96a7c7cb2718a60987e69cd659ed49b9d8.tar.gz
netsurf-3bfb5b96a7c7cb2718a60987e69cd659ed49b9d8.tar.bz2
browser_window_navigate refactor
Diffstat (limited to 'cocoa')
-rw-r--r--cocoa/BookmarksController.m33
-rw-r--r--cocoa/BrowserView.m48
-rw-r--r--cocoa/BrowserViewController.m37
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;