40 lines
1.6 KiB
JavaScript
40 lines
1.6 KiB
JavaScript
module.exports = function ( win ) {
|
|
const dialog = require( 'electron' ).dialog;
|
|
const upscaling = require( './upscalingHandler.js' );
|
|
const upscalingHandler = new upscaling();
|
|
const ipcMain = require( 'electron' ).ipcMain;
|
|
|
|
ipcMain.on( 'selectInputFile', ( event, data ) => {
|
|
event.reply( 'selectInputFile', { 'data': dialog.showOpenDialogSync( {
|
|
properties: [ 'openFile' ],
|
|
title: 'Select an input file to upscale',
|
|
filters: [
|
|
{ name: 'Images (.jpg, .png)', extensions: ['jpg', 'png'] },
|
|
{ name: 'Movies (.mkv, .mp4)', extensions: ['mkv', 'mp4'] },
|
|
{ name: 'All Files', extensions: ['*'] }
|
|
]
|
|
} ) } );
|
|
} );
|
|
|
|
ipcMain.on( 'selectOutputFile', ( event, data ) => {
|
|
event.reply( 'selectOutputFile', { 'data': dialog.showSaveDialogSync( {
|
|
properties: [ 'promptToCreate' ],
|
|
title: 'Select an output file',
|
|
filters: [
|
|
{ name: 'Images (.jpg, .png)', extensions: ['jpg', 'png'] },
|
|
{ name: 'Movies (.mkv, .mp4)', extensions: ['mkv', 'mp4'] },
|
|
{ name: 'All Files', extensions: ['*'] }
|
|
]
|
|
} ) } );
|
|
} );
|
|
|
|
ipcMain.on( 'startUpscaling', ( event, data ) => {
|
|
let checks = upscalingHandler.verifyDataIntegrity( JSON.parse( data ), ipcMain );
|
|
if ( checks[ 0 ] ) {
|
|
event.reply( 'startUpscaling', { 'data': checks[ 1 ] } );
|
|
upscalingHandler.upscale( JSON.parse( data ), win );
|
|
} else {
|
|
event.reply( 'startUpscaling', { 'data': checks[ 1 ] } );
|
|
}
|
|
} );
|
|
} |