From e714caed8dfe30a17b25941941d1e7b2073c5408 Mon Sep 17 00:00:00 2001 From: chrox Date: Sun, 12 Oct 2014 17:25:26 +0800 Subject: [PATCH] refactoring restoreScreenMode from readerview to filemanager This should fix #983. --- frontend/apps/filemanager/filemanager.lua | 7 +++++-- frontend/apps/reader/modules/readermenu.lua | 3 +++ frontend/apps/reader/modules/readerview.lua | 9 --------- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/frontend/apps/filemanager/filemanager.lua b/frontend/apps/filemanager/filemanager.lua index 9b2fedcd3..1f11ab963 100644 --- a/frontend/apps/filemanager/filemanager.lua +++ b/frontend/apps/filemanager/filemanager.lua @@ -173,10 +173,13 @@ function FileManager:getDefaultDir() end end +function FileManager:restoreScreenMode() + local screen_mode = G_reader_settings:readSetting("fm_screen_mode") + Screen:setScreenMode(screen_mode or "portrait") +end + function FileManager:showFiles(path) DEBUG("show home page") - local screen_mode = G_reader_settings:readSetting("fm_screen_mode") or "portrait" - Screen:setScreenMode(screen_mode) path = path or G_reader_settings:readSetting("lastdir") or self:getDefaultDir() G_reader_settings:saveSetting("lastdir", path) UIManager:show(FileManager:new{ diff --git a/frontend/apps/reader/modules/readermenu.lua b/frontend/apps/reader/modules/readermenu.lua index 763512798..526968891 100644 --- a/frontend/apps/reader/modules/readermenu.lua +++ b/frontend/apps/reader/modules/readermenu.lua @@ -43,7 +43,10 @@ function ReaderMenu:init() callback = function() self.ui:onClose() self:onTapCloseMenu() + -- screen orientation is independent for docview and filemanager + -- so we need to restore the screen mode for the filemanager local FileManager = require("apps/filemanager/filemanager") + FileManager:restoreScreenMode() if not FileManager.is_running then UIManager:quit() FileManager:showFiles() diff --git a/frontend/apps/reader/modules/readerview.lua b/frontend/apps/reader/modules/readerview.lua index 37ce322d4..7faa9f6a0 100644 --- a/frontend/apps/reader/modules/readerview.lua +++ b/frontend/apps/reader/modules/readerview.lua @@ -545,15 +545,6 @@ function ReaderView:onSetScreenMode(new_mode, rotation) return true end --- for returning to FileManager -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:resetLayout() self.dimen = dimensions