mirror of
https://github.com/atom/atom.git
synced 2026-01-24 14:28:14 -05:00
Emit event from AtomWindow when locations are loaded
This commit is contained in:
committed by
Katrina Uychaco
parent
3c47b775d2
commit
cc2cbfbb0a
@@ -912,7 +912,7 @@ class AtomEnvironment extends Model
|
||||
windowIsUnused = @workspace.getPaneItems().every(paneItemIsEmptyUnnamedTextEditor)
|
||||
if windowIsUnused
|
||||
@restoreStateIntoThisEnvironment(state)
|
||||
@workspace.open(file) for file in filesToOpen
|
||||
Promise.all (@workspace.open(file) for file in filesToOpen)
|
||||
else
|
||||
nouns = if projectPaths.length is 1 then 'folder' else 'folders'
|
||||
btn = @confirm
|
||||
@@ -930,9 +930,10 @@ class AtomEnvironment extends Model
|
||||
newWindow: true
|
||||
devMode: @inDevMode()
|
||||
safeMode: @inSafeMode()
|
||||
Promise.resolve(null)
|
||||
else if btn is 1
|
||||
@project.addPath(selectedPath) for selectedPath in projectPaths
|
||||
@workspace.open(file) for file in filesToOpen
|
||||
Promise.all (@workspace.open(file) for file in filesToOpen)
|
||||
|
||||
restoreStateIntoThisEnvironment: (state) ->
|
||||
state.fullScreen = @isFullScreen()
|
||||
@@ -1066,19 +1067,26 @@ class AtomEnvironment extends Model
|
||||
unless fs.isDirectorySync(pathToOpen)
|
||||
fileLocationsToOpen.push({pathToOpen, initialLine, initialColumn})
|
||||
|
||||
promise = Promise.resolve(null)
|
||||
if foldersToAddToProject.length > 0
|
||||
@loadState(@getStateKey(foldersToAddToProject)).then (state) =>
|
||||
promise = @loadState(@getStateKey(foldersToAddToProject)).then (state) =>
|
||||
if state and needsProjectPaths # only load state if this is the first path added to the project
|
||||
files = (location.pathToOpen for location in fileLocationsToOpen)
|
||||
@attemptRestoreProjectStateForPaths(state, foldersToAddToProject, files)
|
||||
@attemptRestoreProjectStateForPaths(state, foldersToAddToProject, files).then =>
|
||||
else
|
||||
promises = []
|
||||
@project.addPath(folder) for folder in foldersToAddToProject
|
||||
for {pathToOpen, initialLine, initialColumn} in fileLocationsToOpen
|
||||
@workspace?.open(pathToOpen, {initialLine, initialColumn})
|
||||
promises.push @workspace?.open(pathToOpen, {initialLine, initialColumn})
|
||||
Promise.all(promises)
|
||||
else
|
||||
promises = []
|
||||
for {pathToOpen, initialLine, initialColumn} in fileLocationsToOpen
|
||||
@workspace?.open(pathToOpen, {initialLine, initialColumn})
|
||||
Promise.resolve(null)
|
||||
promises.push @workspace?.open(pathToOpen, {initialLine, initialColumn})
|
||||
promise = Promise.all(promises)
|
||||
|
||||
promise.then =>
|
||||
ipcRenderer.send 'window-command', 'window:locations-opened'
|
||||
|
||||
resolveProxy: (url) ->
|
||||
return new Promise (resolve, reject) =>
|
||||
|
||||
@@ -89,6 +89,9 @@ class AtomWindow
|
||||
@emit 'window:loaded'
|
||||
@resolveLoadedPromise()
|
||||
|
||||
@browserWindow.on 'window:locations-opened', =>
|
||||
@emit 'window:locations-opened'
|
||||
|
||||
@browserWindow.on 'enter-full-screen', =>
|
||||
@browserWindow.webContents.send('did-enter-full-screen')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user