Build ContextMenuManager in Atom environment constructor

This commit is contained in:
Nathan Sobo
2015-09-28 16:44:49 -06:00
parent 943f6cf513
commit 6de0da792b
3 changed files with 8 additions and 6 deletions

View File

@@ -5,7 +5,7 @@ describe "ContextMenuManager", ->
beforeEach ->
{resourcePath} = atom.getLoadSettings()
contextMenu = new ContextMenuManager({resourcePath})
contextMenu = new ContextMenuManager({resourcePath, keymapManager: atom.keymaps})
parent = document.createElement("div")
child = document.createElement("div")

View File

@@ -192,6 +192,9 @@ class Atom extends Model
styleManager: @styles, notificationManager: @notifications, viewRegistry: @views
})
ContextMenuManager = require './context-menu-manager'
@contextMenu = new ContextMenuManager({resourcePath, devMode, keymapManager: @keymaps})
reset: ->
@config.reset()
@@ -230,7 +233,6 @@ class Atom extends Model
Clipboard = require './clipboard'
GrammarRegistry = require './grammar-registry'
ContextMenuManager = require './context-menu-manager'
MenuManager = require './menu-manager'
{devMode, safeMode, resourcePath} = @getLoadSettings()
configDirPath = @getConfigDirPath()
@@ -248,7 +250,6 @@ class Atom extends Model
@registerViewProviders()
document.head.appendChild(new StylesElement)
@contextMenu = new ContextMenuManager({resourcePath, devMode})
@menu = new MenuManager({resourcePath})
@clipboard = new Clipboard()
@grammars = @deserializers.deserialize(@state.grammars ? @state.syntax) ? new GrammarRegistry()

View File

@@ -4,6 +4,7 @@ CSON = require 'season'
fs = require 'fs-plus'
{calculateSpecificity, validateSelector} = require 'clear-cut'
{Disposable} = require 'event-kit'
remote = require 'remote'
MenuHelpers = require './menu-helpers'
platformContextMenu = require('../package.json')?._atomMenu?['context-menu']
@@ -40,11 +41,11 @@ platformContextMenu = require('../package.json')?._atomMenu?['context-menu']
# {::add} for more information.
module.exports =
class ContextMenuManager
constructor: ({@resourcePath, @devMode}) ->
constructor: ({@resourcePath, @devMode, @keymapManager}) ->
@definitions = {'.overlayer': []} # TODO: Remove once color picker package stops touching private data
@clear()
atom.keymaps.onDidLoadBundledKeymaps => @loadPlatformItems()
@keymapManager.onDidLoadBundledKeymaps => @loadPlatformItems()
loadPlatformItems: ->
if platformContextMenu?
@@ -175,7 +176,7 @@ class ContextMenuManager
menuTemplate = @templateForEvent(event)
return unless menuTemplate?.length > 0
atom.getCurrentWindow().emit('context-menu', menuTemplate)
remote.getCurrentWindow().emit('context-menu', menuTemplate)
return
clear: ->