summaryrefslogtreecommitdiff
path: root/electron/src/main.js
diff options
context:
space:
mode:
authorLex Neva <github.com@lexneva.name>2019-04-15 19:56:30 -0400
committerLex Neva <github.com@lexneva.name>2019-04-15 19:56:30 -0400
commit884e193384ee34bbcb2a7cc7aa39b40e1c3334a9 (patch)
tree93781f948a5e2a544a84ad81819a0793515a636f /electron/src/main.js
parent9b2a47136b34a4b9cfcc42282a39fdd909e9f8af (diff)
rename main.js and don't open dev tools
Diffstat (limited to 'electron/src/main.js')
-rw-r--r--electron/src/main.js50
1 files changed, 50 insertions, 0 deletions
diff --git a/electron/src/main.js b/electron/src/main.js
new file mode 100644
index 00000000..f78680e0
--- /dev/null
+++ b/electron/src/main.js
@@ -0,0 +1,50 @@
+import { app, BrowserWindow, ipcMain, dialog } from 'electron';
+var fs = require('fs');
+
+// Keep a global reference of the window object, if you don't, the window will
+// be closed automatically when the JavaScript object is garbage collected.
+let mainWindow;
+
+const createWindow = () => {
+ // Create the browser window.
+ mainWindow = new BrowserWindow();
+
+ mainWindow.maximize();
+
+ // and load the index.html of the app.
+ if (process.argv[1] == ".") {
+ // run in development mode with `electron . <url>`
+ var url = process.argv[2];
+ } else {
+ var url = process.argv[1];
+ }
+ mainWindow.loadURL(url);
+
+ //mainWindow.webContents.openDevTools();
+
+ // Emitted when the window is closed.
+ mainWindow.on('closed', () => {
+ // Dereference the window object, usually you would store windows
+ // in an array if your app supports multi windows, this is the time
+ // when you should delete the corresponding element.
+ mainWindow = null;
+ });
+};
+
+// This method will be called when Electron has finished
+// initialization and is ready to create browser windows.
+// Some APIs can only be used after this event occurs.
+app.on('ready', createWindow);
+
+// Quit when all windows are closed.
+app.on('window-all-closed', () => {
+ app.quit();
+});
+
+ipcMain.on('print', function (event, pageSize) {
+ mainWindow.webContents.printToPDF({"pageSize": pageSize}, function(error, data) {
+ dialog.showSaveDialog(mainWindow, {"defaultPath": "inkstitch.pdf"}, function(filename, bookmark) {
+ fs.writeFileSync(filename, data, 'utf-8');
+ })
+ })
+}) \ No newline at end of file