mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-28 14:59:41 +03:00
Proper download notification code, should also open the file if the notification is
double-clicked, although it doesn't seem to work. svn path=/trunk/netsurf/; revision=10037
This commit is contained in:
parent
30e97149ef
commit
b2376c1656
@ -393,6 +393,7 @@ Abort:Abgebrochen
|
||||
#
|
||||
amiDownload:%ld von %ld Bytes heruntergeladen
|
||||
amiDownloadU:%ld Bytes heruntergeladen
|
||||
amiDownloadComplete:NetSurf: Download completed
|
||||
|
||||
# GTK download window tokens
|
||||
#
|
||||
|
@ -393,6 +393,7 @@ Abort:Abort
|
||||
#
|
||||
amiDownload:%ld of %ld bytes downloaded
|
||||
amiDownloadU:%ld bytes downloaded
|
||||
amiDownloadComplete:NetSurf: Download completed
|
||||
|
||||
# GTK download window tokens
|
||||
#
|
||||
|
@ -393,6 +393,7 @@ Abort:Abort
|
||||
#
|
||||
amiDownload:%ld of %ld bytes downloaded
|
||||
amiDownloadU:%ld bytes downloaded
|
||||
amiDownloadComplete:NetSurf: Download completed
|
||||
|
||||
# GTK download window tokens
|
||||
#
|
||||
|
@ -395,6 +395,7 @@ Abort:Annulla
|
||||
#
|
||||
amiDownload:%ld di %ld byte scaricati
|
||||
amiDownloadU:%ld byte scaricati
|
||||
amiDownloadComplete:NetSurf: Download completed
|
||||
|
||||
# GTK download window tokens
|
||||
#
|
||||
|
@ -393,6 +393,7 @@ Abort:Abort
|
||||
#
|
||||
amiDownload:%ld of %ld bytes downloaded
|
||||
amiDownloadU:%ld bytes downloaded
|
||||
amiDownloadComplete:NetSurf: Download completed
|
||||
|
||||
# GTK download window tokens
|
||||
#
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2008,2009 Chris Young <chris@unsatisfactorysoftware.co.uk>
|
||||
* Copyright 2008-2010 Chris Young <chris@unsatisfactorysoftware.co.uk>
|
||||
*
|
||||
* This file is part of NetSurf, http://www.netsurf-browser.org/
|
||||
*
|
||||
@ -23,6 +23,7 @@
|
||||
#include <proto/intuition.h>
|
||||
#include <proto/utility.h>
|
||||
#include <proto/icon.h>
|
||||
#include <proto/application.h>
|
||||
|
||||
#include <graphics/blitattr.h>
|
||||
#include <workbench/icon.h>
|
||||
@ -32,7 +33,6 @@
|
||||
#include "amiga/options.h"
|
||||
#include "amiga/bitmap.h"
|
||||
#include "amiga/iff_dr2d.h"
|
||||
#include "amiga/arexx.h" /* temporarily required for notifications */
|
||||
|
||||
#include "content/fetch.h"
|
||||
|
||||
@ -58,7 +58,6 @@ struct gui_download_window *gui_download_window_create(const char *url,
|
||||
const char *mime_type, struct fetch *fetch,
|
||||
unsigned int total_size, struct gui_window *gui)
|
||||
{
|
||||
char fname[1024];
|
||||
struct gui_download_window *dw;
|
||||
APTR va[3];
|
||||
|
||||
@ -68,7 +67,7 @@ struct gui_download_window *gui_download_window_create(const char *url,
|
||||
|
||||
if((!IsListEmpty(&gui->dllist)) && (dw->dln = (struct dlnode *)FindName(&gui->dllist,url)))
|
||||
{
|
||||
strcpy(fname,dw->dln->filename);
|
||||
strcpy(dw->fname, dw->dln->filename);
|
||||
free(dw->dln->node.ln_Name);
|
||||
dw->dln->node.ln_Name = NULL;
|
||||
}
|
||||
@ -80,8 +79,8 @@ struct gui_download_window *gui_download_window_create(const char *url,
|
||||
ASLFR_InitialFile,FilePart(url),
|
||||
TAG_DONE))
|
||||
{
|
||||
strlcpy(&fname,savereq->fr_Drawer,1024);
|
||||
AddPart((STRPTR)&fname,savereq->fr_File,1024);
|
||||
strlcpy(&dw->fname,savereq->fr_Drawer,1024);
|
||||
AddPart((STRPTR)&dw->fname,savereq->fr_File,1024);
|
||||
}
|
||||
else return NULL;
|
||||
}
|
||||
@ -95,14 +94,12 @@ struct gui_download_window *gui_download_window_create(const char *url,
|
||||
va[1] = (APTR)dw->size;
|
||||
va[2] = 0;
|
||||
|
||||
if(!(dw->fh = FOpen((STRPTR)&fname,MODE_NEWFILE,0)))
|
||||
if(!(dw->fh = FOpen((STRPTR)&dw->fname,MODE_NEWFILE,0)))
|
||||
{
|
||||
FreeVec(dw);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
SetComment(fname,url);
|
||||
|
||||
dw->objects[OID_MAIN] = WindowObject,
|
||||
WA_ScreenTitle,nsscreentitle,
|
||||
WA_Title, dw->url,
|
||||
@ -114,7 +111,7 @@ struct gui_download_window *gui_download_window_create(const char *url,
|
||||
WA_CustomScreen,scrn,
|
||||
WINDOW_SharedPort,sport,
|
||||
WINDOW_UserData,dw,
|
||||
WINDOW_IconifyGadget, TRUE,
|
||||
WINDOW_IconifyGadget, FALSE,
|
||||
WINDOW_LockHeight,TRUE,
|
||||
WINDOW_Position, WPOS_CENTERSCREEN,
|
||||
WINDOW_ParentGroup, dw->gadgets[GID_MAIN] = VGroupObject,
|
||||
@ -203,14 +200,16 @@ void gui_download_window_done(struct gui_download_window *dw)
|
||||
|
||||
if(!dw) return;
|
||||
|
||||
SetComment(dw->fname, dw->url);
|
||||
|
||||
if(option_download_notify)
|
||||
{
|
||||
if(sendcmd = ASPrintf("RINGHIO APP=NetSurf SCREEN=FRONT TITLE=NetSurf \"%s downloaded\"",dw->url))
|
||||
{
|
||||
IDoMethod(arexx_obj, AM_EXECUTE, sendcmd, "RINGHIO",
|
||||
NULL, NULL, NULL, NULL);
|
||||
FreeVec(sendcmd);
|
||||
}
|
||||
Notify(ami_appid, APPNOTIFY_Title, messages_get("amiDownloadComplete"),
|
||||
APPNOTIFY_PubScreenName, "FRONT",
|
||||
APPNOTIFY_BackMsg, dw->fname,
|
||||
APPNOTIFY_CloseOnDC, TRUE,
|
||||
APPNOTIFY_Text, dw->fname,
|
||||
TAG_DONE);
|
||||
}
|
||||
|
||||
bw->download = false;
|
||||
|
@ -39,6 +39,7 @@ struct gui_download_window {
|
||||
struct browser_window *bw;
|
||||
struct fetch *fetch;
|
||||
char *url;
|
||||
char fname[1024];
|
||||
};
|
||||
|
||||
int drag_save;
|
||||
|
19
amiga/gui.c
19
amiga/gui.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2008-9 Chris Young <chris@unsatisfactorysoftware.co.uk>
|
||||
* Copyright 2008-2010 Chris Young <chris@unsatisfactorysoftware.co.uk>
|
||||
*
|
||||
* This file is part of NetSurf, http://www.netsurf-browser.org/
|
||||
*
|
||||
@ -81,6 +81,8 @@
|
||||
#include <libraries/application.h>
|
||||
#include <proto/application.h>
|
||||
#include <desktop/searchweb.h>
|
||||
#include <proto/wb.h>
|
||||
#include <proto/utility.h>
|
||||
|
||||
#include "amiga/stringview/stringview.h"
|
||||
#include "amiga/stringview/urlhistory.h"
|
||||
@ -130,7 +132,6 @@ ULONG throbber_width,throbber_height,throbber_frames,throbber_update_interval;
|
||||
BOOL rmbtrapped;
|
||||
BOOL locked_screen = FALSE;
|
||||
BOOL screen_closed = FALSE;
|
||||
uint32 ami_appid;
|
||||
struct MsgPort *applibport = NULL;
|
||||
ULONG applibsig = 0;
|
||||
|
||||
@ -732,6 +733,7 @@ void gui_init2(int argc, char** argv)
|
||||
REGAPP_HasPrefsWindow, TRUE,
|
||||
REGAPP_CanCreateNewDocs, TRUE,
|
||||
REGAPP_UniqueApplication, TRUE,
|
||||
REGAPP_Description, "Small as a mouse, fast as a cheetah and available for free. NetSurf is a multi-platform web browser.",
|
||||
TAG_DONE);
|
||||
}
|
||||
else
|
||||
@ -744,6 +746,7 @@ void gui_init2(int argc, char** argv)
|
||||
REGAPP_HasPrefsWindow, TRUE,
|
||||
REGAPP_CanCreateNewDocs, TRUE,
|
||||
REGAPP_UniqueApplication, TRUE,
|
||||
REGAPP_Description, "Small as a mouse, fast as a cheetah and available for free. NetSurf is a multi-platform web browser.",
|
||||
TAG_DONE);
|
||||
}
|
||||
|
||||
@ -1699,6 +1702,18 @@ void ami_handle_applib(void)
|
||||
case APPLIBMT_ForceQuit:
|
||||
ami_quit_netsurf();
|
||||
break;
|
||||
|
||||
case APPLIBMT_CustomMsg:
|
||||
{
|
||||
struct ApplicationCustomMsg *applibcustmsg = applibmsg;
|
||||
STRPTR tempmsg;
|
||||
if(tempmsg = ASPrintf("\"%s\"",applibcustmsg->customMsg))
|
||||
{
|
||||
OpenWorkbenchObjectA(tempmsg, NULL);
|
||||
FreeVec(tempmsg);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
ReplyMsg((struct Message *)applibmsg);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2008-9 Chris Young <chris@unsatisfactorysoftware.co.uk>
|
||||
* Copyright 2008-2010 Chris Young <chris@unsatisfactorysoftware.co.uk>
|
||||
*
|
||||
* This file is part of NetSurf, http://www.netsurf-browser.org/
|
||||
*
|
||||
@ -142,4 +142,5 @@ struct MsgPort *sport;
|
||||
bool win_destroyed;
|
||||
struct browser_window *curbw;
|
||||
struct gui_globals browserglob;
|
||||
uint32 ami_appid;
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user