mirror of
https://github.com/atom/atom.git
synced 2026-02-14 08:35:11 -05:00
Store pathToOpen using new atom.set/getWindowState api
When you use `setWindowState`, your data is saved across refreshes. You can only store state that can be serialized to JSON.
This commit is contained in:
@@ -109,3 +109,16 @@ _.extend atom,
|
||||
if name is 'reply'
|
||||
[messageId, callbackIndex] = data.shift()
|
||||
@pendingBrowserProcessCallbacks[messageId]?[callbackIndex]?(data...)
|
||||
|
||||
setWindowState: (keyPath, value) ->
|
||||
windowState = @getWindowState()
|
||||
_.setValueForKeyPath(windowState, keyPath, value)
|
||||
$native.setWindowState(JSON.stringify(windowState))
|
||||
windowState
|
||||
|
||||
getWindowState: (keyPath) ->
|
||||
windowState = JSON.parse($native.getWindowState())
|
||||
if keyPath
|
||||
_.valueForKeyPath(windowState, keyPath)
|
||||
else
|
||||
windowState
|
||||
|
||||
@@ -47,8 +47,10 @@ windowAdditions =
|
||||
false
|
||||
|
||||
shutdown: ->
|
||||
@rootView?.deactivate()
|
||||
@rootView = null
|
||||
if @rootView
|
||||
atom.setWindowState('pathToOpen', @rootView.project.getPath())
|
||||
@rootView.deactivate()
|
||||
@rootView = null
|
||||
$(window).unbind('focus')
|
||||
$(window).unbind('blur')
|
||||
$(window).off('before')
|
||||
|
||||
Reference in New Issue
Block a user