Show expiring toast on completed downloads

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2020-06-29 11:41:18 +01:00
parent 69f72e330a
commit 87527d7b16
1 changed files with 22 additions and 0 deletions

View File

@ -45,6 +45,8 @@ import {Action} from "matrix-react-sdk/src/dispatcher/actions";
import {ActionPayload} from "matrix-react-sdk/src/dispatcher/payloads"; import {ActionPayload} from "matrix-react-sdk/src/dispatcher/payloads";
import {showToast as showUpdateToast} from "matrix-react-sdk/src/toasts/UpdateToast"; import {showToast as showUpdateToast} from "matrix-react-sdk/src/toasts/UpdateToast";
import {CheckUpdatesPayload} from "matrix-react-sdk/src/dispatcher/payloads/CheckUpdatesPayload"; import {CheckUpdatesPayload} from "matrix-react-sdk/src/dispatcher/payloads/CheckUpdatesPayload";
import ToastStore from "matrix-react-sdk/src/stores/ToastStore";
import GenericExpiringToast from "matrix-react-sdk/src/components/views/toasts/GenericExpiringToast";
const ipcRenderer = window.ipcRenderer; const ipcRenderer = window.ipcRenderer;
const isMac = navigator.platform.toUpperCase().includes('MAC'); const isMac = navigator.platform.toUpperCase().includes('MAC');
@ -247,6 +249,26 @@ export default class ElectronPlatform extends VectorBasePlatform {
dis.fire(Action.ViewUserSettings); dis.fire(Action.ViewUserSettings);
}); });
ipcRenderer.on('userDownloadCompleted', (ev, {path, name}) => {
const onAccept = () => {
ipcRenderer.send('userDownloadOpen', {path});
};
ToastStore.sharedInstance().addOrReplaceToast({
key: `DOWNLOAD_TOAST_${path}`,
title: _t("Download Completed"),
props: {
description: name,
acceptLabel: _t("Open"),
onAccept,
dismissLabel: _t("Dismiss"),
numSeconds: 10,
},
component: GenericExpiringToast,
priority: 99,
});
});
// register OS-specific shortcuts // register OS-specific shortcuts
if (isMac) { if (isMac) {
registerShortcut(Categories.NAVIGATION, { registerShortcut(Categories.NAVIGATION, {