restoring scroll position when loading a client config only if the file was not already loaded
This commit is contained in:
parent
fae5d84e91
commit
641b2dff16
@ -266,7 +266,9 @@ end
|
|||||||
|
|
||||||
function meta.__index:getSourcePage( source )
|
function meta.__index:getSourcePage( source )
|
||||||
local page = self.sourcePages[source]
|
local page = self.sourcePages[source]
|
||||||
|
local newlyLoaded = false
|
||||||
if page == nil then
|
if page == nil then
|
||||||
|
newlyLoaded = true
|
||||||
page = mainthread.execute( function() return ui.sourcePage.new( self.sourceBook, source ) end )
|
page = mainthread.execute( function() return ui.sourcePage.new( self.sourceBook, source ) end )
|
||||||
self.sourcePages[source] = page
|
self.sourcePages[source] = page
|
||||||
local _, _, name = string.find( source, ".*[/\\](.*)" )
|
local _, _, name = string.find( source, ".*[/\\](.*)" )
|
||||||
@ -280,7 +282,7 @@ function meta.__index:getSourcePage( source )
|
|||||||
page:registerEvent( "onBreakPointChanged", function( ... ) self:runEvents_( "onBreakPointChanged", source, ... ) end )
|
page:registerEvent( "onBreakPointChanged", function( ... ) self:runEvents_( "onBreakPointChanged", source, ... ) end )
|
||||||
page:registerEvent( "onScrollChanged", function( ... ) self:runEvents_( "onScrollChanged", source, ... ) end )
|
page:registerEvent( "onScrollChanged", function( ... ) self:runEvents_( "onScrollChanged", source, ... ) end )
|
||||||
end
|
end
|
||||||
return page
|
return page, newlyLoaded
|
||||||
end
|
end
|
||||||
|
|
||||||
function meta.__index:findSourcePage( source )
|
function meta.__index:findSourcePage( source )
|
||||||
|
@ -823,8 +823,8 @@ function meta.__index:loadConfig_( name )
|
|||||||
end
|
end
|
||||||
|
|
||||||
for _, file in ipairs( config.openFiles ) do
|
for _, file in ipairs( config.openFiles ) do
|
||||||
local page = self.window:getSourcePage( file )
|
local page, newlyLoaded = self.window:getSourcePage( file )
|
||||||
if page ~= nil then
|
if page ~= nil and newlyLoaded then
|
||||||
local sp = clientConfig.scrollPositions[file]
|
local sp = clientConfig.scrollPositions[file]
|
||||||
print("scroll to", sp)
|
print("scroll to", sp)
|
||||||
if sp ~= nil then
|
if sp ~= nil then
|
||||||
|
Loading…
Reference in New Issue
Block a user