From 69ee8c48ccd938c75875e41250c7d20baec8de13 Mon Sep 17 00:00:00 2001 From: Robert Date: Mon, 22 Jul 2019 20:42:36 +0200 Subject: [PATCH] Fix: Status bar hides text with minimal bottom margin (#5135) With very narrow bottom margin text is sometimes hidden by status bar. --- frontend/apps/reader/modules/readerfooter.lua | 6 +++++- frontend/apps/reader/modules/readertypeset.lua | 2 +- spec/unit/readerfooter_spec.lua | 4 ++-- spec/unit/readerrolling_spec.lua | 6 +++--- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/frontend/apps/reader/modules/readerfooter.lua b/frontend/apps/reader/modules/readerfooter.lua index fe030f6b0..3105c684f 100644 --- a/frontend/apps/reader/modules/readerfooter.lua +++ b/frontend/apps/reader/modules/readerfooter.lua @@ -295,7 +295,11 @@ function ReaderFooter:resetLayout() end function ReaderFooter:getHeight() - return self.footer_content:getSize().h + if self.footer_content then + return self.footer_content:getSize().h + else + return 0 + end end function ReaderFooter:disableFooter() diff --git a/frontend/apps/reader/modules/readertypeset.lua b/frontend/apps/reader/modules/readertypeset.lua index 26ac987a1..ea6cbb8c7 100644 --- a/frontend/apps/reader/modules/readertypeset.lua +++ b/frontend/apps/reader/modules/readertypeset.lua @@ -506,7 +506,7 @@ function ReaderTypeset:onSetPageMargins(margins, refresh_callback) if self.view.footer.has_no_mode or self.view.footer.reclaim_height then bottom = Screen:scaleBySize(margins[4]) else - bottom = Screen:scaleBySize(margins[4] + DMINIBAR_HEIGHT) + bottom = Screen:scaleBySize(margins[4]) + self.view.footer:getHeight() end self.ui.document:setPageMargins(left, top, right, bottom) self.ui:handleEvent(Event:new("UpdatePos")) diff --git a/spec/unit/readerfooter_spec.lua b/spec/unit/readerfooter_spec.lua index 523e404fc..5e1ffb1db 100644 --- a/spec/unit/readerfooter_spec.lua +++ b/spec/unit/readerfooter_spec.lua @@ -296,8 +296,8 @@ describe("Readerfooter module", function() assert.are.same(365, footer.text_width) footer:onPageUpdate(100) - assert.are.same(191, footer.progress_bar.width) - assert.are.same(389, footer.text_width) + assert.are.same(183, footer.progress_bar.width) + assert.are.same(397, footer.text_width) end) it("should support chapter markers", function() diff --git a/spec/unit/readerrolling_spec.lua b/spec/unit/readerrolling_spec.lua index b4e09a7fe..5a6b1b74e 100644 --- a/spec/unit/readerrolling_spec.lua +++ b/spec/unit/readerrolling_spec.lua @@ -186,13 +186,13 @@ describe("Readerrolling module", function() it("should show pages for different word gap", function() readerui.document:setSpaceCondensing(100) readerui:handleEvent(Event:new("ChangeScreenMode", "portrait")) - assert.are.same(248, readerui.document:getPageCount()) + assert.are.same(251, readerui.document:getPageCount()) readerui.document:setSpaceCondensing(75) readerui:handleEvent(Event:new("ChangeScreenMode", "portrait")) - assert.are.same(241, readerui.document:getPageCount()) + assert.are.same(242, readerui.document:getPageCount()) readerui.document:setSpaceCondensing(50) readerui:handleEvent(Event:new("ChangeScreenMode", "portrait")) - assert.are.same(231, readerui.document:getPageCount()) + assert.are.same(233, readerui.document:getPageCount()) end) end)