From fa414af1ebad9ee38977fb5eb3a1ee3f6b3ed0a0 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Wed, 18 Apr 2012 17:29:27 +0800 Subject: [PATCH] handle obselete jumpstack settings * remove jumpstack settings if found * add DocSettings:delSetting method * rename DocSettings:savesetting to DocSettings:savesetting. --- reader.lua | 4 ++-- settings.lua | 6 +++++- unireader.lua | 28 +++++++++++++++++++--------- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/reader.lua b/reader.lua index bcd1c7504..54551e4c2 100755 --- a/reader.lua +++ b/reader.lua @@ -54,7 +54,7 @@ function openFile(filename) reader:loadSettings(filename) page_num = reader:getLastPageOrPos() reader:goto(tonumber(page_num), true) - reader_settings:savesetting("lastfile", filename) + reader_settings:saveSetting("lastfile", filename) return reader:inputLoop() else InfoMessage:show("Error opening document.", 0) @@ -160,7 +160,7 @@ end -- save reader settings -reader_settings:savesetting("fontmap", Font.fontmap) +reader_settings:saveSetting("fontmap", Font.fontmap) reader_settings:close() -- @TODO dirty workaround, find a way to force native system poll diff --git a/settings.lua b/settings.lua index 974af3491..7a15b6be9 100644 --- a/settings.lua +++ b/settings.lua @@ -13,10 +13,14 @@ function DocSettings:readSetting(key) return self.data[key] end -function DocSettings:savesetting(key, value) +function DocSettings:saveSetting(key, value) self.data[key] = value end +function DocSettings:delSetting(key) + self.data[key] = nil +end + function dump(data) local out = {} DocSettings:_serialize(data, out, 0) diff --git a/unireader.lua b/unireader.lua index f961e1b40..81f3d76d7 100644 --- a/unireader.lua +++ b/unireader.lua @@ -917,7 +917,6 @@ function UniReader:loadSettings(filename) self.globalgamma = gamma end - --@TODO clear obselate jump_stack 18.04 2012 (houqp) local jump_history = self.settings:readSetting("jump_history") if jump_history then self.jump_history = jump_history @@ -928,6 +927,17 @@ function UniReader:loadSettings(filename) local bookmarks = self.settings:readSetting("bookmarks") self.bookmarks = bookmarks or {} + -- clear obselate jumpstack settings + -- move jump_stack to bookmarks incase users used + -- it as bookmark feature before. + local jump_stack = self.settings:readSetting("jumpstack") + if jump_stack then + if #self.bookmarks == 0 then + self.bookmarks = jump_stack + end + self.settings:delSetting("jumpstack") + end + local highlight = self.settings:readSetting("highlight") self.highlight = highlight or {} @@ -949,7 +959,7 @@ function UniReader:getLastPageOrPos() end function UniReader:saveLastPageOrPos() - self.settings:savesetting("last_page", self.pageno) + self.settings:saveSetting("last_page", self.pageno) end -- guarantee that we have enough memory in cache @@ -1762,13 +1772,13 @@ function UniReader:inputLoop() end if self.settings ~= nil then self:saveLastPageOrPos() - self.settings:savesetting("gamma", self.globalgamma) - self.settings:savesetting("jump_history", self.jump_history) - self.settings:savesetting("bookmarks", self.bookmarks) - self.settings:savesetting("bbox", self.bbox) - self.settings:savesetting("globalzoom", self.globalzoom) - self.settings:savesetting("globalzoommode", self.globalzoommode) - self.settings:savesetting("highlight", self.highlight) + self.settings:saveSetting("gamma", self.globalgamma) + self.settings:saveSetting("jump_history", self.jump_history) + self.settings:saveSetting("bookmarks", self.bookmarks) + self.settings:saveSetting("bbox", self.bbox) + self.settings:saveSetting("globalzoom", self.globalzoom) + self.settings:saveSetting("globalzoommode", self.globalzoommode) + self.settings:saveSetting("highlight", self.highlight) self:saveSpecialSettings() self.settings:close() end