Add default label/accelerator to role menu items

This commit is contained in:
Kevin Sawicki 2016-06-22 10:45:01 -07:00
parent 25b2724ab9
commit 13a6d32ee9
2 changed files with 17 additions and 3 deletions

View file

@ -1,4 +1,4 @@
module.exports = { const roles = {
undo: { undo: {
label: 'Undo', label: 'Undo',
accelerator: 'CmdOrCtrl+Z', accelerator: 'CmdOrCtrl+Z',
@ -63,3 +63,15 @@ module.exports = {
method: 'toggleFullScreen' method: 'toggleFullScreen'
} }
} }
exports.getDefaultLabel = function (role) {
if (roles.hasOwnProperty(role)) {
return roles[role].label
} else {
return ''
}
}
exports.getDefaultAccelerator = function (role) {
if (roles.hasOwnProperty(role)) return roles[role].accelerator
}

View file

@ -1,5 +1,7 @@
'use strict' 'use strict'
const roles = require('./menu-item-roles')
let nextCommandId = 0 let nextCommandId = 0
// Maps role to methods of webContents // Maps role to methods of webContents
@ -58,11 +60,11 @@ const MenuItem = function (options) {
this.overrideReadOnlyProperty('type', 'normal') this.overrideReadOnlyProperty('type', 'normal')
this.overrideReadOnlyProperty('role') this.overrideReadOnlyProperty('role')
this.overrideReadOnlyProperty('accelerator') this.overrideReadOnlyProperty('accelerator', roles.getDefaultAccelerator(this.role))
this.overrideReadOnlyProperty('icon') this.overrideReadOnlyProperty('icon')
this.overrideReadOnlyProperty('submenu') this.overrideReadOnlyProperty('submenu')
this.overrideProperty('label', '') this.overrideProperty('label', roles.getDefaultLabel(this.role))
this.overrideProperty('sublabel', '') this.overrideProperty('sublabel', '')
this.overrideProperty('enabled', true) this.overrideProperty('enabled', true)
this.overrideProperty('visible', true) this.overrideProperty('visible', true)