diff --git a/frontend/ui/reader/readerrolling.lua b/frontend/ui/reader/readerrolling.lua index 1f8e4aec0..318eedc2e 100644 --- a/frontend/ui/reader/readerrolling.lua +++ b/frontend/ui/reader/readerrolling.lua @@ -6,6 +6,7 @@ local Input = require("ui/input") local Event = require("ui/event") local GestureRange = require("ui/gesturerange") local ReaderPanning = require("ui/reader/readerpanning") +local UIManager = require("ui/uimanager") local DEBUG = require("dbg") local _ = require("gettext") @@ -243,7 +244,7 @@ end function ReaderRolling:onZoom() --@TODO re-read doc_height info after font or lineheight changes 05.06 2012 (houqp) - self:onUpdatePos() + self:updatePos() end --[[ @@ -251,6 +252,11 @@ end font has been changed, or line height has been changed. --]] function ReaderRolling:onUpdatePos() + UIManager:scheduleIn(0.1, function () self:updatePos() end) + return true +end + +function ReaderRolling:updatePos() -- reread document height self.ui.document:_readMetadata() -- update self.current_pos if the height of document has been changed. @@ -262,7 +268,6 @@ function ReaderRolling:onUpdatePos() self.old_page = new_page self.ui:handleEvent(Event:new("UpdateToc")) end - return true end function ReaderRolling:onChangeViewMode() diff --git a/frontend/ui/reader/readerview.lua b/frontend/ui/reader/readerview.lua index f4edb981b..f472d45ea 100644 --- a/frontend/ui/reader/readerview.lua +++ b/frontend/ui/reader/readerview.lua @@ -573,6 +573,7 @@ function ReaderView:onSetPageMargins(margins) local right = margins[3] local bottom = margins[4] self.ui.document:setPageMargins(left, top, right, bottom) + self.ui:handleEvent(Event:new("UpdatePos")) return true end diff --git a/frontend/ui/widget/configdialog.lua b/frontend/ui/widget/configdialog.lua index bbc4231e3..6e4ed9a71 100644 --- a/frontend/ui/widget/configdialog.lua +++ b/frontend/ui/widget/configdialog.lua @@ -509,6 +509,7 @@ function ConfigDialog:onConfigChoice(option_name, option_value) --DEBUG("config option value", option_name, option_value) self.configurable[option_name] = option_value self.ui:handleEvent(Event:new("StartActivityIndicator")) + self:closeDialog() return true end