From 6f836e83a0f544a3b1b8b7b1ab22fd983a72f603 Mon Sep 17 00:00:00 2001 From: hius07 <62179190+hius07@users.noreply.github.com> Date: Mon, 4 Mar 2024 14:21:35 +0200 Subject: [PATCH] readermenu: revert #11495 --- frontend/apps/reader/modules/readermenu.lua | 53 +++++++++++---------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/frontend/apps/reader/modules/readermenu.lua b/frontend/apps/reader/modules/readermenu.lua index 1fea0bcd7..029491786 100644 --- a/frontend/apps/reader/modules/readermenu.lua +++ b/frontend/apps/reader/modules/readermenu.lua @@ -5,7 +5,6 @@ local Device = require("device") local Event = require("ui/event") local InputContainer = require("ui/widget/container/inputcontainer") local Screensaver = require("ui/screensaver") -local Size = require("ui/size") local UIManager = require("ui/uimanager") local logger = require("logger") local dbg = require("dbg") @@ -296,8 +295,16 @@ function ReaderMenu:setUpdateItemTable() text = _("Plugin management"), sub_item_table = PluginLoader:genPluginManagerSubItem() } - -- main menu tab + -- insert common info + 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 for reader + for id, common_setting in pairs(dofile("frontend/ui/elements/common_exit_menu_table.lua")) do + self.menu_items[id] = common_setting + end + self.menu_items.open_previous_document = { text_func = function() local previous_file = self:getPreviousFile() @@ -324,14 +331,6 @@ function ReaderMenu:setUpdateItemTable() }) end } - -- insert common info - 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 - for id, common_setting in pairs(dofile("frontend/ui/elements/common_exit_menu_table.lua")) do - self.menu_items[id] = common_setting - end local order = require("ui/elements/reader_menu_order") @@ -409,14 +408,21 @@ function ReaderMenu:exitOrRestart(callback, force) end end -function ReaderMenu:genMenu(tab_index) +function ReaderMenu: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 = self.last_tab_index end + local menu_container = CenterContainer:new{ + covers_header = true, + ignore = "height", + dimen = Screen:getSize(), + } + local main_menu if Device:isTouchDevice() or Device:hasDPad() then local TouchMenu = require("ui/widget/touchmenu") @@ -424,31 +430,26 @@ function ReaderMenu: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") main_menu = Menu:new{ title = _("Document menu"), item_table = Menu.itemTableFromTouchMenu(self.tab_item_table), - width = Screen:getWidth() - (Size.margin.fullscreen_popout * 2), + width = Screen:getWidth() - 100, + show_parent = menu_container, } end + main_menu.close_callback = function() self:onCloseReaderMenu() end - return main_menu -end -function ReaderMenu: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) + main_menu.touch_menu_callback = function () + self.ui:handleEvent(Event:new("CloseConfigMenu")) end - local menu_container = CenterContainer:new{ - covers_header = true, - 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 @@ -551,8 +552,8 @@ function ReaderMenu:onSaveSettings() end function ReaderMenu:onMenuSearch() - local main_menu = self:genMenu() - main_menu:onShowMenuSearch() + self:onShowMenu() + self.menu_container[1]:onShowMenuSearch() end function ReaderMenu:registerToMainMenu(widget)