diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2009-04-30 18:40:26 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2009-04-30 18:40:26 +0000 |
commit | 84873deeff9b4e0cffa4b461171e491ea569ba70 (patch) | |
tree | 5b29fed9debf37ad5e6f219f1d9f6ff5c9832dbb /amiga | |
parent | 160ec892e123b74033bf3092caff457629d9a00d (diff) | |
download | netsurf-84873deeff9b4e0cffa4b461171e491ea569ba70.tar.gz netsurf-84873deeff9b4e0cffa4b461171e491ea569ba70.tar.bz2 |
Add Abort button to download window
svn path=/trunk/netsurf/; revision=7384
Diffstat (limited to 'amiga')
-rw-r--r-- | amiga/download.c | 19 | ||||
-rwxr-xr-x | amiga/download.h | 2 | ||||
-rwxr-xr-x | amiga/gui.c | 5 |
3 files changed, 25 insertions, 1 deletions
diff --git a/amiga/download.c b/amiga/download.c index bd4f05a5e..4e9b2966a 100644 --- a/amiga/download.c +++ b/amiga/download.c @@ -31,6 +31,8 @@ #include "amiga/options.h" #include "amiga/save_complete.h" +#include "content/fetch.h" + #include "desktop/selection.h" #include "utils/messages.h" @@ -103,6 +105,8 @@ struct gui_download_window *gui_download_window_create(const char *url, WA_CloseGadget, FALSE, WA_SizeGadget, TRUE, WA_CustomScreen,scrn, + WINDOW_SharedPort,sport, + WINDOW_UserData,dw, WINDOW_IconifyGadget, TRUE, WINDOW_LockHeight,TRUE, WINDOW_Position, WPOS_CENTERSCREEN, @@ -118,13 +122,20 @@ struct gui_download_window *gui_download_window_create(const char *url, FUELGAUGE_VarArgs,va, FUELGAUGE_Percent,FALSE, FUELGAUGE_Justification,FGJ_CENTER, - StringEnd, + FuelGaugeEnd, CHILD_NominalSize,TRUE, CHILD_WeightedHeight,0, + LAYOUT_AddChild, dw->gadgets[GID_CANCEL] = ButtonObject, + GA_ID,GID_CANCEL, + GA_RelVerify,TRUE, + GA_Text,messages_get("Abort"), + GA_TabCycle,TRUE, + ButtonEnd, EndGroup, EndWindow; dw->win = (struct Window *)RA_OpenWindow(dw->objects[OID_MAIN]); + dw->fetch = fetch; dw->node = AddObject(window_list,AMINS_DLWINDOW); dw->node->objstruct = dw; @@ -170,6 +181,12 @@ void gui_download_window_error(struct gui_download_window *dw, gui_download_window_done(dw); } +void ami_download_window_abort(struct gui_download_window *dw) +{ + fetch_abort(dw->fetch); + gui_download_window_done(dw); +} + void gui_download_window_done(struct gui_download_window *dw) { struct dlnode *dln,*dln2; diff --git a/amiga/download.h b/amiga/download.h index 3628add70..e48069d0e 100755 --- a/amiga/download.h +++ b/amiga/download.h @@ -37,11 +37,13 @@ struct gui_download_window { uint32 downloaded; struct dlnode *dln; struct browser_window *bw; + struct fetch *fetch; }; int drag_save; void *drag_save_data; +void ami_download_window_abort(struct gui_download_window *dw); void ami_drag_save(struct Window *win); void ami_free_download_list(struct List *dllist); diff --git a/amiga/gui.c b/amiga/gui.c index 33afd9120..4d5e98208 100755 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -947,6 +947,11 @@ void ami_handle_msg(void) ami_401login_close((struct gui_login_window *)gwin); win_destroyed = true; } + else if(gwin->node->Type == AMINS_DLWINDOW) + { + ami_download_window_abort((struct gui_download_window *)gwin); + win_destroyed = true; + } break; default: |