Show expiring toast on completed downloads to prompt user to open

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2020-06-29 16:08:39 +01:00
parent a11feaca32
commit 891e7ca234

View file

@ -1,7 +1,8 @@
const {clipboard, nativeImage, Menu, MenuItem, shell, dialog} = require('electron');
const {clipboard, nativeImage, Menu, MenuItem, shell, dialog, ipcMain} = require('electron');
const url = require('url');
const fs = require('fs');
const request = require('request');
const path = require('path');
const MAILTO_PREFIX = "mailto:";
@ -205,6 +206,9 @@ function onEditableContextMenu(ev, params) {
ev.preventDefault();
}
ipcMain.on('userDownloadOpen', function(ev, {path}) {
shell.openPath(path);
});
module.exports = (webContents) => {
webContents.on('new-window', onWindowOrNavigate);
@ -222,4 +226,16 @@ module.exports = (webContents) => {
onEditableContextMenu(ev, params);
}
});
webContents.session.on('will-download', (event, item) => {
item.once('done', (event, state) => {
if (state === 'completed') {
const savePath = item.getSavePath();
webContents.send('userDownloadCompleted', {
path: savePath,
name: path.basename(savePath),
});
}
});
});
};