Browse Source

Open Hangouts attachments in Rambox

Fixes #277
pull/291/merge
Ramiro Saenz 9 years ago
parent
commit
6ce4bacb03
  1. 30
      app/ux/WebView.js
  2. 20
      electron/main.js

30
app/ux/WebView.js

@ -178,15 +178,29 @@ Ext.define('Rambox.ux.WebView',{
// Open links in default browser // Open links in default browser
webview.addEventListener('new-window', function(e) { webview.addEventListener('new-window', function(e) {
// hack to fix multiple browser tabs on Skype link click, re #11 switch ( me.type ) {
if ( e.url.match('https:\/\/web.skype.com\/..\/undefined') ) { case 'skype':
e.preventDefault(); // hack to fix multiple browser tabs on Skype link click, re #11
return; if ( e.url.match('https:\/\/web.skype.com\/..\/undefined') ) {
} else if ( e.url.indexOf('imgpsh_fullsize') >= 0 ) { e.preventDefault();
require('electron').ipcRenderer.send('image:download', e.url, e.target.partition); return;
e.preventDefault(); } else if ( e.url.indexOf('imgpsh_fullsize') >= 0 ) {
return; ipc.send('image:download', e.url, e.target.partition);
e.preventDefault();
return;
}
break;
case 'hangouts':
if ( e.url.indexOf('plus.google.com/u/0/photos/albums') >= 0 ) {
ipc.send('image:popup', e.url, e.target.partition);
e.preventDefault();
return;
}
break;
default:
break;
} }
const protocol = require('url').parse(e.url).protocol; const protocol = require('url').parse(e.url).protocol;
if (protocol === 'http:' || protocol === 'https:' || protocol === 'mailto:') { if (protocol === 'http:' || protocol === 'https:' || protocol === 'mailto:') {
e.preventDefault(); e.preventDefault();

20
electron/main.js

@ -324,6 +324,26 @@ ipcMain.on('image:download', function(event, url, partition) {
tmpWindow.webContents.downloadURL(url); tmpWindow.webContents.downloadURL(url);
}); });
// Hangouts
ipcMain.on('image:popup', function(event, url, partition) {
let tmpWindow = new BrowserWindow({
width: mainWindow.getBounds().width
,height: mainWindow.getBounds().height
,parent: mainWindow
,icon: __dirname + '/../resources/Icon.ico'
,backgroundColor: '#FFF'
,autoHideMenuBar: true
,skipTaskbar: true
,webPreferences: {
partition: partition
}
});
tmpWindow.maximize();
tmpWindow.loadURL(url);
});
// Proxy // Proxy
if ( config.get('proxy') ) app.commandLine.appendSwitch('proxy-server', config.get('proxyHost')+':'+config.get('proxyPort')); if ( config.get('proxy') ) app.commandLine.appendSwitch('proxy-server', config.get('proxyHost')+':'+config.get('proxyPort'));

Loading…
Cancel
Save