commit
						b8859c1642
					
				| @ -6,6 +6,7 @@ const url = require('url'); | ||||
| const fs = require('fs'); | ||||
| const os = require('os'); | ||||
| const userAgent = 'MoodleMobile'; | ||||
| const isMac = os.platform().indexOf('darwin') != -1; | ||||
| 
 | ||||
| // 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.
 | ||||
| @ -68,6 +69,14 @@ function createWindow() { | ||||
| 
 | ||||
|     // Append some text to the user agent.
 | ||||
|     mainWindow.webContents.setUserAgent(mainWindow.webContents.getUserAgent() + ' ' + userAgent); | ||||
| 
 | ||||
|     // Add shortcut to open dev tools: Cmd + Option + I in MacOS, Ctrl + Shift + I in Windows/Linux.
 | ||||
|     mainWindow.webContents.on('before-input-event', function(e, input) { | ||||
|         if (input.type == 'keyDown' && !input.isAutoRepeat && input.code == 'KeyI' && | ||||
|                 ((isMac && input.alt && input.meta) || (!isMac && input.shift && input.control))) { | ||||
|             mainWindow.webContents.toggleDevTools(); | ||||
|         } | ||||
|     }, true) | ||||
| } | ||||
| 
 | ||||
| // Make sure that only a single instance of the app is running.
 | ||||
| @ -75,7 +84,7 @@ function createWindow() { | ||||
| // See https://github.com/electron/electron/issues/15958
 | ||||
| var gotTheLock = app.requestSingleInstanceLock(); | ||||
| 
 | ||||
| if (!gotTheLock && os.platform().indexOf('darwin') == -1) { | ||||
| if (!gotTheLock && !isMac) { | ||||
|     // It's not the main instance of the app, kill it.
 | ||||
|     app.exit(); | ||||
|     return; | ||||
| @ -221,22 +230,18 @@ function setAppMenu() { | ||||
|             submenu: [ | ||||
|                 { | ||||
|                     label: 'Cut', | ||||
|                     accelerator: 'CmdOrCtrl+X', | ||||
|                     role: 'cut' | ||||
|                 }, | ||||
|                 { | ||||
|                     label: 'Copy', | ||||
|                     accelerator: 'CmdOrCtrl+C', | ||||
|                     role: 'copy' | ||||
|                 }, | ||||
|                 { | ||||
|                     label: 'Paste', | ||||
|                     accelerator: 'CmdOrCtrl+V', | ||||
|                     role: 'paste' | ||||
|                 }, | ||||
|                 { | ||||
|                     label: 'Select All', | ||||
|                     accelerator: 'CmdOrCtrl+A', | ||||
|                     role: 'selectall' | ||||
|                 } | ||||
|             ] | ||||
|  | ||||
							
								
								
									
										46
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										46
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -1387,7 +1387,6 @@ | ||||
|       "version": "1.0.10", | ||||
|       "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", | ||||
|       "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "sprintf-js": "~1.0.2" | ||||
|       } | ||||
| @ -4081,10 +4080,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "esprima": { | ||||
|       "version": "4.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", | ||||
|       "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", | ||||
|       "dev": true | ||||
|       "version": "4.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", | ||||
|       "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" | ||||
|     }, | ||||
|     "esrecurse": { | ||||
|       "version": "4.2.1", | ||||
| @ -5252,9 +5250,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "fstream": { | ||||
|       "version": "1.0.11", | ||||
|       "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", | ||||
|       "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", | ||||
|       "version": "1.0.12", | ||||
|       "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", | ||||
|       "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "graceful-fs": "^4.1.2", | ||||
| @ -6671,10 +6669,9 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "js-yaml": { | ||||
|       "version": "3.12.0", | ||||
|       "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", | ||||
|       "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", | ||||
|       "dev": true, | ||||
|       "version": "3.13.1", | ||||
|       "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", | ||||
|       "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", | ||||
|       "requires": { | ||||
|         "argparse": "^1.0.7", | ||||
|         "esprima": "^4.0.0" | ||||
| @ -9960,8 +9957,7 @@ | ||||
|     "sprintf-js": { | ||||
|       "version": "1.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", | ||||
|       "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", | ||||
|       "dev": true | ||||
|       "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" | ||||
|     }, | ||||
|     "sshpk": { | ||||
|       "version": "1.14.2", | ||||
| @ -10178,14 +10174,28 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "tar": { | ||||
|       "version": "2.2.1", | ||||
|       "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", | ||||
|       "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", | ||||
|       "version": "2.2.2", | ||||
|       "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", | ||||
|       "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "block-stream": "*", | ||||
|         "fstream": "^1.0.2", | ||||
|         "fstream": "^1.0.12", | ||||
|         "inherits": "2" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "fstream": { | ||||
|           "version": "1.0.12", | ||||
|           "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", | ||||
|           "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "graceful-fs": "^4.1.2", | ||||
|             "inherits": "~2.0.0", | ||||
|             "mkdirp": ">=0.5 0", | ||||
|             "rimraf": "2" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "temp-file": { | ||||
|  | ||||
| @ -227,6 +227,9 @@ | ||||
|     }, | ||||
|     "snap": { | ||||
|       "confinement": "classic" | ||||
|     }, | ||||
|     "nsis": { | ||||
|       "deleteAppDataOnUninstall": true | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -27,6 +27,10 @@ if [ ! -z $GIT_ORG_PRIVATE ] && [ ! -z $GIT_TOKEN ] ; then | ||||
|     mv *i386.AppImage linux-ia32.AppImage | ||||
|     mv Moodle*.AppImage linux-x64.AppImage | ||||
|     ls | ||||
|      | ||||
|     tar -czvf MoodleDesktop32.tar.gz linux-ia32.AppImage | ||||
|     tar -czvf MoodleDesktop64.tar.gz linux-x64.AppImage | ||||
|     rm *.AppImage | ||||
| 
 | ||||
|     git add . | ||||
|     git commit -m "Linux desktop versions from Travis build $TRAVIS_BUILD_NUMBER" | ||||
|  | ||||
| @ -224,31 +224,38 @@ export class InAppBrowserObjectMock { | ||||
|                     } | ||||
|                 }; | ||||
| 
 | ||||
|             switch (name) { | ||||
|                 case 'loadstart': | ||||
|                     this.window.webContents.on('did-start-loading', received); | ||||
|             if (!this.window.isDestroyed() && !this.window.webContents.isDestroyed()) { | ||||
|                 switch (name) { | ||||
|                     case 'loadstart': | ||||
|                         this.window.webContents.on('did-start-loading', received); | ||||
| 
 | ||||
|                     if (this.isSSO) { | ||||
|                         // Linux doesn't support custom URL Schemes. Check if launch page is loaded.
 | ||||
|                         this.window.webContents.on('did-finish-load', finishLoad); | ||||
|                     } | ||||
|                     break; | ||||
|                         if (this.isSSO) { | ||||
|                             // Linux doesn't support custom URL Schemes. Check if launch page is loaded.
 | ||||
|                             this.window.webContents.on('did-finish-load', finishLoad); | ||||
|                         } | ||||
|                         break; | ||||
| 
 | ||||
|                 case 'loadstop': | ||||
|                     this.window.webContents.on('did-finish-load', received); | ||||
|                     break; | ||||
|                     case 'loadstop': | ||||
|                         this.window.webContents.on('did-finish-load', received); | ||||
|                         break; | ||||
| 
 | ||||
|                 case 'loaderror': | ||||
|                     this.window.webContents.on('did-fail-load', received); | ||||
|                     break; | ||||
|                 case 'exit': | ||||
|                     this.window.on('close', received); | ||||
|                     break; | ||||
|                 default: | ||||
|                     case 'loaderror': | ||||
|                         this.window.webContents.on('did-fail-load', received); | ||||
|                         break; | ||||
|                     case 'exit': | ||||
|                         this.window.on('close', received); | ||||
|                         break; | ||||
|                     default: | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             return (): void => { | ||||
|                 // Unsubscribing. We need to remove the listeners.
 | ||||
|                 if (this.window.isDestroyed() || this.window.webContents.isDestroyed()) { | ||||
|                     // Page has been destroyed already, no need to remove listeners.
 | ||||
|                     return; | ||||
|                 } | ||||
| 
 | ||||
|                 switch (name) { | ||||
|                     case 'loadstart': | ||||
|                         this.window.webContents.removeListener('did-start-loading', received); | ||||
|  | ||||
| @ -211,7 +211,8 @@ export const IONIC_NATIVE_PROVIDERS = [ | ||||
|     ] | ||||
| }) | ||||
| export class CoreEmulatorModule { | ||||
|     constructor(appProvider: CoreAppProvider, initDelegate: CoreInitDelegate, helper: CoreEmulatorHelperProvider) { | ||||
|     constructor(appProvider: CoreAppProvider, initDelegate: CoreInitDelegate, helper: CoreEmulatorHelperProvider, | ||||
|             platform: Platform) { | ||||
|         const win = <any> window; // Convert the "window" to "any" type to be able to use non-standard properties.
 | ||||
| 
 | ||||
|         // Emulate Custom URL Scheme plugin in desktop apps.
 | ||||
| @ -224,7 +225,7 @@ export class CoreEmulatorModule { | ||||
| 
 | ||||
|             // Listen for 'resume' events.
 | ||||
|             require('electron').ipcRenderer.on('coreAppFocused', () => { | ||||
|                 document.dispatchEvent(new Event('resume')); | ||||
|                 platform.resume.emit(); | ||||
|             }); | ||||
|         } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user