Repository URL to install this package:
|
Version:
1.2.0-1346 ▾
|
/*global module process*/
(function withNode() {
module.exports = (mainWindow, updateWindow, shell, packageJSON, app) => {
let menuTemplate;
const aboutMenuItem = {
'submenu': [
{
'role': 'about'
},
{
'label': `Version ${packageJSON.version}`,
'enabled': false
},
{
'label': 'Check for Updates...',
click() {
mainWindow.webContents.send('loading:freeze-app');
updateWindow.setMenu(null);
updateWindow.show();
}
},
{
'type': 'separator'
},
{
'label': 'Visit Website',
click() {
shell.openExternal(packageJSON.homepage);
}
}
]
}
, fileMenuItem = {
'label': 'File',
'submenu': [
{
'label': 'Add Project...',
'accelerator': 'CmdOrCtrl+O',
click() {
mainWindow.webContents.send('menu:add-project-folder');
}
}
]
}
, editMenuItem = {
'label': 'Edit',
'submenu': [
{
'role': 'undo'
},
{
'role': 'redo'
},
{
'type': 'separator'
},
{
'role': 'cut'
},
{
'role': 'copy'
},
{
'role': 'paste'
},
{
'role': 'pasteandmatchstyle'
},
{
'role': 'delete'
},
{
'role': 'selectall'
}
]
}
, viewMenuItem = {
'label': 'View',
'submenu': [
{
'role': 'togglefullscreen'
},
{
'type': 'separator'
},
{
'label': 'Developer',
'submenu': [{
'label': 'Open DevTools',
click(item, focusedWindow) {
if (focusedWindow) {
focusedWindow.openDevTools();
}
}
}]
}
]
}
, windowMenuItem = {
'role': 'window',
'submenu': [
{
'role': 'minimize'
},
{
'role': 'close'
}
]
}
, helpMenuItem = {
'role': 'help',
'submenu': [
{
'label': 'More About',
click() {
shell.openExternal(`${packageJSON.github}`);
}
},
{
'label': 'Report an issue',
click() {
shell.openExternal(`${packageJSON.bugs.url}`);
}
},
{
'type': 'separator'
},
{
'label': 'Donate',
click() {
shell.openExternal(packageJSON.donate.opencollective);
}
},
{
'type': 'separator'
},
{
'label': 'Join Chat',
click() {
shell.openExternal(`${packageJSON.social.gitter.url}`);
}
},
{
'label': 'Follow on Twitter',
click() {
shell.openExternal(`${packageJSON.social.twitter.url}`);
}
}
]
};
if (process.platform !== 'darwin' &&
process.platform !== 'win32') {
//if linux no need for "check for updates"
aboutMenuItem.submenu.splice(2, 1);
}
if (process.platform &&
process.platform === 'darwin') {
aboutMenuItem.label = packageJSON.name;
aboutMenuItem.submenu.push({
'type': 'separator'
});
aboutMenuItem.submenu.push({
'role': 'hide'
});
aboutMenuItem.submenu.push({
'role': 'hideothers'
});
aboutMenuItem.submenu.push({
'role': 'unhide'
});
aboutMenuItem.submenu.push({
'type': 'separator'
});
aboutMenuItem.submenu.push({
'label': 'Restart',
'accelerator': 'CmdOrCtrl+R',
click() {
app.relaunch();
app.quit();
}
});
aboutMenuItem.submenu.push({
'role': 'quit'
});
menuTemplate = [
aboutMenuItem,
fileMenuItem,
editMenuItem,
viewMenuItem,
windowMenuItem,
helpMenuItem
];
} else {
aboutMenuItem.label = 'About';
viewMenuItem.submenu.unshift({
'label': 'Toggle menu',
click() {
mainWindow.setAutoHideMenuBar(true);
if (mainWindow.isMenuBarVisible()) {
mainWindow.setMenuBarVisibility(false);
} else {
mainWindow.setMenuBarVisibility(true);
}
}
});
menuTemplate = [
fileMenuItem,
editMenuItem,
viewMenuItem,
helpMenuItem,
aboutMenuItem
];
}
return menuTemplate;
};
}());