Skip to content
Snippets Groups Projects
Commit a72e449e authored by Loïc Correnson's avatar Loïc Correnson
Browse files

[dome] ipc for dialogs

parent 5c617e9d
No related branches found
No related tags found
No related merge requests found
......@@ -45,6 +45,7 @@ import {
BrowserWindowConstructorOptions,
IpcMainEvent,
shell,
dialog,
} from 'electron';
import installExtension, { REACT_DEVELOPER_TOOLS } from 'dome/devtools';
import SYS, * as System from 'dome/system';
......@@ -596,3 +597,22 @@ ipcMain.on('dome.ipc.menu.addmenuitem', (_evt, spec) => addMenuItem(spec));
ipcMain.on('dome.ipc.menu.setmenuitem', (_evt, spec) => setMenuItem(spec));
// --------------------------------------------------------------------------
// --- Dialogs Management
// --------------------------------------------------------------------------
ipcMain.handle(
'dome.dialog.showMessageBox',
(_evt, props) => dialog.showMessageBox(props),
);
ipcMain.handle(
'dome.dialog.showOpenDialog',
(_evt, props) => dialog.showOpenDialog(props),
);
ipcMain.handle(
'dome.dialog.showSaveDialog',
(_evt, props) => dialog.showSaveDialog(props),
);
// --------------------------------------------------------------------------
......@@ -27,7 +27,7 @@
*/
import filepath from 'path';
import { dialog } from 'electron';
import { ipcRenderer } from 'electron';
import * as System from 'dome/system';
// --------------------------------------------------------------------------
......@@ -122,9 +122,9 @@ export async function showMessageBox<A>(
if (cancelId === defaultId) cancelId = -1;
return dialog.showMessageBox(
return ipcRenderer.invoke('dome.dialog.showMessageBox',
{
type: kind,
'type': kind,
message,
detail: details,
defaultId,
......@@ -196,7 +196,7 @@ export async function showOpenFile(
props: OpenFileProps,
): Promise<string | undefined> {
const { title, label, path, hidden = false, filters } = props;
return dialog.showOpenDialog(
return ipcRenderer.invoke('dome.dialog.showOpenDialog',
{
title,
buttonLabel: label,
......@@ -219,7 +219,7 @@ export async function showOpenFiles(
): Promise<string[] | undefined> {
const { title, label, path, hidden, filters } = props;
return dialog.showOpenDialog(
return ipcRenderer.invoke('dome.dialog.showOpenDialog',
{
title,
buttonLabel: label,
......@@ -255,7 +255,7 @@ export async function showSaveFile(
props: SaveFileProps,
): Promise<string | undefined> {
const { title, label, path, filters } = props;
return dialog.showSaveDialog(
return ipcRenderer.invoke('dome.dialog.showSaveDialog',
{
title,
buttonLabel: label,
......@@ -288,7 +288,7 @@ export async function showOpenDir(
default: break;
}
return dialog.showOpenDialog(
return ipcRenderer.invoke('dome.dialog.showOpenDialog',
{
title,
buttonLabel: label,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment