From b03d589ae91f0c8cbfbf1f4e36d958c999e0d380 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Thu, 19 Apr 2012 14:39:50 +0800 Subject: [PATCH] add preLoadSettings methods for cache_document_size setting cache_document_size should be configurable for every docuemnt and it must be loaded before document open, so I added the preLoadSettings method --- reader.lua | 1 + unireader.lua | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/reader.lua b/reader.lua index 474d3c24c..73bf2ba41 100755 --- a/reader.lua +++ b/reader.lua @@ -49,6 +49,7 @@ function openFile(filename) end if reader then InfoMessage:show("Opening document, please wait... ", 0) + reader:preLoadSettings(filename) local ok, err = reader:open(filename) if ok then reader:loadSettings(filename) diff --git a/unireader.lua b/unireader.lua index fa48df0f8..4aa7dd0dd 100644 --- a/unireader.lua +++ b/unireader.lua @@ -907,11 +907,19 @@ function UniReader:initGlobalSettings(settings) end end +-- Method to load settings before document open +function UniReader:preLoadSettings(filename) + self.settings = DocSettings:open(filename) + + local cache_d_size = self.settings:readSetting("cache_document_size") + if cache_d_size then + self.cache_document_size = cache_d_size + end +end + -- This is a low-level method that can be shared with all readers. function UniReader:loadSettings(filename) if self.doc ~= nil then - self.settings = DocSettings:open(filename,self.cache_document_size) - local gamma = self.settings:readSetting("gamma") if gamma then self.globalgamma = gamma