RenaiApp/src/main/modules/dialog/dialog.ts

27 lines
772 B
TypeScript

import { dialog, OpenDialogOptions } from 'electron';
import { injectable } from 'inversify';
import { inject } from '../../core/inject';
import { II18nTranslator } from '../i18n/i-i18n-translator';
import { IDialog } from './i-dialog';
@injectable()
export class Dialog implements IDialog {
private readonly translator: II18nTranslator;
public constructor(@inject('i18n-translator') translator: II18nTranslator) {
this.translator = translator;
}
public selectFolder(options: OpenDialogOptions): ReturnType<typeof dialog.showOpenDialog> {
return dialog.showOpenDialog({
...{
title: this.translator.t('select a folder'),
},
...options,
...{
properties: ['openDirectory', 'showHiddenFiles'],
},
});
}
}