diff --git a/editor/js/ui/keyboard.js b/editor/js/ui/keyboard.js index 85808e2bf..c1f440ace 100644 --- a/editor/js/ui/keyboard.js +++ b/editor/js/ui/keyboard.js @@ -272,9 +272,14 @@ RED.keyboard = (function() { scrollOnAdd: false, addItem: function(container,i,object) { var item = $('
').appendTo(container); - + var key = $('
').appendTo(item); - key.append(formatKey(object.key)); + if (object.key) { + key.append(formatKey(object.key)); + } else { + item.addClass("keyboard-shortcut-entry-unassigned"); + key.html(RED._('keyboard.unassigned')); + } var text = object.id.replace(/(^.+:([a-z]))|(-([a-z]))/g,function(_,_,A,_,B,pos) { if (pos === 0) { @@ -284,8 +289,9 @@ RED.keyboard = (function() { } }); var label = $('
').html(text).appendTo(item); - - var scope = $('
').html(object.scope).appendTo(item); + if (object.scope) { + $('
').html(object.scope).appendTo(item); + } }, @@ -295,9 +301,7 @@ RED.keyboard = (function() { return A.id.localeCompare(B.id); }); shortcuts.forEach(function(s) { - if (s.key) { - shortcutList.editableList('addItem',s); - } + shortcutList.editableList('addItem',s); }) shortcutDialog.dialog({ diff --git a/editor/sass/keyboard.scss b/editor/sass/keyboard.scss index fc57c5cc8..6e6ffeeda 100644 --- a/editor/sass/keyboard.scss +++ b/editor/sass/keyboard.scss @@ -37,6 +37,12 @@ float: right; color: #999; } +.keyboard-shortcut-entry-unassigned { + color: #999; + .keyboard-shortcut-entry-key { + font-style: italic; + } +} .help-key { border: 1px solid #ddd; diff --git a/red/api/locales/en-US/editor.json b/red/api/locales/en-US/editor.json index 79a93be6a..76beaee27 100644 --- a/red/api/locales/en-US/editor.json +++ b/red/api/locales/en-US/editor.json @@ -189,6 +189,7 @@ }, "keyboard": { "title": "Keyboard Shortcuts", + "unassigned": "Unassigned", "selectAll": "Select all nodes", "selectAllConnected": "Select all connected nodes", "addRemoveNode": "Add/remove node from selection",