RSS Git Download  Clone
Raw Blame History
const electron = require('electron');
const ipc = electron.ipcMain;

const BrowserWindow = electron.BrowserWindow;

const configstore = require('configstore');
const pkg = require('../../package.json');
const conf = new configstore(pkg.name);
const {app, Menu} = require('electron')

let mainWindow;

function createWindow () {

    const template = [
        {
            label: 'File',
            submenu: [
                {
                    label: 'Restart',
                    click () {
                        mainWindow.webContents.send('action', {
                            action: 'restart'
                        });
                    }
                },
                {role: 'minimize'},
                {role: 'close'}
            ]
        },
        {
            label: 'Edit',
            submenu: [
                {role: 'undo'},
                {role: 'redo'},
                {type: 'separator'},
                {role: 'cut'},
                {role: 'copy'},
                {role: 'paste'},
                {role: 'pasteandmatchstyle'},
                {role: 'delete'},
                {role: 'selectall'}
            ]
        },
        {
            label: 'View',
            submenu: [
                {role: 'reload'},
                {role: 'forcereload'},
                {role: 'toggledevtools'},
                {type: 'separator'},
                {role: 'resetzoom'},
                {role: 'zoomin'},
                {role: 'zoomout'},
                {type: 'separator'},
                {role: 'togglefullscreen'}
            ]
        },
        {
            role: 'help',
            submenu: [
                {
                    label: 'Info',
                    click () { require('electron').shell.openExternal('https://github.com/patrikx3/onenote') }
                }
            ]
        }
    ]

    const menu = Menu.buildFromTemplate(template)
    Menu.setApplicationMenu(menu)

    mainWindow = new BrowserWindow({
		icon: `${__dirname}/images/icon.png`,
        toolbar: false,
    });

     mainWindow.loadURL('file://' + __dirname + '/index.html');

	mainWindow.on('closed', function() {
		mainWindow = null;
	});

    const windowBounds = conf.get('windowBounds');
    if (windowBounds !== null && windowBounds !== undefined) {
       mainWindow.setBounds(windowBounds);
    }

}
ipc.on('did-finish-load',function(){
	const hostData = conf.get('toHost');
	console.log('Loading data', hostData);
	if (hostData !== undefined && hostData !== null) {
        mainWindow.webContents.send('onload-user', hostData);
	}
});

ipc.on('save', function(event, data) {
    console.log('Save', data)
    conf.set('toHost', data);
    conf.set('windowBounds', mainWindow.getBounds());
})

app.on('ready', createWindow);

app.on('window-all-closed', function () {

    if (process.platform !== 'darwin') {
		app.quit();
	}
});

app.on('activate', function () {
	if (mainWindow === null) {
		createWindow();
	}
});