|
@@ -0,0 +1,41 @@
|
|
|
+const { app, BrowserWindow, ipcMain, nativeImage, NativeImage } = require('electron')
|
|
|
+const fs = require('fs');
|
|
|
+const http = require('http');
|
|
|
+
|
|
|
+function createWindow () {
|
|
|
+ const win = new BrowserWindow({
|
|
|
+ width: 800,
|
|
|
+ height: 600,
|
|
|
+ webPreferences: {
|
|
|
+ nodeIntegration: true
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ win.loadFile('index.html')
|
|
|
+}
|
|
|
+const iconName = 'iconForDragAndDrop.png';
|
|
|
+const icon = fs.createWriteStream(`${process.cwd()}/${iconName}`);
|
|
|
+http.get('http://img.icons8.com/ios/452/drag-and-drop.png', (response) => {
|
|
|
+ response.pipe(icon);
|
|
|
+});
|
|
|
+
|
|
|
+app.whenReady().then(createWindow)
|
|
|
+
|
|
|
+ipcMain.on('ondragstart', (event, filePath) => {
|
|
|
+ event.sender.startDrag({
|
|
|
+ file: filePath,
|
|
|
+ icon: `${process.cwd()}/${iconName}`
|
|
|
+ })
|
|
|
+})
|
|
|
+
|
|
|
+app.on('window-all-closed', () => {
|
|
|
+ if (process.platform !== 'darwin') {
|
|
|
+ app.quit()
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+app.on('activate', () => {
|
|
|
+ if (BrowserWindow.getAllWindows().length === 0) {
|
|
|
+ createWindow()
|
|
|
+ }
|
|
|
+})
|