mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-20 07:28:08 +03:00
Return telepath documents from getWindowState()
This commit is contained in:
parent
d283834978
commit
9c95a4751b
@ -8,6 +8,7 @@ remote = require 'remote'
|
||||
crypto = require 'crypto'
|
||||
path = require 'path'
|
||||
dialog = remote.require 'dialog'
|
||||
telepath = require 'telepath'
|
||||
|
||||
window.atom =
|
||||
loadedThemes: []
|
||||
@ -254,8 +255,8 @@ window.atom =
|
||||
|
||||
setWindowState: (keyPath, value) ->
|
||||
windowState = @getWindowState()
|
||||
_.setValueForKeyPath(windowState, keyPath, value)
|
||||
@saveWindowState(windowState)
|
||||
windowState.set(keyPath, value)
|
||||
@saveWindowState(windowState.toObject())
|
||||
windowState
|
||||
|
||||
getWindowState: (keyPath) ->
|
||||
@ -274,10 +275,11 @@ window.atom =
|
||||
console.warn "Error parsing window state: #{windowStatePath}", error.stack, error
|
||||
|
||||
windowState ?= {}
|
||||
doc = telepath.Document.fromObject(telepath.createSite(1), windowState)
|
||||
if keyPath
|
||||
_.valueForKeyPath(windowState, keyPath)
|
||||
doc.get(keyPath)
|
||||
else
|
||||
windowState
|
||||
doc
|
||||
|
||||
update: ->
|
||||
ipc.sendChannel 'install-update'
|
||||
|
@ -1,5 +1,6 @@
|
||||
fsUtils = require 'fs-utils'
|
||||
path = require 'path'
|
||||
telepath = require 'telepath'
|
||||
$ = require 'jquery'
|
||||
less = require 'less'
|
||||
ipc = require 'ipc'
|
||||
@ -118,7 +119,7 @@ window.deserializeEditorWindow = ->
|
||||
|
||||
windowState = atom.getWindowState()
|
||||
|
||||
atom.packageStates = windowState.packageStates ? {}
|
||||
atom.packageStates = windowState.getObject('packageStates') ? {}
|
||||
window.project = new Project(initialPath)
|
||||
window.rootView = deserialize(windowState.rootView) ? new RootView
|
||||
|
||||
@ -134,8 +135,7 @@ window.deserializeEditorWindow = ->
|
||||
|
||||
window.deserializeConfigWindow = ->
|
||||
ConfigView = require 'config-view'
|
||||
windowState = atom.getWindowState()
|
||||
window.configView = deserialize(windowState.configView) ? new ConfigView()
|
||||
window.configView = deserialize(atom.getWindowState('configView')) ? new ConfigView()
|
||||
$(rootViewParentSelector).append(configView)
|
||||
|
||||
window.stylesheetElementForId = (id) ->
|
||||
@ -205,7 +205,7 @@ window.setDimensions = ({x, y, width, height}) ->
|
||||
browserWindow.center()
|
||||
|
||||
window.restoreDimensions = ->
|
||||
dimensions = atom.getWindowState('dimensions')
|
||||
dimensions = atom.getWindowState().getObject('dimensions')
|
||||
dimensions = defaultWindowDimensions unless dimensions?.width and dimensions?.height
|
||||
window.setDimensions(dimensions)
|
||||
$(window).on 'unload', -> atom.setWindowState('dimensions', window.getDimensions())
|
||||
@ -227,11 +227,16 @@ window.unregisterDeserializer = (klass) ->
|
||||
|
||||
window.deserialize = (state) ->
|
||||
if deserializer = getDeserializer(state)
|
||||
return if deserializer.version? and deserializer.version isnt state.version
|
||||
stateVersion = state.get?('version') ? state.version
|
||||
return if deserializer.version? and deserializer.version isnt stateVersion
|
||||
if (state instanceof telepath.Document) and not deserializer.acceptsDocuments
|
||||
state = state.toObject()
|
||||
deserializer.deserialize(state)
|
||||
|
||||
window.getDeserializer = (state) ->
|
||||
name = state?.deserializer
|
||||
return unless state?
|
||||
|
||||
name = state.get?('deserializer') ? state.deserializer
|
||||
if deferredDeserializers[name]
|
||||
deferredDeserializers[name]()
|
||||
delete deferredDeserializers[name]
|
||||
|
2
vendor/apm
vendored
2
vendor/apm
vendored
@ -1 +1 @@
|
||||
Subproject commit cae9e5e0b9c0db7a928189029dbecb577ed81bda
|
||||
Subproject commit 0945ca14da25254edd2bfd4d61e84bebf9f04910
|
Loading…
Reference in New Issue
Block a user