mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
Annotations: Bookmark list improvement (#11825)
This commit is contained in:
@@ -626,8 +626,14 @@ local Menu = FocusManager:extend{
|
||||
line_color = Blitbuffer.COLOR_DARK_GRAY,
|
||||
}
|
||||
|
||||
function Menu:_recalculateDimen()
|
||||
self.perpage = self.items_per_page or G_reader_settings:readSetting("items_per_page") or self.items_per_page_default
|
||||
function Menu:_recalculateDimen(no_recalculate_dimen)
|
||||
local perpage = self.items_per_page or G_reader_settings:readSetting("items_per_page") or self.items_per_page_default
|
||||
if self.perpage ~= perpage then
|
||||
self.perpage = perpage
|
||||
no_recalculate_dimen = false
|
||||
end
|
||||
|
||||
if no_recalculate_dimen then return end
|
||||
|
||||
local top_height = 0
|
||||
if self.title_bar and not self.no_title then
|
||||
@@ -645,7 +651,7 @@ function Menu:_recalculateDimen()
|
||||
self.item_dimen = Geom:new{
|
||||
x = 0, y = 0,
|
||||
w = self.inner_dimen.w,
|
||||
h = math.floor(self.available_height / self.perpage),
|
||||
h = math.floor(self.available_height / perpage),
|
||||
}
|
||||
|
||||
self.page_num = self:getPageNumber(#self.item_table)
|
||||
@@ -1021,9 +1027,7 @@ function Menu:updateItems(select_number, no_recalculate_dimen)
|
||||
self.page_info:resetLayout()
|
||||
self.return_button:resetLayout()
|
||||
self.content_group:resetLayout()
|
||||
if not no_recalculate_dimen then
|
||||
self:_recalculateDimen()
|
||||
end
|
||||
self:_recalculateDimen(no_recalculate_dimen)
|
||||
-- default to select the first item
|
||||
if not select_number then
|
||||
select_number = 1
|
||||
@@ -1127,15 +1131,21 @@ end
|
||||
which item.key = value
|
||||
--]]
|
||||
function Menu:switchItemTable(new_title, new_item_table, itemnumber, itemmatch, new_subtitle)
|
||||
local no_recalculate_dimen = true
|
||||
|
||||
if new_item_table then
|
||||
self.item_table = new_item_table
|
||||
no_recalculate_dimen = false
|
||||
end
|
||||
|
||||
if self.title_bar then
|
||||
if new_title then
|
||||
self.title_bar:setTitle(new_title, true)
|
||||
if self.title_multilines then
|
||||
no_recalculate_dimen = false
|
||||
end
|
||||
end
|
||||
if new_subtitle then
|
||||
if new_subtitle then -- always single line
|
||||
self.title_bar:setSubTitle(new_subtitle, true)
|
||||
end
|
||||
end
|
||||
@@ -1156,7 +1166,7 @@ function Menu:switchItemTable(new_title, new_item_table, itemnumber, itemmatch,
|
||||
self.page = self:getPageNumber(itemnumber)
|
||||
end
|
||||
|
||||
self:updateItems()
|
||||
self:updateItems(1, no_recalculate_dimen)
|
||||
end
|
||||
|
||||
function Menu:getPageNumber(item_number)
|
||||
|
||||
Reference in New Issue
Block a user