From 5a6e55155a74e3d6d07b826263f682c22999e99c Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Wed, 19 Sep 2018 20:07:00 -0400 Subject: sneak in a new window mechanism #706 --- build-auto.json | 26 +++ build_ios.sh | 4 + config.xml | 4 +- electron_js/main.js | 221 ++++++++++++--------- package.json | 11 +- resources/ios/icon/icon-1024.png | Bin 32775 -> 32775 bytes resources/ios/icon/icon-40.png | Bin 1526 -> 1526 bytes resources/ios/icon/icon-40@2x.png | Bin 3486 -> 3486 bytes resources/ios/icon/icon-40@3x.png | Bin 5265 -> 5265 bytes resources/ios/icon/icon-50.png | Bin 2181 -> 2181 bytes resources/ios/icon/icon-50@2x.png | Bin 4386 -> 4386 bytes resources/ios/icon/icon-60.png | Bin 2647 -> 2647 bytes resources/ios/icon/icon-60@2x.png | Bin 5265 -> 5265 bytes resources/ios/icon/icon-60@3x.png | Bin 7814 -> 7814 bytes resources/ios/icon/icon-72.png | Bin 3161 -> 3161 bytes resources/ios/icon/icon-72@2x.png | Bin 6195 -> 6195 bytes resources/ios/icon/icon-76.png | Bin 3352 -> 3352 bytes resources/ios/icon/icon-76@2x.png | Bin 6643 -> 6643 bytes resources/ios/icon/icon-83.5@2x.png | Bin 7168 -> 7168 bytes resources/ios/icon/icon-small.png | Bin 1205 -> 1205 bytes resources/ios/icon/icon-small@2x.png | Bin 2520 -> 2520 bytes resources/ios/icon/icon-small@3x.png | Bin 3803 -> 3803 bytes resources/ios/icon/icon.png | Bin 2451 -> 2451 bytes resources/ios/icon/icon@2x.png | Bin 4988 -> 4988 bytes resources/ios/splash/Default-568h@2x~iphone.png | Bin 26982 -> 26982 bytes resources/ios/splash/Default-667h.png | Bin 32395 -> 32395 bytes resources/ios/splash/Default-736h.png | Bin 62886 -> 62886 bytes resources/ios/splash/Default-Landscape-736h.png | Bin 62629 -> 62629 bytes resources/ios/splash/Default-Landscape@2x~ipad.png | Bin 59305 -> 59305 bytes .../ios/splash/Default-Landscape@~ipadpro.png | Bin 87979 -> 87979 bytes resources/ios/splash/Default-Landscape~ipad.png | Bin 25129 -> 25129 bytes resources/ios/splash/Default-Portrait@2x~ipad.png | Bin 59374 -> 59374 bytes resources/ios/splash/Default-Portrait@~ipadpro.png | Bin 88671 -> 88671 bytes resources/ios/splash/Default-Portrait~ipad.png | Bin 25496 -> 25496 bytes resources/ios/splash/Default@2x~iphone.png | Bin 22993 -> 22993 bytes .../ios/splash/Default@2x~universal~anyany.png | Bin 97293 -> 97293 bytes resources/ios/splash/Default~iphone.png | Bin 10366 -> 10366 bytes 37 files changed, 165 insertions(+), 101 deletions(-) create mode 100644 build-auto.json create mode 100755 build_ios.sh diff --git a/build-auto.json b/build-auto.json new file mode 100644 index 00000000..39f73603 --- /dev/null +++ b/build-auto.json @@ -0,0 +1,26 @@ +{ + "ios": { + "debug": { + "codeSignIdentity": "iPhone Developer", + "developmentTeam": "EN3PJ8YF59", + "packageType": "development", + "automaticProvisioning": true, + "buildFlag": [ + "EMBEDDED_CONTENT_CONTAINS_SWIFT = YES", + "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=NO", + "LD_RUNPATH_SEARCH_PATHS = \"@executable_path/Frameworks\"" + ] + }, + "release": { + "codeSignIdentity": "iPhone Developer", + "developmentTeam": "EN3PJ8YF59", + "packageType": "app-store", + "automaticProvisioning": true, + "buildFlag": [ + "EMBEDDED_CONTENT_CONTAINS_SWIFT = YES", + "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=NO", + "LD_RUNPATH_SEARCH_PATHS = \"@executable_path/Frameworks\"" + ] + } + } +} diff --git a/build_ios.sh b/build_ios.sh new file mode 100755 index 00000000..b3ecc31c --- /dev/null +++ b/build_ios.sh @@ -0,0 +1,4 @@ +echo "*** Using old build system due to XCode 10 issues ** " +echo "see https://forum.ionicframework.com/t/how-to-build-ionic-cordova-with-xcode-10/142044" + +ionic cordova build ios -- --buildFlag="-UseModernBuildSystem=0" diff --git a/config.xml b/config.xml index ec8ff0e3..b8a1ce51 100644 --- a/config.xml +++ b/config.xml @@ -1,5 +1,5 @@ - + zmNinja High performance ZoneMinder client @@ -150,6 +150,6 @@ - + diff --git a/electron_js/main.js b/electron_js/main.js index 9e2a9028..10124bbf 100644 --- a/electron_js/main.js +++ b/electron_js/main.js @@ -42,6 +42,35 @@ if (shouldQuit) { return; } +function newWindow() { + createAlternateWindow(); +} + + + +function createAlternateWindow() { + + + var newWin = new BrowserWindow({ + x: 10, + y: 10, + width: 800, + height: 800, + icon: path.join(__dirname, '/../icon.png'), + webPreferences:{nodeIntegration:false}}); + + const startUrl = process.env.ELECTRON_START_URL || url.format({ + pathname: path.join(__dirname, '/../www/index.html'), + protocol: 'file:', + slashes: true + }); + + newWin.loadURL(startUrl); + +} + + + function createWindow() { @@ -58,9 +87,15 @@ const mx = globalShortcut.register('CommandOrControl+Alt+F', () => { win.webContents.openDevTools(); }) + const newwinx = globalShortcut.register('CommandOrControl+Alt+N', () => { + console.log('CommandOrControl+Alt+N is pressed'); + createAlternateWindow(); + }) + // Create the browser window. let mainWindowState = windowStateKeeper({ + //file: 'main.json', defaultWidth: 1000, defaultHeight: 800, webPreferences:{nodeIntegration:false} @@ -118,104 +153,104 @@ const mx = globalShortcut.register('CommandOrControl+Alt+F', () => { // Menu.setApplicationMenu(menu) - const template = [ - { - label: 'Edit', - submenu: [ - {role: 'undo'}, - {role: 'redo'}, - {type: 'separator'}, - {role: 'cut'}, - {role: 'copy'}, - {role: 'paste'}, - {role: 'pasteandmatchstyle'}, - {role: 'delete'}, - {role: 'selectall'} - ] - }, - { - label: 'View', - submenu: [ - {role: 'reload'}, - {role: 'forcereload'}, - {role: 'toggledevtools'}, - {type: 'separator'}, - {role: 'resetzoom'}, - {role: 'zoomin'}, - {role: 'zoomout'}, - {type: 'separator'}, - {role: 'togglefullscreen'} - ] - }, - { - role: 'window', - submenu: [ - {role: 'minimize'}, - {role: 'quit'} - ] - }, - { - role: 'help', - submenu: [ - { - label: 'Learn More', - click () { require('electron').shell.openExternal('https://electronjs.org') } - } - ] - } - ] - - if (process.platform === 'darwin') { - template.unshift({ - label: app.getName(), - submenu: [ - {role: 'about'}, - {type: 'separator'}, - {role: 'services', submenu: []}, - {type: 'separator'}, - {role: 'hide'}, - {role: 'hideothers'}, - {role: 'unhide'}, - {type: 'separator'}, - {role: 'quit'} - ] - }) - - // Edit menu - template[1].submenu.push( + const template = [ + { + label: 'Edit', + submenu: [ + {role: 'undo'}, + {role: 'redo'}, + {type: 'separator'}, + {role: 'cut'}, + {role: 'copy'}, + {role: 'paste'}, + {role: 'pasteandmatchstyle'}, + {role: 'delete'}, + {role: 'selectall'} + ] + }, + { + label: 'View', + submenu: [ + {role: 'reload'}, + {role: 'forcereload'}, + {role: 'toggledevtools'}, + {type: 'separator'}, + {role: 'resetzoom'}, + {role: 'zoomin'}, + {role: 'zoomout'}, {type: 'separator'}, + {role: 'togglefullscreen'} + ] + }, + { + role: 'window', + submenu: [ + {role: 'minimize'}, + {role: 'quit'} + ] + }, + { + role: 'help', + submenu: [ { - label: 'Speech', - submenu: [ - {role: 'startspeaking'}, - {role: 'stopspeaking'} - ] + label: 'Learn More', + click () { require('electron').shell.openExternal('https://electronjs.org') } } - ) - - // Window menu - template[3].submenu = [ - {role: 'close'}, - {role: 'minimize'}, - {role: 'zoom'}, - {type: 'separator'}, - {role: 'front'} ] } - - const menu = Menu.buildFromTemplate(template); - Menu.setApplicationMenu(menu); - - // Open the DevTools. - //win.webContents.openDevTools(); - // Emitted when the window is closed. - win.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. - win.removeAllListeners(); - win = null; - }); +] + +if (process.platform === 'darwin') { + template.unshift({ + label: app.getName(), + submenu: [ + {role: 'about'}, + {type: 'separator'}, + {role: 'services', submenu: []}, + {type: 'separator'}, + {role: 'hide'}, + {role: 'hideothers'}, + {role: 'unhide'}, + {type: 'separator'}, + {role: 'quit'} + ] + }) + + // Edit menu + template[1].submenu.push( + {type: 'separator'}, + { + label: 'Speech', + submenu: [ + {role: 'startspeaking'}, + {role: 'stopspeaking'} + ] + } + ) + + // Window menu + template[3].submenu = [ + {role: 'close'}, + {role: 'minimize'}, + {role: 'zoom'}, + {type: 'separator'}, + {role: 'front'} + ] +} + +const menu = Menu.buildFromTemplate(template); +Menu.setApplicationMenu(menu); + +// Open the DevTools. +//win.webContents.openDevTools(); +// Emitted when the window is closed. +win.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. + win.removeAllListeners(); + win = null; +}); } // This method will be called when Electron has finished diff --git a/package.json b/package.json index 59643e59..41c0621e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "zmninjapro", "description": "Home security mobile app for ZoneMinder", - "version":"1.3.020", + "version": "1.3.020", "displayName": "zmNinja", "author": "Pliable Pixels", "license": "custom see LICENSE.md", @@ -43,7 +43,6 @@ "cordova-plugin-media-pp-fork": {}, "cordova-plugin-email": {}, "cordova-plugin-statusbar": {}, - "cordova-plugin-certificates": {}, "cordova-library-helper-pp-fork": {}, "cordova-plugin-multi-window": {}, "cordova-plugin-ignore-lint-translation": {}, @@ -53,14 +52,15 @@ }, "phonegap-plugin-push": { "FCM_VERSION": "11.6.2" - } + }, + "cordova-plugin-certificates": {} } }, "dependencies": { "clivas": "^0.2.0", "com.telerik.plugins.nativepagetransitions": "^0.6.5", "cordova-android": "^6.3.0", - "cordova-ios": "^4.5.5", + "cordova-ios": "latest", "cordova-library-helper-pp-fork": "^1.0.1", "cordova-plugin-add-swift-support": "^1.7.2", "cordova-plugin-android-fingerprint-auth": "^1.4.0", @@ -143,7 +143,6 @@ "node_modules/clivas/**/*", "node_modules/keypress/**/*" ], - "mac": { "category": "productivity", "target": "dmg", @@ -175,4 +174,4 @@ ] } } -} +} \ No newline at end of file diff --git a/resources/ios/icon/icon-1024.png b/resources/ios/icon/icon-1024.png index 226815e3..5c87b211 100644 Binary files a/resources/ios/icon/icon-1024.png and b/resources/ios/icon/icon-1024.png differ diff --git a/resources/ios/icon/icon-40.png b/resources/ios/icon/icon-40.png index 608822ea..96f65fcd 100644 Binary files a/resources/ios/icon/icon-40.png and b/resources/ios/icon/icon-40.png differ diff --git a/resources/ios/icon/icon-40@2x.png b/resources/ios/icon/icon-40@2x.png index 68064df0..0a17c18a 100644 Binary files a/resources/ios/icon/icon-40@2x.png and b/resources/ios/icon/icon-40@2x.png differ diff --git a/resources/ios/icon/icon-40@3x.png b/resources/ios/icon/icon-40@3x.png index f4a5f11b..bf182ff5 100644 Binary files a/resources/ios/icon/icon-40@3x.png and b/resources/ios/icon/icon-40@3x.png differ diff --git a/resources/ios/icon/icon-50.png b/resources/ios/icon/icon-50.png index 0e1443fb..4339bbaa 100644 Binary files a/resources/ios/icon/icon-50.png and b/resources/ios/icon/icon-50.png differ diff --git a/resources/ios/icon/icon-50@2x.png b/resources/ios/icon/icon-50@2x.png index 3b60ba19..d8403da5 100644 Binary files a/resources/ios/icon/icon-50@2x.png and b/resources/ios/icon/icon-50@2x.png differ diff --git a/resources/ios/icon/icon-60.png b/resources/ios/icon/icon-60.png index 98e7a296..362d5f8a 100644 Binary files a/resources/ios/icon/icon-60.png and b/resources/ios/icon/icon-60.png differ diff --git a/resources/ios/icon/icon-60@2x.png b/resources/ios/icon/icon-60@2x.png index f4a5f11b..b3816683 100644 Binary files a/resources/ios/icon/icon-60@2x.png and b/resources/ios/icon/icon-60@2x.png differ diff --git a/resources/ios/icon/icon-60@3x.png b/resources/ios/icon/icon-60@3x.png index 8bf8a4d6..7a93e00b 100644 Binary files a/resources/ios/icon/icon-60@3x.png and b/resources/ios/icon/icon-60@3x.png differ diff --git a/resources/ios/icon/icon-72.png b/resources/ios/icon/icon-72.png index ad224fe6..ddf822fa 100644 Binary files a/resources/ios/icon/icon-72.png and b/resources/ios/icon/icon-72.png differ diff --git a/resources/ios/icon/icon-72@2x.png b/resources/ios/icon/icon-72@2x.png index c15c01e4..f3e2a473 100644 Binary files a/resources/ios/icon/icon-72@2x.png and b/resources/ios/icon/icon-72@2x.png differ diff --git a/resources/ios/icon/icon-76.png b/resources/ios/icon/icon-76.png index 1d234673..10344b6e 100644 Binary files a/resources/ios/icon/icon-76.png and b/resources/ios/icon/icon-76.png differ diff --git a/resources/ios/icon/icon-76@2x.png b/resources/ios/icon/icon-76@2x.png index fb76e62e..945a766a 100644 Binary files a/resources/ios/icon/icon-76@2x.png and b/resources/ios/icon/icon-76@2x.png differ diff --git a/resources/ios/icon/icon-83.5@2x.png b/resources/ios/icon/icon-83.5@2x.png index c1fc5d6f..8562bcc9 100644 Binary files a/resources/ios/icon/icon-83.5@2x.png and b/resources/ios/icon/icon-83.5@2x.png differ diff --git a/resources/ios/icon/icon-small.png b/resources/ios/icon/icon-small.png index c4ca3d0f..b452e267 100644 Binary files a/resources/ios/icon/icon-small.png and b/resources/ios/icon/icon-small.png differ diff --git a/resources/ios/icon/icon-small@2x.png b/resources/ios/icon/icon-small@2x.png index 75f3e4c4..a8155f16 100644 Binary files a/resources/ios/icon/icon-small@2x.png and b/resources/ios/icon/icon-small@2x.png differ diff --git a/resources/ios/icon/icon-small@3x.png b/resources/ios/icon/icon-small@3x.png index 3d76abef..d6016351 100644 Binary files a/resources/ios/icon/icon-small@3x.png and b/resources/ios/icon/icon-small@3x.png differ diff --git a/resources/ios/icon/icon.png b/resources/ios/icon/icon.png index c9ac6cdb..3e8a8e6d 100644 Binary files a/resources/ios/icon/icon.png and b/resources/ios/icon/icon.png differ diff --git a/resources/ios/icon/icon@2x.png b/resources/ios/icon/icon@2x.png index 0b474eb5..39a380ee 100644 Binary files a/resources/ios/icon/icon@2x.png and b/resources/ios/icon/icon@2x.png differ diff --git a/resources/ios/splash/Default-568h@2x~iphone.png b/resources/ios/splash/Default-568h@2x~iphone.png index 27ba518f..a0c71b5f 100644 Binary files a/resources/ios/splash/Default-568h@2x~iphone.png and b/resources/ios/splash/Default-568h@2x~iphone.png differ diff --git a/resources/ios/splash/Default-667h.png b/resources/ios/splash/Default-667h.png index e3ca9e5a..f9ca582d 100644 Binary files a/resources/ios/splash/Default-667h.png and b/resources/ios/splash/Default-667h.png differ diff --git a/resources/ios/splash/Default-736h.png b/resources/ios/splash/Default-736h.png index 016fee3e..b7cfda65 100644 Binary files a/resources/ios/splash/Default-736h.png and b/resources/ios/splash/Default-736h.png differ diff --git a/resources/ios/splash/Default-Landscape-736h.png b/resources/ios/splash/Default-Landscape-736h.png index ac52d756..727fae1f 100644 Binary files a/resources/ios/splash/Default-Landscape-736h.png and b/resources/ios/splash/Default-Landscape-736h.png differ diff --git a/resources/ios/splash/Default-Landscape@2x~ipad.png b/resources/ios/splash/Default-Landscape@2x~ipad.png index 24bee974..27941eb7 100644 Binary files a/resources/ios/splash/Default-Landscape@2x~ipad.png and b/resources/ios/splash/Default-Landscape@2x~ipad.png differ diff --git a/resources/ios/splash/Default-Landscape@~ipadpro.png b/resources/ios/splash/Default-Landscape@~ipadpro.png index afdb5fd0..8d79a027 100644 Binary files a/resources/ios/splash/Default-Landscape@~ipadpro.png and b/resources/ios/splash/Default-Landscape@~ipadpro.png differ diff --git a/resources/ios/splash/Default-Landscape~ipad.png b/resources/ios/splash/Default-Landscape~ipad.png index 2c4e7be2..c8b69387 100644 Binary files a/resources/ios/splash/Default-Landscape~ipad.png and b/resources/ios/splash/Default-Landscape~ipad.png differ diff --git a/resources/ios/splash/Default-Portrait@2x~ipad.png b/resources/ios/splash/Default-Portrait@2x~ipad.png index aee6ffb1..9ed9c1cc 100644 Binary files a/resources/ios/splash/Default-Portrait@2x~ipad.png and b/resources/ios/splash/Default-Portrait@2x~ipad.png differ diff --git a/resources/ios/splash/Default-Portrait@~ipadpro.png b/resources/ios/splash/Default-Portrait@~ipadpro.png index c6534f17..61ecae87 100644 Binary files a/resources/ios/splash/Default-Portrait@~ipadpro.png and b/resources/ios/splash/Default-Portrait@~ipadpro.png differ diff --git a/resources/ios/splash/Default-Portrait~ipad.png b/resources/ios/splash/Default-Portrait~ipad.png index 621a62fa..66b338a4 100644 Binary files a/resources/ios/splash/Default-Portrait~ipad.png and b/resources/ios/splash/Default-Portrait~ipad.png differ diff --git a/resources/ios/splash/Default@2x~iphone.png b/resources/ios/splash/Default@2x~iphone.png index 7c97b61f..95f01435 100644 Binary files a/resources/ios/splash/Default@2x~iphone.png and b/resources/ios/splash/Default@2x~iphone.png differ diff --git a/resources/ios/splash/Default@2x~universal~anyany.png b/resources/ios/splash/Default@2x~universal~anyany.png index 9631b76b..c327a79e 100644 Binary files a/resources/ios/splash/Default@2x~universal~anyany.png and b/resources/ios/splash/Default@2x~universal~anyany.png differ diff --git a/resources/ios/splash/Default~iphone.png b/resources/ios/splash/Default~iphone.png index 8588f75a..25337e28 100644 Binary files a/resources/ios/splash/Default~iphone.png and b/resources/ios/splash/Default~iphone.png differ -- cgit v1.2.3