/
main.js
86 lines (71 loc) · 1.87 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/**
* Imports
*/
const electron = require("electron")
const url = require("url")
const path = require("path")
const {autoUpdater} = require("electron-updater");
const {
app,
BrowserWindow,
Menu,
ipcMain
} = electron;
// Window vars
let mainWindow, browseImagesWindow;
// Events
/**
* UPDATES
*/
app.on("ready", function() {
mainWindow = createNewWindow({});
loadURL(mainWindow, "index.html");
mainWindow.on("closed", function(){
app.quit();
});
autoUpdater.checkForUpdates();
});
// when the update has been downloaded and is ready to be installed, notify the BrowserWindow
autoUpdater.on('update-downloaded', (info) => {
win.webContents.send('updateReady')
});
// when receiving a quitAndInstall signal, quit and install the new version ;)
ipcMain.on("quitAndInstall", (event, arg) => {
autoUpdater.quitAndInstall();
})
ipcMain.on("event:folderChosen", function(e, dir){
let dirStr = String(dir);
createBrowseImagesWindow(dirStr);
});
ipcMain.on("err:noPicsFound", function(e){
browseImagesWindow.close();
});
function loadURL(baseWindow, fileName){
baseWindow.loadURL(url.format({
pathname: path.join(__dirname, fileName),
protocol: "file:",
slashes: true
}));
}
/**
* Window Creation
*/
function createNewWindow(properties) {
let bw = new BrowserWindow(properties);
bw.on("close", function(){
bw = null;
});
return bw;
}
function createBrowseImagesWindow(folder) {
// create window
browseImagesWindow = createNewWindow({
title: folder,
height: 720,
width: 1080
});
loadURL(browseImagesWindow, "browse.html");
browseImagesWindow.webContents.on("did-finish-load", function(){
browseImagesWindow.webContents.send("data:folderChosen", folder);
});
}