2019-01-04 03:27:12 +01:00
|
|
|
import { BrowserWindow, dialog } from 'electron';
|
2019-04-18 18:03:17 +01:00
|
|
|
let electronSocket;
|
2017-10-15 17:03:07 +02:00
|
|
|
|
2018-09-26 01:31:53 +02:00
|
|
|
export = (socket: SocketIO.Socket) => {
|
2019-04-18 18:03:17 +01:00
|
|
|
electronSocket = socket;
|
2019-11-28 22:34:49 +01:00
|
|
|
socket.on('showMessageBox', async (browserWindow, options, guid) => {
|
2019-01-04 03:27:12 +01:00
|
|
|
if ('id' in browserWindow) {
|
|
|
|
|
const window = BrowserWindow.fromId(browserWindow.id);
|
2017-10-15 17:03:07 +02:00
|
|
|
|
2019-11-28 22:34:49 +01:00
|
|
|
const messageBoxReturnValue = await dialog.showMessageBox(window, options);
|
|
|
|
|
electronSocket.emit('showMessageBoxComplete' + guid, [messageBoxReturnValue.response, messageBoxReturnValue.checkboxChecked]);
|
2017-10-15 17:03:07 +02:00
|
|
|
} else {
|
2019-01-04 03:27:12 +01:00
|
|
|
const id = guid || options;
|
2019-11-28 22:34:49 +01:00
|
|
|
const messageBoxReturnValue = await dialog.showMessageBox(browserWindow);
|
|
|
|
|
|
|
|
|
|
electronSocket.emit('showMessageBoxComplete' + id, [messageBoxReturnValue.response, messageBoxReturnValue.checkboxChecked]);
|
2017-10-15 17:03:07 +02:00
|
|
|
}
|
|
|
|
|
});
|
2017-10-17 05:12:35 +02:00
|
|
|
|
2019-11-28 22:34:49 +01:00
|
|
|
socket.on('showOpenDialog', async (browserWindow, options, guid) => {
|
2019-01-04 03:27:12 +01:00
|
|
|
const window = BrowserWindow.fromId(browserWindow.id);
|
2019-11-28 22:34:49 +01:00
|
|
|
const openDialogReturnValue = await dialog.showOpenDialog(window, options);
|
|
|
|
|
|
|
|
|
|
electronSocket.emit('showOpenDialogComplete' + guid, openDialogReturnValue.filePaths || []);
|
2017-10-17 22:28:43 +02:00
|
|
|
});
|
|
|
|
|
|
2019-11-28 22:34:49 +01:00
|
|
|
socket.on('showSaveDialog', async (browserWindow, options, guid) => {
|
2019-01-04 03:27:12 +01:00
|
|
|
const window = BrowserWindow.fromId(browserWindow.id);
|
2019-11-28 22:34:49 +01:00
|
|
|
const saveDialogReturnValue = await dialog.showSaveDialog(window, options);
|
|
|
|
|
|
|
|
|
|
electronSocket.emit('showSaveDialogComplete' + guid, saveDialogReturnValue.filePath || '');
|
2017-10-17 22:28:43 +02:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
socket.on('showErrorBox', (title, content) => {
|
|
|
|
|
dialog.showErrorBox(title, content);
|
|
|
|
|
});
|
|
|
|
|
|
2019-11-28 22:34:49 +01:00
|
|
|
socket.on('showCertificateTrustDialog', async (browserWindow, options, guid) => {
|
2019-01-04 03:27:12 +01:00
|
|
|
const window = BrowserWindow.fromId(browserWindow.id);
|
2019-11-28 22:34:49 +01:00
|
|
|
await dialog.showCertificateTrustDialog(window, options);
|
|
|
|
|
|
|
|
|
|
electronSocket.emit('showCertificateTrustDialogComplete' + guid);
|
2017-10-17 05:12:35 +02:00
|
|
|
});
|
2019-01-04 03:27:12 +01:00
|
|
|
};
|