diff options
Diffstat (limited to 'electron/src')
| -rw-r--r-- | electron/src/assets/icons/mac/inkstitch.icns | bin | 0 -> 40005 bytes | |||
| -rw-r--r-- | electron/src/assets/icons/png/128x128.png | bin | 0 -> 8221 bytes | |||
| -rw-r--r-- | electron/src/assets/icons/png/16x16.png | bin | 0 -> 938 bytes | |||
| -rw-r--r-- | electron/src/assets/icons/png/24x24.png | bin | 0 -> 1517 bytes | |||
| -rw-r--r-- | electron/src/assets/icons/png/256x256.png | bin | 0 -> 19440 bytes | |||
| -rw-r--r-- | electron/src/assets/icons/png/32x32.png | bin | 0 -> 2050 bytes | |||
| -rw-r--r-- | electron/src/assets/icons/png/48x48.png | bin | 0 -> 3075 bytes | |||
| -rw-r--r-- | electron/src/assets/icons/png/512x512.png | bin | 0 -> 38738 bytes | |||
| -rw-r--r-- | electron/src/assets/icons/png/64x64.png | bin | 0 -> 4079 bytes | |||
| -rw-r--r-- | electron/src/assets/icons/png/96x96.png | bin | 0 -> 6104 bytes | |||
| -rw-r--r-- | electron/src/assets/icons/win/inkstitch.ico | bin | 0 -> 39824 bytes | |||
| -rw-r--r-- | electron/src/main.js | 62 |
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 Binary files differnew file mode 100644 index 00000000..b5a05fbc --- /dev/null +++ b/electron/src/assets/icons/mac/inkstitch.icns diff --git a/electron/src/assets/icons/png/128x128.png b/electron/src/assets/icons/png/128x128.png Binary files differnew file mode 100644 index 00000000..69df4512 --- /dev/null +++ b/electron/src/assets/icons/png/128x128.png diff --git a/electron/src/assets/icons/png/16x16.png b/electron/src/assets/icons/png/16x16.png Binary files differnew file mode 100644 index 00000000..bd57c5fe --- /dev/null +++ b/electron/src/assets/icons/png/16x16.png diff --git a/electron/src/assets/icons/png/24x24.png b/electron/src/assets/icons/png/24x24.png Binary files differnew file mode 100644 index 00000000..6fbb1832 --- /dev/null +++ b/electron/src/assets/icons/png/24x24.png diff --git a/electron/src/assets/icons/png/256x256.png b/electron/src/assets/icons/png/256x256.png Binary files differnew file mode 100644 index 00000000..f3e5f0e7 --- /dev/null +++ b/electron/src/assets/icons/png/256x256.png diff --git a/electron/src/assets/icons/png/32x32.png b/electron/src/assets/icons/png/32x32.png Binary files differnew file mode 100644 index 00000000..dae25580 --- /dev/null +++ b/electron/src/assets/icons/png/32x32.png diff --git a/electron/src/assets/icons/png/48x48.png b/electron/src/assets/icons/png/48x48.png Binary files differnew file mode 100644 index 00000000..342980fd --- /dev/null +++ b/electron/src/assets/icons/png/48x48.png diff --git a/electron/src/assets/icons/png/512x512.png b/electron/src/assets/icons/png/512x512.png Binary files differnew file mode 100644 index 00000000..8f20e784 --- /dev/null +++ b/electron/src/assets/icons/png/512x512.png diff --git a/electron/src/assets/icons/png/64x64.png b/electron/src/assets/icons/png/64x64.png Binary files differnew file mode 100644 index 00000000..8d477b48 --- /dev/null +++ b/electron/src/assets/icons/png/64x64.png diff --git a/electron/src/assets/icons/png/96x96.png b/electron/src/assets/icons/png/96x96.png Binary files differnew file mode 100644 index 00000000..77c7c9e9 --- /dev/null +++ b/electron/src/assets/icons/png/96x96.png diff --git a/electron/src/assets/icons/win/inkstitch.ico b/electron/src/assets/icons/win/inkstitch.ico Binary files differnew file mode 100644 index 00000000..77ea1440 --- /dev/null +++ b/electron/src/assets/icons/win/inkstitch.ico 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); + }) + }) +}) |
