diff options
author | Vincent Sanders <vince@netsurf-browser.org> | 2013-02-14 18:21:11 +0000 |
---|---|---|
committer | Vincent Sanders <vince@netsurf-browser.org> | 2013-02-18 11:23:48 +0000 |
commit | b112dec78d5e8289ded3f61db96e495690ae96b5 (patch) | |
tree | 9babaed21ed2eb841b8d398e28814544c73656d9 /amiga | |
parent | 3bfb5b96a7c7cb2718a60987e69cd659ed49b9d8 (diff) | |
download | netsurf-b112dec78d5e8289ded3f61db96e495690ae96b5.tar.gz |
change browser_window_create and refactor all callsites
Diffstat (limited to 'amiga')
-rwxr-xr-x | amiga/arexx.c | 22 | ||||
-rwxr-xr-x | amiga/context_menu.c | 36 | ||||
-rwxr-xr-x | amiga/gui.c | 201 | ||||
-rwxr-xr-x | amiga/menu.c | 60 |
4 files changed, 282 insertions, 37 deletions
diff --git a/amiga/arexx.c b/amiga/arexx.c index 66b1ad88e..606f348cb 100755 --- a/amiga/arexx.c +++ b/amiga/arexx.c @@ -257,11 +257,22 @@ STATIC VOID rx_open(struct ARexxCmd *cmd, struct RexxMsg *rxm __attribute__((unu } else if(cmd->ac_ArgList[2]) { - browser_window_create(url, NULL, NULL, true, true); + browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY | + BROWSER_WINDOW_GO_FLAG_TAB, + url, + NULL, + NULL, + NULL); } else if(cmd->ac_ArgList[1]) { - browser_window_create(url, NULL, NULL, true, false); + browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY, + url, + NULL, + NULL, + NULL); } else { @@ -278,7 +289,12 @@ STATIC VOID rx_open(struct ARexxCmd *cmd, struct RexxMsg *rxm __attribute__((unu } else { - browser_window_create(url, NULL, NULL, true, false); + browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY, + url, + NULL, + NULL, + NULL); } } nsurl_unref(url); diff --git a/amiga/context_menu.c b/amiga/context_menu.c index 952d5c2c8..2091f55ca 100755 --- a/amiga/context_menu.c +++ b/amiga/context_menu.c @@ -718,6 +718,8 @@ static uint32 ami_context_menu_hook(struct Hook *hook,Object *item,APTR reserved const char *source_data; ULONG source_size; struct bitmap *bm; + nsurl *url; + nserror error; if(GetAttrs(item,PMIA_ID,&itemid, PMIA_UserData,&userdata, @@ -776,14 +778,40 @@ static uint32 ami_context_menu_hook(struct Hook *hook,Object *item,APTR reserved case CMID_FRAMEWIN: case CMID_URLOPENWIN: - bw = browser_window_create(userdata, gwin->bw, - nsurl_access(hlcache_handle_get_url(gwin->bw->current_content)), true, false); + error = nsurl_create(userdata, &url); + if (error == NSERROR_OK) { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY, + url, + hlcache_handle_get_url(gwin->bw->current_content), + gwin->bw, + &bw); + nsurl_unref(url); + } + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } + + break; case CMID_FRAMETAB: case CMID_URLOPENTAB: - bw = browser_window_create(userdata, gwin->bw, - nsurl_access(hlcache_handle_get_url(gwin->bw->current_content)), true, true); + error = nsurl_create(userdata, &url); + if (error == NSERROR_OK) { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY | + BROWSER_WINDOW_GO_FLAG_TAB, + url, + hlcache_handle_get_url(gwin->bw->current_content), + gwin->bw, + &bw); + nsurl_unref(url); + } + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } + break; case CMID_FRAMESAVE: diff --git a/amiga/gui.c b/amiga/gui.c index 62aa87713..0269fa0e5 100755 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -686,6 +686,8 @@ void ami_openscreenfirst(void) static void gui_init2(int argc, char** argv) { + nsurl *url; + nserror error; struct browser_window *bw = NULL; struct RDArgs *args; STRPTR temp_homepage_url = NULL; @@ -726,7 +728,20 @@ static void gui_init2(int argc, char** argv) if(notalreadyrunning) { - bw = browser_window_create(temp_homepage_url, 0, 0, true,false); + error = nsurl_create(temp_homepage_url, &url); + if (error == NSERROR_OK) { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY, + url, + NULL, + NULL, + &bw); + nsurl_unref(url); + } + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } + free(temp_homepage_url); } } @@ -762,14 +777,36 @@ static void gui_init2(int argc, char** argv) if(notalreadyrunning) { - if(!first) - { - bw = browser_window_create(temp_homepage_url, 0, 0, true,false); - first=1; + error = nsurl_create(temp_homepage_url, &url); + + + if (error == NSERROR_OK) { + if(!first) + { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY, + url, + NULL, + NULL, + &bw); + + first=1; + } + else + { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY, + url, + NULL, + bw, + &bw); + + } + nsurl_unref(url); + } - else - { - bw = browser_window_create(temp_homepage_url, bw, 0, true,false); + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); } free(temp_homepage_url); temp_homepage_url = NULL; @@ -841,8 +878,21 @@ static void gui_init2(int argc, char** argv) if(applibport) applibsig = (1L << applibport->mp_SigBit); } - if(!bw && (nsoption_bool(startup_no_window) == false)) - bw = browser_window_create(nsoption_charp(homepage_url), 0, 0, true,false); + if(!bw && (nsoption_bool(startup_no_window) == false)) { + error = nsurl_create(nsoption_charp(homepage_url), &url); + if (error == NSERROR_OK) { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY, + url, + NULL, + NULL, + NULL); + nsurl_unref(url); + } + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } + } } /** Normal entry point from OS */ @@ -1622,7 +1672,25 @@ void ami_handle_msg(void) break; case GID_ADDTAB: - browser_window_create(nsoption_charp(homepage_url), gwin->bw, 0, true, true); + { + nsurl *urlns; + nserror error; + + error = nsurl_create(nsoption_charp(homepage_url), &urlns); + if (error == NSERROR_OK) { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY | + BROWSER_WINDOW_GO_FLAG_TAB, + urlns, + NULL, + gwin->bw, + NULL); + nsurl_unref(urlns); + } + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } + } break; case GID_URL: @@ -1756,15 +1824,47 @@ void ami_handle_msg(void) switch(nskey) { case 'n': - if ((nsoption_bool(kiosk_mode) == false)) - browser_window_create(nsoption_charp(homepage_url), NULL, - 0, true, false); + if ((nsoption_bool(kiosk_mode) == false)) { + nsurl *urlns; + nserror error; + + error = nsurl_create(nsoption_charp(homepage_url), &urlns); + if (error == NSERROR_OK) { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY, + urlns, + NULL, + gwin->bw, + NULL); + nsurl_unref(urlns); + } + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } + + } break; case 't': - if((nsoption_bool(kiosk_mode) == false)) - browser_window_create(nsoption_charp(homepage_url), - gwin->bw, 0, true, true); + if((nsoption_bool(kiosk_mode) == false)) { + nsurl *urlns; + nserror error; + + error = nsurl_create(nsoption_charp(homepage_url), &urlns); + if (error == NSERROR_OK) { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY, + urlns, + NULL, + gwin->bw, + NULL); + nsurl_unref(urlns); + } + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } + + } break; case 'k': @@ -2139,7 +2239,13 @@ void ami_handle_appmsg(void) } else { - browser_window_create(url, NULL, gwin->bw, true, true); + browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY | + BROWSER_WINDOW_GO_FLAG_TAB, + url, + NULL, + gwin->bw, + NULL); } nsurl_unref(url); } @@ -2174,7 +2280,14 @@ void ami_handle_appmsg(void) } else { - browser_window_create(url, NULL, gwin->bw, true, true); + browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY | + BROWSER_WINDOW_GO_FLAG_TAB, + url, + NULL, + gwin->bw, + NULL); + } nsurl_unref(url); } @@ -2197,6 +2310,8 @@ void ami_handle_applib(void) { struct ApplicationMsg *applibmsg; struct browser_window *bw; + nsurl *url; + nserror error; if(!applibport) return; @@ -2205,7 +2320,22 @@ void ami_handle_applib(void) switch (applibmsg->type) { case APPLIBMT_NewBlankDoc: - bw = browser_window_create(nsoption_charp(homepage_url), 0, 0, true, false); + { + + error = nsurl_create(nsoption_charp(homepage_url), &url); + if (error == NSERROR_OK) { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY, + url, + NULL, + NULL, + &bw); + nsurl_unref(url); + } + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } + } break; case APPLIBMT_OpenDoc: @@ -2215,7 +2345,20 @@ void ami_handle_applib(void) char *tempurl; tempurl = path_to_url(applibopdmsg->fileName); - bw = browser_window_create(tempurl, 0, 0, true, false); + + error = nsurl_create(tempurl, &url); + if (error == NSERROR_OK) { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY, + url, + NULL, + NULL, + &bw); + nsurl_unref(url); + } + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } free(tempurl); } break; @@ -2229,7 +2372,21 @@ void ami_handle_applib(void) } else { - bw = browser_window_create(nsoption_charp(homepage_url), 0, 0, true, false); + error = nsurl_create(nsoption_charp(homepage_url), &url); + if (error == NSERROR_OK) { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY, + url, + NULL, + NULL, + &bw); + nsurl_unref(url); + } + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } + + } break; diff --git a/amiga/menu.c b/amiga/menu.c index f480b3f69..a5fe4c342 100755 --- a/amiga/menu.c +++ b/amiga/menu.c @@ -700,18 +700,46 @@ void ami_menu_update_disabled(struct gui_window *g, hlcache_handle *c) static void ami_menu_item_project_newwin(struct Hook *hook, APTR window, struct IntuiMessage *msg) { - struct browser_window *bw; + nsurl *url; + nserror error; - bw = browser_window_create(nsoption_charp(homepage_url), NULL, 0, true, false); + error = nsurl_create(nsoption_charp(homepage_url), &url); + if (error == NSERROR_OK) { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY, + url, + NULL, + NULL, + NULL); + nsurl_unref(url); + } + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } } static void ami_menu_item_project_newtab(struct Hook *hook, APTR window, struct IntuiMessage *msg) { - struct browser_window *bw; struct gui_window_2 *gwin; + nsurl *url; + nserror error; GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin); - bw = browser_window_create(nsoption_charp(homepage_url), gwin->bw, 0, true, true); + + error = nsurl_create(nsoption_charp(homepage_url), &url); + if (error == NSERROR_OK) { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY | + BROWSER_WINDOW_GO_FLAG_TAB, + url, + NULL, + gwin->bw, + NULL); + nsurl_unref(url); + } + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } } static void ami_menu_item_project_open(struct Hook *hook, APTR window, struct IntuiMessage *msg) @@ -763,6 +791,8 @@ static void ami_menu_item_project_about(struct Hook *hook, APTR window, struct I struct gui_window_2 *gwin; char *temp, *temp2; int sel; + nsurl *url; + nserror error; GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin); @@ -795,10 +825,24 @@ static void ami_menu_item_project_about(struct Hook *hook, APTR window, struct I free(temp2); - if(sel == 2) - browser_window_create("about:credits", NULL, 0, true, false); - else if(sel == 0) - browser_window_create("about:licence", NULL, 0, true, false); + if(sel == 2) { + error = nsurl_create("about:credits", &url); + } else if(sel == 0) { + error = nsurl_create("about:licence", &url); + } + + if (error == NSERROR_OK) { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY, + url, + NULL, + NULL, + NULL); + nsurl_unref(url); + } + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } ami_reset_pointer(gwin); } |