From 4da1f6cd2372ed5d5218653bcfca0781bf3ada66 Mon Sep 17 00:00:00 2001 From: Chris Young Date: Sun, 28 Sep 2008 22:50:13 +0000 Subject: - Accept a URL as an argument to open that page on startup (this is needed for OpenURL support) - Fix loads of warnings svn path=/trunk/netsurf/; revision=5460 --- amiga/gui.c | 116 ++++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 66 insertions(+), 50 deletions(-) (limited to 'amiga') diff --git a/amiga/gui.c b/amiga/gui.c index f00671221..ea528760e 100755 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -60,6 +60,11 @@ #include #include #include "amiga/tree.h" +#include +#include "utils/utils.h" +#include "amiga/login.h" +#include "utils/url.h" +#include #ifdef WITH_HUBBUB #include @@ -151,14 +156,6 @@ void gui_init(int argc, char** argv) BPTR lock=0; Object *dto; -/* ttengine.library - if(!ami_open_tte()) - { - char errormsg[100]; - die(sprintf(errormsg,"%s ttengine.library",messages_get("OpenError"))); - } -*/ - msgport = AllocSysObjectTags(ASOT_PORT, ASO_NoTrack,FALSE, TAG_DONE); @@ -254,39 +251,39 @@ void gui_init(int argc, char** argv) #endif if((!option_cookie_file) || (option_cookie_file[0] == '\0')) - option_cookie_file = strdup("Resources/Cookies"); + option_cookie_file = (char *)strdup("Resources/Cookies"); if((!option_hotlist_file) || (option_hotlist_file[0] == '\0')) - option_hotlist_file = strdup("Resources/Hotlist"); + option_hotlist_file = (char *)strdup("Resources/Hotlist"); if((!option_url_file) || (option_url_file[0] == '\0')) - option_url_file = strdup("Resources/URLs"); + option_url_file = (char *)strdup("Resources/URLs"); /* if((!option_cookie_jar) || (option_cookie_jar[0] == '\0')) - option_cookie_jar = strdup("Resources/CookieJar"); + option_cookie_jar = (char *)strdup("Resources/CookieJar"); */ if((!option_ca_bundle) || (option_ca_bundle[0] == '\0')) - option_ca_bundle = strdup("devs:curl-ca-bundle.crt"); + option_ca_bundle = (char *)strdup("devs:curl-ca-bundle.crt"); if((!option_font_sans) || (option_font_sans[0] == '\0')) - option_font_sans = strdup("DejaVu Sans"); + option_font_sans = (char *)strdup("DejaVu Sans"); if((!option_font_serif) || (option_font_serif[0] == '\0')) - option_font_serif = strdup("DejaVu Serif"); + option_font_serif = (char *)strdup("DejaVu Serif"); if((!option_font_mono) || (option_font_mono[0] == '\0')) - option_font_mono = strdup("DejaVu Sans Mono"); + option_font_mono = (char *)strdup("DejaVu Sans Mono"); if((!option_font_cursive) || (option_font_cursive[0] == '\0')) - option_font_cursive = strdup("DejaVu Sans"); + option_font_cursive = (char *)strdup("DejaVu Sans"); if((!option_font_fantasy) || (option_font_fantasy[0] == '\0')) - option_font_fantasy = strdup("DejaVu Serif"); + option_font_fantasy = (char *)strdup("DejaVu Serif"); if((!option_toolbar_images) || (option_toolbar_images[0] == '\0')) - option_toolbar_images = strdup("TBImages:"); + option_toolbar_images = (char *)strdup("TBImages:"); if(!option_window_width) option_window_width = 800; if(!option_window_height) option_window_height = 600; @@ -349,7 +346,14 @@ void gui_init2(int argc, char** argv) { struct browser_window *bw; ULONG id; -// const char *addr = NETSURF_HOMEPAGE; //"http://netsurf-browser.org/welcome/"; + long rarray[] = {0}; + struct RDArgs *args; + STRPTR template = "URL/A"; + + enum + { + A_URL + }; InitRastPort(&dummyrp); dummyrp.BitMap = p96AllocBitMap(1,1,32, @@ -358,8 +362,20 @@ void gui_init2(int argc, char** argv) if(!dummyrp.BitMap) die(messages_get("NoMemory")); + if(argc) // argc==0 is started from wb + { + if(args = ReadArgs(template,rarray,NULL)) + { + if(rarray[A_URL]) + { + option_homepage_url = (char *)strdup(rarray[A_URL]); + } + FreeArgs(args); + } + } + if ((!option_homepage_url) || (option_homepage_url[0] == '\0')) - option_homepage_url = strdup(NETSURF_HOMEPAGE); + option_homepage_url = (char *)strdup(NETSURF_HOMEPAGE); if(option_modeid) { @@ -437,12 +453,12 @@ void ami_handle_msg(void) switch(result & WMHI_CLASSMASK) // class { case WMHI_MOUSEMOVE: - GetAttr(SPACE_AreaBox,gwin->gadgets[GID_BROWSER],&bbox); + GetAttr(SPACE_AreaBox,gwin->gadgets[GID_BROWSER],(ULONG *)&bbox); - GetAttr(SCROLLER_Top,gwin->objects[OID_HSCROLL],&xs); + GetAttr(SCROLLER_Top,gwin->objects[OID_HSCROLL],(ULONG *)&xs); x = gwin->win->MouseX - bbox->Left +xs; - GetAttr(SCROLLER_Top,gwin->objects[OID_VSCROLL],&ys); + GetAttr(SCROLLER_Top,gwin->objects[OID_VSCROLL],(ULONG *)&ys); y = gwin->win->MouseY - bbox->Top + ys; width=bbox->Width; @@ -473,9 +489,9 @@ void ami_handle_msg(void) case WMHI_MOUSEBUTTONS: GetAttr(SPACE_AreaBox,gwin->gadgets[GID_BROWSER],(ULONG *)&bbox); - GetAttr(SCROLLER_Top,gwin->objects[OID_HSCROLL],&xs); + GetAttr(SCROLLER_Top,gwin->objects[OID_HSCROLL],(ULONG *)&xs); x = gwin->win->MouseX - bbox->Left +xs; - GetAttr(SCROLLER_Top,gwin->objects[OID_VSCROLL],&ys); + GetAttr(SCROLLER_Top,gwin->objects[OID_VSCROLL],(ULONG *)&ys); y = gwin->win->MouseY - bbox->Top + ys; width=bbox->Width; @@ -533,7 +549,7 @@ void ami_handle_msg(void) switch(result & WMHI_GADGETMASK) //gadaddr->GadgetID) //result & WMHI_GADGETMASK) { case GID_URL: - GetAttr(STRINGA_TextVal,gwin->gadgets[GID_URL],&storage); + GetAttr(STRINGA_TextVal,gwin->gadgets[GID_URL],(ULONG *)&storage); browser_window_go(gwin->bw,(char *)storage,NULL,true); //printf("%s\n",(char *)storage); break; @@ -706,16 +722,16 @@ void ami_handle_appmsg(void) while(appmsg=(struct AppMessage *)GetMsg(appport)) { - GetAttr(WINDOW_UserData,appmsg->am_ID,(ULONG *)&gwin); + GetAttr(WINDOW_UserData,(struct Window *)appmsg->am_ID,(ULONG *)&gwin); if(appmsg->am_Type == AMTYPE_APPWINDOW) { - GetAttr(SPACE_AreaBox,gwin->gadgets[GID_BROWSER],&bbox); + GetAttr(SPACE_AreaBox,gwin->gadgets[GID_BROWSER],(ULONG *)&bbox); - GetAttr(SCROLLER_Top,gwin->objects[OID_HSCROLL],&xs); + GetAttr(SCROLLER_Top,gwin->objects[OID_HSCROLL],(ULONG *)&xs); x = (appmsg->am_MouseX) - (bbox->Left) +xs; - GetAttr(SCROLLER_Top,gwin->objects[OID_VSCROLL],&ys); + GetAttr(SCROLLER_Top,gwin->objects[OID_VSCROLL],(ULONG *)&ys); y = appmsg->am_MouseY - bbox->Top + ys; width=bbox->Width; @@ -767,7 +783,7 @@ void ami_handle_appmsg(void) } if(!file_box && !text_box) - return false; + return; if(file_box) { @@ -776,14 +792,14 @@ void ami_handle_appmsg(void) if(utf8_from_local_encoding(filename,0,&utf8_fn) != UTF8_CONVERT_OK) { - warn_user("NoMemory"); + warn_user("NoMemory",""); return; } free(file_box->gadget->value); file_box->gadget->value = utf8_fn; - box_coords(file_box, &x, &y); + box_coords(file_box, (int *)&x, (int *)&y); gui_window_redraw(gwin->bw->window,x,y, x + file_box->width, y + file_box->height); @@ -998,7 +1014,7 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw, if(!gwin) { - warn_user("NoMemory"); + warn_user("NoMemory",""); return NULL; } @@ -1228,7 +1244,7 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw, if(!gwin->win) { - warn_user("NoMemory"); + warn_user("NoMemory",""); FreeVec(gwin); return NULL; } @@ -1243,7 +1259,7 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw, if(!gwin->bm) { - warn_user("NoMemory"); + warn_user("NoMemory",""); browser_window_destroy(bw); return NULL; } @@ -1260,7 +1276,7 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw, if((!gwin->areabuf) || (!gwin->rp.AreaInfo)) { - warn_user("NoMemory"); + warn_user("NoMemory",""); browser_window_destroy(bw); return NULL; } @@ -1271,7 +1287,7 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw, if((!gwin->tmprasbuf) || (!gwin->rp.TmpRas)) { - warn_user("NoMemory"); + warn_user("NoMemory",""); browser_window_destroy(bw); return NULL; } @@ -1358,8 +1374,8 @@ void gui_window_update_box(struct gui_window *g, if(!g) return; GetAttr(SPACE_AreaBox,g->gadgets[GID_BROWSER],(ULONG *)&bbox); - GetAttr(SCROLLER_Top,g->objects[OID_HSCROLL],&hcurrent); - GetAttr(SCROLLER_Top,g->objects[OID_VSCROLL],&vcurrent); + GetAttr(SCROLLER_Top,g->objects[OID_HSCROLL],(ULONG *)&hcurrent); + GetAttr(SCROLLER_Top,g->objects[OID_VSCROLL],(ULONG *)&vcurrent); // DebugPrintF("DOING REDRAW\n"); @@ -1416,8 +1432,8 @@ void ami_do_redraw(struct gui_window *g) struct IBox *bbox; GetAttr(SPACE_AreaBox,g->gadgets[GID_BROWSER],(ULONG *)&bbox); - GetAttr(SCROLLER_Top,g->objects[OID_HSCROLL],&hcurrent); - GetAttr(SCROLLER_Top,g->objects[OID_VSCROLL],&vcurrent); + GetAttr(SCROLLER_Top,g->objects[OID_HSCROLL],(ULONG *)&hcurrent); + GetAttr(SCROLLER_Top,g->objects[OID_VSCROLL],(ULONG *)&vcurrent); // DebugPrintF("DOING REDRAW\n"); @@ -1767,7 +1783,7 @@ void gui_window_set_url(struct gui_window *g, const char *url) void gui_window_start_throbber(struct gui_window *g) { struct IBox *bbox; - GetAttr(SPACE_AreaBox,g->gadgets[GID_THROBBER],&bbox); + GetAttr(SPACE_AreaBox,g->gadgets[GID_THROBBER],(ULONG *)&bbox); g->throbber_frame=1; @@ -1777,7 +1793,7 @@ void gui_window_start_throbber(struct gui_window *g) void gui_window_stop_throbber(struct gui_window *g) { struct IBox *bbox; - GetAttr(SPACE_AreaBox,g->gadgets[GID_THROBBER],&bbox); + GetAttr(SPACE_AreaBox,g->gadgets[GID_THROBBER],(ULONG *)&bbox); BltBitMapRastPort(throbber,0,0,g->win->RPort,bbox->Left,bbox->Top,throbber_width,throbber_height,0x0C0); @@ -1796,7 +1812,7 @@ void ami_update_throbber(struct gui_window *g) g->throbber_update_count = 0; - GetAttr(SPACE_AreaBox,g->gadgets[GID_THROBBER],&bbox); + GetAttr(SPACE_AreaBox,g->gadgets[GID_THROBBER],(ULONG *)&bbox); g->throbber_frame++; if(g->throbber_frame > (option_throbber_frames-1)) @@ -1837,8 +1853,8 @@ void gui_window_remove_caret(struct gui_window *g) if(!g) return; GetAttr(SPACE_AreaBox,g->gadgets[GID_BROWSER],(ULONG *)&bbox); - GetAttr(SCROLLER_Top,g->objects[OID_HSCROLL],&xs); - GetAttr(SCROLLER_Top,g->objects[OID_VSCROLL],&ys); + GetAttr(SCROLLER_Top,g->objects[OID_HSCROLL],(ULONG *)&xs); + GetAttr(SCROLLER_Top,g->objects[OID_VSCROLL],(ULONG *)&ys); BltBitMapRastPort(g->bm,g->c_x,g->c_y,g->win->RPort,bbox->Left+g->c_x-xs,bbox->Top+g->c_y-ys,2+1,g->c_h+1,0x0C0); @@ -1910,7 +1926,7 @@ struct gui_download_window *gui_download_window_create(const char *url, return NULL; } - SetComment(&fname,url); + SetComment(fname,url); dw->objects[OID_MAIN] = WindowObject, WA_ScreenTitle,nsscreentitle, @@ -1985,7 +2001,7 @@ void gui_download_window_data(struct gui_download_window *dw, const char *data, void gui_download_window_error(struct gui_download_window *dw, const char *error_msg) { - warn_user("Unwritten"); + warn_user("Unwritten",""); gui_download_window_done(dw); } -- cgit v1.2.3