add screen mode restoration for each document

pull/2/merge
chrox 11 years ago
parent 1f511757c5
commit 0137fe7af4

@ -58,6 +58,8 @@ function ReaderMenu:setUpdateItemTable()
table.insert(self.item_table, {
text = "Return to file manager",
callback = function()
self.ui:handleEvent(Event:new("RestoreScreenMode",
G_reader_settings:readSetting("screen_mode") or "portrait"))
UIManager:close(self.menu_container)
self.ui:onClose()
end

@ -132,12 +132,21 @@ end
function ReaderView:onSetScreenMode(new_mode)
if new_mode == "landscape" or new_mode == "portrait" then
self.screen_mode = new_mode
Screen:setScreenMode(new_mode)
self.ui:handleEvent(Event:new("SetDimensions", Screen:getSize()))
end
return true
end
function ReaderView:onRestoreScreenMode(old_mode)
if old_mode == "landscape" or old_mode == "portrait" then
Screen:setScreenMode(old_mode)
self.ui:handleEvent(Event:new("SetDimensions", Screen:getSize()))
end
return true
end
function ReaderView:onSetDimensions(dimensions)
self.dimen = dimensions
-- recalculate view
@ -146,15 +155,24 @@ end
function ReaderView:onReadSettings(config)
self.render_mode = config:readSetting("render_mode") or 0
self.init_screen_mode = config:readSetting("screen_mode") or "portrait"
end
function ReaderView:onPageUpdate(new_page_no)
self.state.page = new_page_no
if self.init_screen_mode then
self.ui:handleEvent(Event:new("SetScreenMode", self.init_screen_mode))
self.init_screen_mode = nil
end
self:recalculate()
end
function ReaderView:onPosUpdate(new_pos)
self.state.pos = new_pos
if self.init_screen_mode then
self.ui:handleEvent(Event:new("SetScreenMode", self.init_screen_mode))
self.init_screen_mode = nil
end
self:recalculate()
end
@ -192,4 +210,5 @@ end
function ReaderView:onCloseDocument()
self.ui.doc_settings:saveSetting("render_mode", self.render_mode)
self.ui.doc_settings:saveSetting("screen_mode", self.screen_mode)
end

Loading…
Cancel
Save