mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-21 07:58:04 +03:00
Memoize load settings and return a clone
Calling this method actual eats up a lot of spec time since it does an ipc channel sync call.
This commit is contained in:
parent
9b97433214
commit
5aa83163ad
@ -88,8 +88,12 @@ class Atom
|
|||||||
dimensions = defaultDimensions unless dimensions?.width and dimensions?.height
|
dimensions = defaultDimensions unless dimensions?.width and dimensions?.height
|
||||||
@setDimensions(dimensions)
|
@setDimensions(dimensions)
|
||||||
|
|
||||||
|
# Public: Get the load settings for the current window.
|
||||||
|
#
|
||||||
|
# Returns an object containing all the load setting key/value pairs.
|
||||||
getLoadSettings: ->
|
getLoadSettings: ->
|
||||||
@getCurrentWindow().loadSettings
|
@loadSettings ?= _.clone(@getCurrentWindow().loadSettings)
|
||||||
|
_.clone(@loadSettings)
|
||||||
|
|
||||||
deserializeProject: ->
|
deserializeProject: ->
|
||||||
Project = require './project'
|
Project = require './project'
|
||||||
@ -254,7 +258,7 @@ class Atom
|
|||||||
if windowStatePath = @getWindowStatePath()
|
if windowStatePath = @getWindowStatePath()
|
||||||
windowState.saveSync(path: windowStatePath)
|
windowState.saveSync(path: windowStatePath)
|
||||||
else
|
else
|
||||||
@getLoadSettings().windowState = JSON.stringify(windowState.serialize())
|
@getCurrentWindow().loadSettings.windowState = JSON.stringify(windowState.serialize())
|
||||||
|
|
||||||
getWindowState: (keyPath) ->
|
getWindowState: (keyPath) ->
|
||||||
@windowState ?= @loadWindowState()
|
@windowState ?= @loadWindowState()
|
||||||
|
Loading…
Reference in New Issue
Block a user