From 5e09c79f59e6204e9e547ce911cde1c28357c19c Mon Sep 17 00:00:00 2001 From: hius07 <62179190+hius07@users.noreply.github.com> Date: Mon, 4 Mar 2024 14:20:22 +0200 Subject: [PATCH] filemanagermenu: revert #11495 --- frontend/apps/filemanager/filemanagermenu.lua | 31 +++++++++---------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/frontend/apps/filemanager/filemanagermenu.lua b/frontend/apps/filemanager/filemanagermenu.lua index 51c7e508a..34888217b 100644 --- a/frontend/apps/filemanager/filemanagermenu.lua +++ b/frontend/apps/filemanager/filemanagermenu.lua @@ -812,11 +812,10 @@ Tap a book in the search results to open it.]]), for id, common_setting in pairs(dofile("frontend/ui/elements/common_info_menu_table.lua")) do self.menu_items[id] = common_setting end - -- insert common exit + -- insert common exit for filemanager for id, common_setting in pairs(dofile("frontend/ui/elements/common_exit_menu_table.lua")) do self.menu_items[id] = common_setting end - if not Device:isTouchDevice() then -- add a shortcut on non touch-device -- because this menu is not accessible otherwise @@ -925,14 +924,20 @@ function FileManagerMenu:exitOrRestart(callback, force) end end -function FileManagerMenu:genMenu(tab_index) +function FileManagerMenu:onShowMenu(tab_index) if self.tab_item_table == nil then self:setUpdateItemTable() end - if tab_index == nil then + + if not tab_index then tab_index = G_reader_settings:readSetting("filemanagermenu_tab_index") or 1 end + local menu_container = CenterContainer:new{ + ignore = "height", + dimen = Screen:getSize(), + } + local main_menu if Device:isTouchDevice() or Device:hasDPad() then local TouchMenu = require("ui/widget/touchmenu") @@ -940,6 +945,7 @@ function FileManagerMenu:genMenu(tab_index) width = Screen:getWidth(), last_index = tab_index, tab_item_table = self.tab_item_table, + show_parent = menu_container, } else local Menu = require("ui/widget/menu") @@ -947,23 +953,14 @@ function FileManagerMenu:genMenu(tab_index) title = _("File manager menu"), item_table = Menu.itemTableFromTouchMenu(self.tab_item_table), width = Screen:getWidth() - (Size.margin.fullscreen_popout * 2), + show_parent = menu_container, } end + main_menu.close_callback = function() self:onCloseFileManagerMenu() end - return main_menu -end -function FileManagerMenu:onShowMenu(tab_index, main_menu) - if main_menu == nil or main_menu.page_info == nil then -- be sure it's TouchMenu or Menu - main_menu = self:genMenu(tab_index) - end - local menu_container = CenterContainer:new{ - ignore = "height", - dimen = Screen:getSize(), - } - main_menu.show_parent = menu_container menu_container[1] = main_menu -- maintain a reference to menu_container self.menu_container = menu_container @@ -1025,8 +1022,8 @@ function FileManagerMenu:onSetDimensions(dimen) end function FileManagerMenu:onMenuSearch() - local main_menu = self:genMenu() - main_menu:onShowMenuSearch() + self:onShowMenu() + self.menu_container[1]:onShowMenuSearch() end function FileManagerMenu:registerToMainMenu(widget)