Skip to content

Commit

Permalink
Implement opening of web view dev tools from menu
Browse files Browse the repository at this point in the history
  • Loading branch information
jiahaog committed Jan 19, 2016
1 parent 19bfce4 commit c7e0242
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 17 deletions.
36 changes: 23 additions & 13 deletions app/assets/js/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,35 +4,35 @@

var ipc = require('electron').ipcRenderer;

ipc.on('params', function(event, message) {
var webView;

ipc.on('params', function (event, message) {
var appArgs = JSON.parse(message);
document.title = appArgs.name;

var webView = document.createElement('webview');
webView = document.createElement('webview');

webView.setAttribute('id', 'webView');
webView.setAttribute('src', appArgs.targetUrl);
webView.setAttribute('autosize', 'on');
webView.setAttribute('minwidth', '100');
webView.setAttribute('minheight', '100');

webView.addEventListener('dom-ready', function() {
if (appArgs.userAgent) {
webView.setUserAgent(appArgs.userAgent);
}
if (appArgs.showDevTools) {
webView.openDevTools();
}
});
webView.addEventListener('new-window', function(e) {
webView.addEventListener('dom-ready', function () {
if (appArgs.userAgent) {
webView.setUserAgent(appArgs.userAgent);
}

});
webView.addEventListener('new-window', function (e) {
require('shell').openExternal(e.url);
});

// We check for desktop notifications by listening to a title change in the webview
// Not elegant, but it will have to do
if (appArgs.badge) {
webView.addEventListener('did-finish-load', function(e) {
webView.addEventListener('page-title-set', function(event) {
webView.addEventListener('did-finish-load', function (e) {
webView.addEventListener('page-title-set', function (event) {
ipc.send('notification-message', 'TITLE_CHANGED');
});
});
Expand All @@ -42,3 +42,13 @@ ipc.on('params', function(event, message) {
webViewDiv.appendChild(webView);
});

ipc.on('toggle-dev-tools', function (event, message) {
if (!message) {
return;
}
if (webView.isDevToolsOpened()) {
webView.closeDevTools();
} else {
webView.openDevTools();
}
});
8 changes: 5 additions & 3 deletions app/buildMenu.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
var electron = require('electron');
var Menu = electron.Menu;

module.exports = function (app) {
module.exports = function (app, mainWindow) {
if (Menu.getApplicationMenu())
return;

Expand Down Expand Up @@ -90,8 +90,10 @@ module.exports = function (app) {
return 'Ctrl+Shift+J';
})(),
click: function(item, focusedWindow) {
if (focusedWindow)
focusedWindow.toggleDevTools();
if (focusedWindow) {
mainWindow.webContents.send('toggle-dev-tools', true);
}

}
},
]
Expand Down
3 changes: 2 additions & 1 deletion app/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ app.on('window-all-closed', function() {
});

app.on('ready', function() {
buildMenu(app);
mainWindow = new BrowserWindow(
{
width: appArgs.width || 1280,
Expand All @@ -36,6 +35,8 @@ app.on('ready', function() {
}
}
);

buildMenu(app, mainWindow);

// uncomment to show dev tools for the main window
//mainWindow.openDevTools();
Expand Down

0 comments on commit c7e0242

Please sign in to comment.