X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=surf.c;h=24b694a5e9a6ff53e3984ca4df3b6ee85ccd026b;hb=f2059fdb306f3d98e492a712bf73159fcbf32921;hp=64f2a753814238f0e9247d95c2cd167bd178aaa9;hpb=d536cb6fe1eca5e59adfe6cf20c30d43c7f72858;p=surf.git diff --git a/surf.c b/surf.c index 64f2a75..24b694a 100644 --- a/surf.c +++ b/surf.c @@ -40,7 +40,7 @@ static gboolean decidewindow(WebKitWebView *view, WebKitWebFrame *f, static void destroyclient(Client *c); static void destroywin(GtkWidget* w, gpointer d); static void die(char *str); -static gboolean download(WebKitWebView *view, GObject *o, gpointer d); +static gboolean download(WebKitWebView *view, WebKitDownload *o, gpointer d); static gchar *geturi(Client *c); static void hidesearch(Client *c); static void hideurl(Client *c); @@ -107,9 +107,20 @@ void die(char *str) { } gboolean -download(WebKitWebView *view, GObject *o, gpointer d) { +download(WebKitWebView *view, WebKitDownload *o, gpointer d) { /* TODO */ - return FALSE; + const gchar *home; + gchar *uri, *filename; + + home = g_get_home_dir(); + filename = g_build_filename(home, "Desktop", + webkit_download_get_suggested_filename(o), NULL); + uri = g_strconcat("file://", filename, NULL); + webkit_download_set_destination_uri(o, uri); + g_free(filename); + g_free(uri); + webkit_download_start(o); + return TRUE; } gchar *