From d4e7fe3eb8ec41d2425e05fbc88a21a06a2ca099 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Fri, 4 Apr 2014 22:37:34 +0800 Subject: [PATCH] Correctly translate WebInspector menu to native menu. --- atom/renderer/lib/inspector.coffee | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/atom/renderer/lib/inspector.coffee b/atom/renderer/lib/inspector.coffee index 7030fdd..b8aaebf 100644 --- a/atom/renderer/lib/inspector.coffee +++ b/atom/renderer/lib/inspector.coffee @@ -10,21 +10,33 @@ window.onload = -> convertToMenuTemplate = (items) -> template = [] for item in items - if item.type is 'subMenu' - template.push - type: 'submenu' - label: item.label - submenu: convertToMenuTemplate item.subItems - else - template.push - type: 'normal' - label: item.label + do (item) -> + transformed = + if item.type is 'subMenu' + type: 'submenu' + label: item.label + enabled: item.enabled + submenu: convertToMenuTemplate item.subItems + else if item.type is 'separator' + type: 'separator' + else if item.type is 'checkbox' + type: 'checkbox' + label: item.label + enabled: item.enabled + checked: item.checked + else + type: 'normal' + label: item.label + enabled: item.enabled + if item.id? + transformed.click = -> WebInspector.contextMenuItemSelected item.id + template.push transformed template createMenu = (items, event) -> remote = require 'remote' Menu = remote.require 'menu' - menu = Menu.buildFromTemplate convertToMenuTemplate(items.subItems) - menu.popup() + menu = Menu.buildFromTemplate convertToMenuTemplate(items) + menu.popup remote.getCurrentWindow() event.consume true -- 2.7.4