restore zoom mode when toggling reflow on/off

pull/2/merge
chrox 11 years ago
parent 25d8d24775
commit 666bb3d8ae

@ -134,7 +134,7 @@ KoptOptions = {
event = "RedrawCurrentPage",
},
{
event = "SetZoomMode",
event = "RestoreZoomMode",
args = {"page", nil},
},
}

@ -0,0 +1,22 @@
ReaderKoptinterface = InputContainer:new{}
function ReaderKoptinterface:onReadSettings(config)
self.normal_zoom_mode = config:readSetting("zoom_mode") or "page"
if self.document.configurable.text_wrap == 1 then
self.ui:handleEvent(Event:new("SetZoomMode", "page", "koptinterface"))
else
self.ui:handleEvent(Event:new("SetZoomMode", self.normal_zoom_mode, "koptinterface"))
end
end
function ReaderKoptinterface:onRestoreZoomMode(zoom_mode)
self.ui:handleEvent(Event:new("SetZoomMode", zoom_mode or self.normal_zoom_mode, "koptinterface"))
return true
end
function ReaderKoptinterface:onSetZoomMode(zoom_mode, orig)
if orig ~= "koptinterface" then
self.normal_zoom_mode = zoom_mode
end
end

@ -12,6 +12,7 @@ require "ui/reader/readertypeset"
require "ui/reader/readermenu"
require "ui/reader/readerconfig"
require "ui/reader/readercropping"
require "ui/reader/readerkopt"
--[[
This is an abstraction for a reader interface
@ -158,6 +159,14 @@ function ReaderUI:init()
ui = self
}
table.insert(self, config_dialog)
-- koptinterface controller
local koptinterface = ReaderKoptinterface:new{
dialog = self.dialog,
view = self[1],
ui = self,
document = self.document,
}
table.insert(self, koptinterface)
end
--DEBUG(self.doc_settings)
-- we only read settings after all the widgets are initialized

Loading…
Cancel
Save