From 772a298d483cffbd5a0770757efb010ed9d24aab Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Wed, 6 Jun 2012 19:41:16 +0800 Subject: [PATCH 1/4] fix CC for luajit compilation --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 9c218500a..22666c5d6 100644 --- a/Makefile +++ b/Makefile @@ -197,7 +197,7 @@ $(LUALIB): ifdef EMULATE_READER make -C $(LUADIR) else - make -C $(LUADIR) HOST_CC="$(HOSTCC) -m32" CROSS="$(HOST)-" TARGET_FLAGS="$(SYSROOT) -DLUAJIT_NO_LOG2 -DLUAJIT_NO_EXP2" + make -C $(LUADIR) CC="$(HOSTCC)" HOST_CC="$(HOSTCC) -m32" CROSS="$(HOST)-" TARGET_FLAGS="$(SYSROOT) -DLUAJIT_NO_LOG2 -DLUAJIT_NO_EXP2" endif thirdparty: $(MUPDFLIBS) $(THIRDPARTYLIBS) $(LUALIB) $(DJVULIBS) $(CRENGINELIBS) From 8ef6eb8b73307c97a94b4cfd42e1993f096b0e6c Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Wed, 6 Jun 2012 19:52:41 +0800 Subject: [PATCH 2/4] bug fix in CREReader:prevBookMarkedPage --- crereader.lua | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/crereader.lua b/crereader.lua index 213997dc4..6fe0eebec 100644 --- a/crereader.lua +++ b/crereader.lua @@ -287,8 +287,8 @@ end function CREReader:prevBookMarkedPage() local pre_item = nil for k,v in ipairs(self.bookmarks) do - if self.pos <= self.doc:getPosFromXPointer(v) then - if self.doc:getPosFromXPointer(pre_item) < self.pos then + if self.pos <= self.doc:getPosFromXPointer(v.page) then + if self.doc:getPosFromXPointer(pre_item.page) < self.pos then return pre_item end end @@ -402,23 +402,15 @@ function CREReader:adjustCreReaderCommands() self.commands:addGroup(MOD_SHIFT.."< >",{ Keydef:new(KEY_PGBCK,MOD_SHIFT),Keydef:new(KEY_PGFWD,MOD_SHIFT), Keydef:new(KEY_LPGBCK,MOD_SHIFT),Keydef:new(KEY_LPGFWD,MOD_SHIFT)}, - "increase/decrease font size", - function(self) - local delta = 1 - local change = "increase" - if keydef.keycode == KEY_PGBCK or keydef.keycode == KEY_LPGBCK then - delta = -1 - change = "decrease" + "jump between bookmarks", + function(unireader,keydef) + is_prev_bm = (keydef.keycode == KEY_PGBCK or keydef.keycode == KEY_LPGBCK) + if is_prev_bm then + bm = self:prevBookMarkedPage() + else + bm = self:nextBookMarkedPage() end - self.font_zoom = self.font_zoom + delta - InfoMessage:show(change.." font size to "..self.font_zoom, 0) - -- NuPogodi, 15.05.12: storing old document height - self.old_doc_height = self.doc:getFullHeight() - -- end of changes (NuPogodi) - self.doc:zoomFont(delta) - self:redrawCurrentPage() - -- NuPogodi, 18.05.12: storing new height of document & refreshing TOC - self:fillToc() + if bm then self:goto(bm.page, "xpointer") end end ) self.commands:addGroup(MOD_ALT.."< >",{ From dec86586e8aa8bc298be6d73dae84908a7537661 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Wed, 6 Jun 2012 20:16:40 +0800 Subject: [PATCH 3/4] bug fix in CREReader:prevBookMarkedPage handle two more corner situations --- crereader.lua | 9 ++++++--- unireader.lua | 18 ++++++++++++------ 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/crereader.lua b/crereader.lua index 6fe0eebec..69bfc1ec5 100644 --- a/crereader.lua +++ b/crereader.lua @@ -287,14 +287,17 @@ end function CREReader:prevBookMarkedPage() local pre_item = nil for k,v in ipairs(self.bookmarks) do + Debug(v) if self.pos <= self.doc:getPosFromXPointer(v.page) then - if self.doc:getPosFromXPointer(pre_item.page) < self.pos then + if not pre_item then + break + elseif self.doc:getPosFromXPointer(pre_item.page) < self.pos then return pre_item end end pre_item = v end - return nil + return pre_item end function CREReader:showBookMarks() @@ -410,7 +413,7 @@ function CREReader:adjustCreReaderCommands() else bm = self:nextBookMarkedPage() end - if bm then self:goto(bm.page, "xpointer") end + if bm then self:goto(bm.page, nil, "xpointer") end end ) self.commands:addGroup(MOD_ALT.."< >",{ diff --git a/unireader.lua b/unireader.lua index f730ab3e4..06f106024 100644 --- a/unireader.lua +++ b/unireader.lua @@ -1750,13 +1750,15 @@ function UniReader:prevBookMarkedPage() local pre_item = nil for k,v in ipairs(self.bookmarks) do if self.pageno <= v.page then - if pre_item.page < self.pageno then + if not pre_item then + break + elseif pre_item.page < self.pageno then return pre_item end end pre_item = v end - return nil + return pre_item end function UniReader:showHighLight() @@ -1925,11 +1927,15 @@ function UniReader:addAllCommands() self.commands:addGroup(MOD_SHIFT.."< >",{ Keydef:new(KEY_PGBCK,MOD_SHIFT),Keydef:new(KEY_PGFWD,MOD_SHIFT), Keydef:new(KEY_LPGBCK,MOD_SHIFT),Keydef:new(KEY_LPGFWD,MOD_SHIFT)}, - "zoom out/in 20%", + "jump between bookmarks", function(unireader,keydef) - is_zoom_out = (keydef.keycode == KEY_PGBCK or keydef.keycode == KEY_LPGBCK) - unireader:setGlobalZoom(unireader.globalzoom_orig - + ( is_zoom_out and -1 or 1)*unireader.globalzoom_orig*0.2) + is_prev_bm = (keydef.keycode == KEY_PGBCK or keydef.keycode == KEY_LPGBCK) + if is_prev_bm then + bm = self:prevBookMarkedPage() + else + bm = self:nextBookMarkedPage() + end + if bm then self:goto(bm.page) end end) self.commands:add(KEY_BACK,nil,"Back", "go backward in jump history", From 2dfbf3177fe2d6d83e2a1cb1fe09c9525e47a217 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Wed, 6 Jun 2012 20:43:11 +0800 Subject: [PATCH 4/4] revert shift+page turn bindings previously, they are overwritten by mistakes --- crereader.lua | 25 ++++++++++++++++--------- unireader.lua | 12 ++++-------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/crereader.lua b/crereader.lua index 69bfc1ec5..56afb136e 100644 --- a/crereader.lua +++ b/crereader.lua @@ -287,7 +287,6 @@ end function CREReader:prevBookMarkedPage() local pre_item = nil for k,v in ipairs(self.bookmarks) do - Debug(v) if self.pos <= self.doc:getPosFromXPointer(v.page) then if not pre_item then break @@ -405,15 +404,23 @@ function CREReader:adjustCreReaderCommands() self.commands:addGroup(MOD_SHIFT.."< >",{ Keydef:new(KEY_PGBCK,MOD_SHIFT),Keydef:new(KEY_PGFWD,MOD_SHIFT), Keydef:new(KEY_LPGBCK,MOD_SHIFT),Keydef:new(KEY_LPGFWD,MOD_SHIFT)}, - "jump between bookmarks", - function(unireader,keydef) - is_prev_bm = (keydef.keycode == KEY_PGBCK or keydef.keycode == KEY_LPGBCK) - if is_prev_bm then - bm = self:prevBookMarkedPage() - else - bm = self:nextBookMarkedPage() + "increase/decrease font size", + function(self) + local delta = 1 + local change = "increase" + if keydef.keycode == KEY_PGBCK or keydef.keycode == KEY_LPGBCK then + delta = -1 + change = "decrease" end - if bm then self:goto(bm.page, nil, "xpointer") end + self.font_zoom = self.font_zoom + delta + InfoMessage:show(change.." font size to "..self.font_zoom, 0) + -- NuPogodi, 15.05.12: storing old document height + self.old_doc_height = self.doc:getFullHeight() + -- end of changes (NuPogodi) + self.doc:zoomFont(delta) + self:redrawCurrentPage() + -- NuPogodi, 18.05.12: storing new height of document & refreshing TOC + self:fillToc() end ) self.commands:addGroup(MOD_ALT.."< >",{ diff --git a/unireader.lua b/unireader.lua index 06f106024..b041336cd 100644 --- a/unireader.lua +++ b/unireader.lua @@ -1927,15 +1927,11 @@ function UniReader:addAllCommands() self.commands:addGroup(MOD_SHIFT.."< >",{ Keydef:new(KEY_PGBCK,MOD_SHIFT),Keydef:new(KEY_PGFWD,MOD_SHIFT), Keydef:new(KEY_LPGBCK,MOD_SHIFT),Keydef:new(KEY_LPGFWD,MOD_SHIFT)}, - "jump between bookmarks", + "zoom out/in 20%", function(unireader,keydef) - is_prev_bm = (keydef.keycode == KEY_PGBCK or keydef.keycode == KEY_LPGBCK) - if is_prev_bm then - bm = self:prevBookMarkedPage() - else - bm = self:nextBookMarkedPage() - end - if bm then self:goto(bm.page) end + is_zoom_out = (keydef.keycode == KEY_PGBCK or keydef.keycode == KEY_LPGBCK) + unireader:setGlobalZoom(unireader.globalzoom_orig + + ( is_zoom_out and -1 or 1)*unireader.globalzoom_orig*0.2) end) self.commands:add(KEY_BACK,nil,"Back", "go backward in jump history",