summaryrefslogtreecommitdiff
path: root/electron/src
diff options
context:
space:
mode:
Diffstat (limited to 'electron/src')
-rw-r--r--electron/src/assets/icons/mac/inkstitch.icnsbin0 -> 40005 bytes
-rw-r--r--electron/src/assets/icons/png/128x128.pngbin0 -> 8221 bytes
-rw-r--r--electron/src/assets/icons/png/16x16.pngbin0 -> 938 bytes
-rw-r--r--electron/src/assets/icons/png/24x24.pngbin0 -> 1517 bytes
-rw-r--r--electron/src/assets/icons/png/256x256.pngbin0 -> 19440 bytes
-rw-r--r--electron/src/assets/icons/png/32x32.pngbin0 -> 2050 bytes
-rw-r--r--electron/src/assets/icons/png/48x48.pngbin0 -> 3075 bytes
-rw-r--r--electron/src/assets/icons/png/512x512.pngbin0 -> 38738 bytes
-rw-r--r--electron/src/assets/icons/png/64x64.pngbin0 -> 4079 bytes
-rw-r--r--electron/src/assets/icons/png/96x96.pngbin0 -> 6104 bytes
-rw-r--r--electron/src/assets/icons/win/inkstitch.icobin0 -> 39824 bytes
-rw-r--r--electron/src/main.js62
12 files changed, 62 insertions, 0 deletions
diff --git a/electron/src/assets/icons/mac/inkstitch.icns b/electron/src/assets/icons/mac/inkstitch.icns
new file mode 100644
index 00000000..b5a05fbc
--- /dev/null
+++ b/electron/src/assets/icons/mac/inkstitch.icns
Binary files differ
diff --git a/electron/src/assets/icons/png/128x128.png b/electron/src/assets/icons/png/128x128.png
new file mode 100644
index 00000000..69df4512
--- /dev/null
+++ b/electron/src/assets/icons/png/128x128.png
Binary files differ
diff --git a/electron/src/assets/icons/png/16x16.png b/electron/src/assets/icons/png/16x16.png
new file mode 100644
index 00000000..bd57c5fe
--- /dev/null
+++ b/electron/src/assets/icons/png/16x16.png
Binary files differ
diff --git a/electron/src/assets/icons/png/24x24.png b/electron/src/assets/icons/png/24x24.png
new file mode 100644
index 00000000..6fbb1832
--- /dev/null
+++ b/electron/src/assets/icons/png/24x24.png
Binary files differ
diff --git a/electron/src/assets/icons/png/256x256.png b/electron/src/assets/icons/png/256x256.png
new file mode 100644
index 00000000..f3e5f0e7
--- /dev/null
+++ b/electron/src/assets/icons/png/256x256.png
Binary files differ
diff --git a/electron/src/assets/icons/png/32x32.png b/electron/src/assets/icons/png/32x32.png
new file mode 100644
index 00000000..dae25580
--- /dev/null
+++ b/electron/src/assets/icons/png/32x32.png
Binary files differ
diff --git a/electron/src/assets/icons/png/48x48.png b/electron/src/assets/icons/png/48x48.png
new file mode 100644
index 00000000..342980fd
--- /dev/null
+++ b/electron/src/assets/icons/png/48x48.png
Binary files differ
diff --git a/electron/src/assets/icons/png/512x512.png b/electron/src/assets/icons/png/512x512.png
new file mode 100644
index 00000000..8f20e784
--- /dev/null
+++ b/electron/src/assets/icons/png/512x512.png
Binary files differ
diff --git a/electron/src/assets/icons/png/64x64.png b/electron/src/assets/icons/png/64x64.png
new file mode 100644
index 00000000..8d477b48
--- /dev/null
+++ b/electron/src/assets/icons/png/64x64.png
Binary files differ
diff --git a/electron/src/assets/icons/png/96x96.png b/electron/src/assets/icons/png/96x96.png
new file mode 100644
index 00000000..77c7c9e9
--- /dev/null
+++ b/electron/src/assets/icons/png/96x96.png
Binary files differ
diff --git a/electron/src/assets/icons/win/inkstitch.ico b/electron/src/assets/icons/win/inkstitch.ico
new file mode 100644
index 00000000..77ea1440
--- /dev/null
+++ b/electron/src/assets/icons/win/inkstitch.ico
Binary files differ
diff --git a/electron/src/main.js b/electron/src/main.js
new file mode 100644
index 00000000..db52ac94
--- /dev/null
+++ b/electron/src/main.js
@@ -0,0 +1,62 @@
+import { app, BrowserWindow, ipcMain, dialog, shell } from 'electron';
+var fs = require('fs');
+var path = require('path')
+var tmp = require('tmp')
+
+// 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({icon: path.join(__dirname, 'assets/icons/png/512x512.png')});
+
+ 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('save-pdf', function (event, pageSize) {
+ mainWindow.webContents.printToPDF({"pageSize": pageSize}, function(error, data) {
+ dialog.showSaveDialog(mainWindow, {"defaultPath": "inkstitch.pdf"}, function(filename, bookmark) {
+ if (typeof filename !== 'undefined')
+ fs.writeFileSync(filename, data, 'utf-8');
+ })
+ })
+})
+
+ipcMain.on('open-pdf', function (event, pageSize) {
+ mainWindow.webContents.printToPDF({"pageSize": pageSize}, function(error, data) {
+ tmp.file({keep: true, discardDescriptor: true}, function(err, path, fd, cleanupCallback) {
+ fs.writeFileSync(path, data, 'utf-8');
+ shell.openItem(path);
+ })
+ })
+})