/
main.js
58 lines (48 loc) · 1.54 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
var fs = require('fs');
var app = require('app');
var ipc = require('ipc');
var Menu = require('menu');
var BrowserWindow = require('browser-window');
var appMenu = require('./menu_config/app_menu');
require('crash-reporter').start();
var debug = process.env.NODE_ENV === 'development',
mainWindow;
app.on('window-all-closed', function() {
if (process.platform != 'darwin') {
app.quit();
}
});
app.on('ready', function() {
//instantiate menu from template
menu = Menu.buildFromTemplate(appMenu);
Menu.setApplicationMenu(menu);
mainWindow = new BrowserWindow({ width: 1245,
height: 800,
'min-width': 864});
if (debug) {
mainWindow.loadUrl('file://' + __dirname + '/app/index.dev.html');
mainWindow.openDevTools();
} else {
mainWindow.loadUrl('file://' + __dirname + '/app/index.prod.html');
}
mainWindow.on('closed', function() {
mainWindow = null;
});
});
// listen for event to save editor text in filesystem
ipc.on('save-editor-text', function(event, arg){
fs.writeFile(`${app.getPath('userData')}/${arg.language}.txt`, arg.text, function(err){
if(err) {
console.log("Error writing into file");
}
});
});
// listen for event to load editor text in filesystem
ipc.on('load-editor-text', function(event, arg){
fs.readFile(`${app.getPath('userData')}/${arg.language}.txt`, 'utf8', function(err, data){
if(err) {
console.log("Error writing into file");
}
mainWindow.webContents.send('loaded-editor-text', data)
});
});