diff --git a/app/package.json b/app/package.json index 74613555..2b5cc84b 100644 --- a/app/package.json +++ b/app/package.json @@ -33,6 +33,7 @@ "firebase": "^3.0.5", "firebase-token-generator": "^2.0.0", "tmp": "0.0.28", + "electron-spell-check-provider": "^1.0.0", "mime": "^1.3.4", "electron-is-dev": "^0.1.1", "electron-config": "0.2.1" diff --git a/app/ux/WebView.js b/app/ux/WebView.js index eb8d0655..8cdfa066 100644 --- a/app/ux/WebView.js +++ b/app/ux/WebView.js @@ -39,12 +39,12 @@ Ext.define('Rambox.ux.WebView',{ Ext.apply(me, { items: me.webViewConstructor() ,title: me.record.get('name') - ,icon: me.record.get('type') === 'custom' ? (me.record.get('logo') === '' ? 'resources/icons/custom.png' : me.record.get('logo')) : 'resources/icons/'+me.record.get('logo') - ,src: me.record.get('url') - ,type: me.record.get('type') - ,align: me.record.get('align') - ,notifications: me.record.get('notifications') - ,muted: me.record.get('muted') + ,icon: me.record.get('type') === 'custom' ? (me.record.get('logo') === '' ? 'resources/icons/custom.png' : me.record.get('logo')) : 'resources/icons/'+me.record.get('logo') + ,src: me.record.get('url') + ,type: me.record.get('type') + ,align: me.record.get('align') + ,notifications: me.record.get('notifications') + ,muted: me.record.get('muted') ,tabConfig: { listeners: { afterrender : function( btn ) { @@ -315,6 +315,12 @@ Ext.define('Rambox.ux.WebView',{ webview.addEventListener('did-get-redirect-request', function( e ) { if ( e.isMainFrame ) webview.loadURL(e.newURL); }); + + if(ipc.sendSync('getConfig').spellcheck) { + var webFrame = require('electron').webFrame; + var SpellCheckProvider = require('electron-spell-check-provider'); + webFrame.setSpellCheckProvider('en-US', true, new SpellCheckProvider('en-US')); + } }, setUnreadCount: function(newUnreadCount) { diff --git a/app/view/preferences/Preferences.js b/app/view/preferences/Preferences.js index f24d77dc..42cd0a8e 100644 --- a/app/view/preferences/Preferences.js +++ b/app/view/preferences/Preferences.js @@ -107,6 +107,12 @@ Ext.define('Rambox.view.preferences.Preferences',{ ,boxLabel: 'Disable Hardware Acceleration (needs to relaunch)' ,value: config.disable_gpu } + ,{ + xtype: 'checkbox' + ,name: 'spellcheck' + ,boxLabel: 'Enable spellcheck (en_US)' + ,value: config.spellcheck + } ,{ xtype: 'fieldset' ,title: 'Master Password - Ask for password on startup' diff --git a/electron/main.js b/electron/main.js index 8bbab35f..8d1cfeae 100644 --- a/electron/main.js +++ b/electron/main.js @@ -29,6 +29,7 @@ const config = new Config({ ,systemtray_indicator: true ,master_password: false ,disable_gpu: process.platform === 'linux' + ,spellcheck: false ,proxy: false ,proxyHost: '' ,proxyPort: '' diff --git a/package.json b/package.json index ebe16aa1..2762c4a7 100644 --- a/package.json +++ b/package.json @@ -96,6 +96,7 @@ "dependencies": { "auto-launch": "4.0.0", "firebase": "^3.0.5", + "electron-spell-check-provider": "^1.0.0", "firebase-token-generator": "^2.0.0", "tmp": "0.0.28", "mime": "^1.3.4",