51 lines
1.6 KiB
C#
51 lines
1.6 KiB
C#
using System;
|
|
using System.IO;
|
|
using CefSharp;
|
|
|
|
namespace Mk0.Software.ImageSorter
|
|
{
|
|
class DownloadHandler :IDownloadHandler
|
|
{
|
|
public event EventHandler<DownloadItem> OnBeforeDownloadFired;
|
|
|
|
public event EventHandler<DownloadItem> OnDownloadUpdatedFired;
|
|
|
|
public bool CanDownload(IWebBrowser chromiumWebBrowser, IBrowser browser, string url, string requestMethod)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public void OnBeforeDownload(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
|
|
{
|
|
|
|
}
|
|
|
|
public void OnDownloadUpdated(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
|
|
{
|
|
OnDownloadUpdatedFired?.Invoke(this, downloadItem);
|
|
}
|
|
|
|
bool IDownloadHandler.OnBeforeDownload(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
|
|
{
|
|
OnBeforeDownloadFired?.Invoke(this, downloadItem);
|
|
|
|
if (!callback.IsDisposed)
|
|
{
|
|
using (callback)
|
|
{
|
|
string DownloadsDirectoryPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "inpaint-tmp");
|
|
|
|
callback.Continue(
|
|
Path.Combine(
|
|
DownloadsDirectoryPath,
|
|
downloadItem.SuggestedFileName
|
|
),
|
|
showDialog: false
|
|
);
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
}
|
|
}
|