summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--!NetSurf/Resources/de/Messages1
-rw-r--r--!NetSurf/Resources/en/Messages1
-rw-r--r--!NetSurf/Resources/fr/Messages1
-rwxr-xr-x!NetSurf/Resources/it/Messages1
-rw-r--r--!NetSurf/Resources/nl/Messages1
-rw-r--r--amiga/download.c19
-rwxr-xr-xamiga/download.h2
-rwxr-xr-xamiga/gui.c5
8 files changed, 30 insertions, 1 deletions
diff --git a/!NetSurf/Resources/de/Messages b/!NetSurf/Resources/de/Messages
index a145f882f..b866013a2 100644
--- a/!NetSurf/Resources/de/Messages
+++ b/!NetSurf/Resources/de/Messages
@@ -373,6 +373,7 @@ Download:%s von %s • %s/s • noch %s
DownloadU:%s von unbekannt • %s/s • bisher %s
Downloaded:%s komplett • etwa %s/s • gesamt %s
Unwritten:Schreiben der Datei ist fehlgeschlagen.
+Abort:Abort
# Amiga download window tokens
#
diff --git a/!NetSurf/Resources/en/Messages b/!NetSurf/Resources/en/Messages
index b0e7e0003..ea30b864b 100644
--- a/!NetSurf/Resources/en/Messages
+++ b/!NetSurf/Resources/en/Messages
@@ -373,6 +373,7 @@ Download:%s of %s • %s/s • %s remaining
DownloadU:%s of unknown • %s/s • %s total
Downloaded:%s complete • average %s/s • %s total
Unwritten:Writing data to file failed.
+Abort:Abort
# Amiga download window tokens
#
diff --git a/!NetSurf/Resources/fr/Messages b/!NetSurf/Resources/fr/Messages
index 2533829fa..19bda4f88 100644
--- a/!NetSurf/Resources/fr/Messages
+++ b/!NetSurf/Resources/fr/Messages
@@ -373,6 +373,7 @@ Download:%s de %s • %s/s • %s restants
DownloadU:%s sur inconnu • %s/s • %s total
Downloaded:%s effectués • moyenne %s/s • %s total
Unwritten:L'écriture de données dans le fichier a échoué.
+Abort:Abort
# Amiga download window tokens
#
diff --git a/!NetSurf/Resources/it/Messages b/!NetSurf/Resources/it/Messages
index 0541088de..c1b7582d4 100755
--- a/!NetSurf/Resources/it/Messages
+++ b/!NetSurf/Resources/it/Messages
@@ -374,6 +374,7 @@ Download:%s di %s ? %s/s ? %s al termine
DownloadU:%s sconosciuto ? %s/s ? %s totale
Downloaded:%s completato ? media %s/s ? %s totale
Unwritten:Scrittura dei dati sul file fallita.
+Abort:Abort
# Amiga download window tokens
#
diff --git a/!NetSurf/Resources/nl/Messages b/!NetSurf/Resources/nl/Messages
index 0fcbabcc6..a7272c2ee 100644
--- a/!NetSurf/Resources/nl/Messages
+++ b/!NetSurf/Resources/nl/Messages
@@ -373,6 +373,7 @@ Download:%s van %s • %s/s • nog %s
DownloadU:%s van onbekend • %s/s • %s totaal
Downloaded:%s compleet • gemiddeld %s/s • %s totaal
Unwritten:Data naar bestand schrijven ging fout.
+Abort:Abort
# Amiga download window tokens
#
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: