From 2b26e599d951ae411dac6cd43d2ad91ff4b4a18b Mon Sep 17 00:00:00 2001 From: chrox Date: Fri, 10 Oct 2014 18:14:16 +0800 Subject: [PATCH] return to previous filemanager view instead of opening a new one --- frontend/apps/filemanager/filemanager.lua | 4 ++++ frontend/apps/reader/modules/readerconfig.lua | 2 +- .../apps/reader/modules/readercropping.lua | 2 +- frontend/apps/reader/modules/readermenu.lua | 18 +++++++++++------- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/frontend/apps/filemanager/filemanager.lua b/frontend/apps/filemanager/filemanager.lua index 9e15b1d2e..9b2fedcd3 100644 --- a/frontend/apps/filemanager/filemanager.lua +++ b/frontend/apps/filemanager/filemanager.lua @@ -175,15 +175,19 @@ 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{ dimen = Screen:getSize(), root_path = path, onExit = function() + self.is_running = false UIManager:quit() end }) + self.is_running = true end function FileManager:copyFile(file) diff --git a/frontend/apps/reader/modules/readerconfig.lua b/frontend/apps/reader/modules/readerconfig.lua index a23dd881a..4685c7b87 100644 --- a/frontend/apps/reader/modules/readerconfig.lua +++ b/frontend/apps/reader/modules/readerconfig.lua @@ -78,7 +78,7 @@ function ReaderConfig:onCloseCallback() end -- event handler for readercropping -function ReaderConfig:onCloseConfig() +function ReaderConfig:onCloseConfigMenu() self.config_dialog:closeDialog() end diff --git a/frontend/apps/reader/modules/readercropping.lua b/frontend/apps/reader/modules/readercropping.lua index df2a07fee..8ad38c865 100644 --- a/frontend/apps/reader/modules/readercropping.lua +++ b/frontend/apps/reader/modules/readercropping.lua @@ -67,7 +67,7 @@ local ReaderCropping = InputContainer:new{} function ReaderCropping:onPageCrop(mode) if mode == "auto" then return end - self.ui:handleEvent(Event:new("CloseConfig")) + self.ui:handleEvent(Event:new("CloseConfigMenu")) -- backup original view dimen self.orig_view_dimen = Geom:new{w = self.view.dimen.w, h = self.view.dimen.h} -- backup original view bgcolor diff --git a/frontend/apps/reader/modules/readermenu.lua b/frontend/apps/reader/modules/readermenu.lua index 821e67777..763512798 100644 --- a/frontend/apps/reader/modules/readermenu.lua +++ b/frontend/apps/reader/modules/readermenu.lua @@ -41,19 +41,18 @@ function ReaderMenu:init() filemanager = { icon = "resources/icons/appbar.cabinet.files.png", callback = function() - self.ui:handleEvent(Event:new("RestoreScreenMode", - G_reader_settings:readSetting("screen_mode") or "portrait")) self.ui:onClose() - UIManager:quit() + self:onTapCloseMenu() local FileManager = require("apps/filemanager/filemanager") - FileManager:showFiles() + if not FileManager.is_running then + UIManager:quit() + FileManager:showFiles() + end end, }, home = { icon = "resources/icons/appbar.home.png", callback = function() - self.ui:handleEvent(Event:new("RestoreScreenMode", - G_reader_settings:readSetting("screen_mode") or "portrait")) self.ui:onClose() UIManager:quit() end, @@ -139,7 +138,7 @@ function ReaderMenu:setUpdateItemTable() }) end }) - + --typeset tab if KOBO_SCREEN_SAVER_LAST_BOOK then local exclude = self.ui.doc_settings:readSetting("exclude_screensaver") or false @@ -217,6 +216,11 @@ function ReaderMenu:onTapShowMenu() return true end +function ReaderMenu:onTapCloseMenu() + self.ui:handleEvent(Event:new("CloseReaderMenu")) + self.ui:handleEvent(Event:new("CloseConfigMenu")) +end + function ReaderMenu:onSetDimensions(dimen) -- update listening according to new screen dimen if Device:isTouchDevice() then