From 492a36a7da37962fb5ec1140c2749dfd97a10637 Mon Sep 17 00:00:00 2001 From: chrox Date: Sun, 17 Aug 2014 20:29:38 +0800 Subject: [PATCH] add follow links option in navigation tab of reader menu If "Follow links" options is not checked links won't be followed. The "Follow links" option is checked by default. This option affect both PDF and EPUB documents. --- frontend/apps/reader/modules/readerlink.lua | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/frontend/apps/reader/modules/readerlink.lua b/frontend/apps/reader/modules/readerlink.lua index 39f8a18a3..a586334f0 100644 --- a/frontend/apps/reader/modules/readerlink.lua +++ b/frontend/apps/reader/modules/readerlink.lua @@ -7,6 +7,7 @@ local Screen = require("ui/screen") local Device = require("ui/device") local Event = require("ui/event") local DEBUG = require("dbg") +local _ = require("gettext") local ReaderLink = InputContainer:new{ link_states = {} @@ -16,6 +17,7 @@ function ReaderLink:init() if Device:isTouchDevice() then self:initGesListener() end + self.ui.menu:registerToMainMenu(self) end function ReaderLink:onReadSettings(config) @@ -50,6 +52,21 @@ function ReaderLink:initGesListener() end end +function ReaderLink:addToMainMenu(tab_item_table) + -- insert table to main reader menu + table.insert(tab_item_table.navi, { + text = _("Follow links"), + checked_func = function() + return G_reader_settings:readSetting("follow_links") ~= false + end, + callback = function() + local follow_links = G_reader_settings:readSetting("follow_links") + if follow_links == nil then follow_links = true end + G_reader_settings:saveSetting("follow_links", not follow_links) + end + }) +end + function ReaderLink:onSetDimensions(dimen) -- update listening according to new screen dimen if Device:isTouchDevice() then @@ -58,6 +75,7 @@ function ReaderLink:onSetDimensions(dimen) end function ReaderLink:onTap(arg, ges) + if G_reader_settings:readSetting("follow_links") == false then return end if self.ui.document.info.has_pages then local pos = self.view:screenToPageTransform(ges.pos) if pos then