Add basic menubar

This includes a Developer menu that can be enabled or disabled through
the UI.
This commit is contained in:
Alex Liebowitz 2017-03-08 04:05:15 -05:00
parent 780f9dd7c5
commit b0d7e6497a

76
app/menu/main-menu.js Normal file
View file

@ -0,0 +1,76 @@
const {Menu} = require('electron');
const electron = require('electron');
const app = electron.app;
const template = [
{
label: 'Edit',
submenu: [
{
role: 'undo'
},
{
role: 'redo'
},
{
type: 'separator'
},
{
role: 'cut'
},
{
role: 'copy'
},
{
role: 'paste'
},
{
role: 'delete'
},
{
role: 'selectall'
}
]
},
{
label: 'Help',
submenu: [
{
label: 'FAQ',
click () { require('electron').shell.openExternal('https://lbry.io/faq') }
}
]
}
];
module.exports = {
showNormalMenubar: () => {
const menu = Menu.buildFromTemplate(template);
Menu.setApplicationMenu(menu);
},
showDeveloperMenubar: () => {
const devTemplate = template.slice();
devTemplate.push({
label: 'Developer',
submenu: [
{
label: 'Reload',
accelerator: 'CmdOrCtrl+R',
click (item, focusedWindow) {
if (focusedWindow) focusedWindow.reload()
}
},
{
label: 'Toggle Developer Tools',
accelerator: process.platform === 'darwin' ? 'Alt+Command+I' : 'Ctrl+Shift+I',
click (item, focusedWindow) {
if (focusedWindow) focusedWindow.webContents.toggleDevTools()
}
},
]
});
const menu = Menu.buildFromTemplate(devTemplate);
Menu.setApplicationMenu(menu);
}
};