diff --git a/frontend/apps/filemanager/filemanager.lua b/frontend/apps/filemanager/filemanager.lua index 7a1bcc162..f3cb6f63f 100644 --- a/frontend/apps/filemanager/filemanager.lua +++ b/frontend/apps/filemanager/filemanager.lua @@ -19,6 +19,7 @@ local KeyValuePage = require("ui/widget/keyvaluepage") local PluginLoader = require("pluginloader") local ReaderDictionary = require("apps/reader/modules/readerdictionary") local ReaderUI = require("apps/reader/readerui") +local ReaderWikipedia = require("apps/reader/modules/readerwikipedia") local Screenshoter = require("ui/widget/screenshoter") local TextWidget = require("ui/widget/textwidget") local VerticalGroup = require("ui/widget/verticalgroup") @@ -322,6 +323,7 @@ function FileManager:init() ui = self, }) table.insert(self, ReaderDictionary:new{ ui = self }) + table.insert(self, ReaderWikipedia:new{ ui = self }) self.loaded_modules = {} -- koreader plugins diff --git a/frontend/apps/reader/modules/readerdictionary.lua b/frontend/apps/reader/modules/readerdictionary.lua index 4d1577d90..71b463d5d 100644 --- a/frontend/apps/reader/modules/readerdictionary.lua +++ b/frontend/apps/reader/modules/readerdictionary.lua @@ -220,8 +220,10 @@ function ReaderDictionary:showDict(word, results, box) is_wiki = self.is_wiki, wiki_languages = self.wiki_languages, refresh_callback = function() - -- update info in footer (time, battery, etc) - self.view.footer:updateFooter() + if self.view then + -- update info in footer (time, battery, etc) + self.view.footer:updateFooter() + end end, } table.insert(self.dict_window_list, self.dict_window) diff --git a/frontend/apps/reader/modules/readerwikipedia.lua b/frontend/apps/reader/modules/readerwikipedia.lua index 08dfed6c6..d8071c223 100644 --- a/frontend/apps/reader/modules/readerwikipedia.lua +++ b/frontend/apps/reader/modules/readerwikipedia.lua @@ -2,8 +2,8 @@ local InputDialog = require("ui/widget/inputdialog") local NetworkMgr = require("ui/network/manager") local ReaderDictionary = require("apps/reader/modules/readerdictionary") local Translator = require("ui/translator") -local Wikipedia = require("ui/wikipedia") local UIManager = require("ui/uimanager") +local Wikipedia = require("ui/wikipedia") local logger = require("logger") local _ = require("gettext") local T = require("ffi/util").template @@ -86,7 +86,9 @@ function ReaderWikipedia:initLanguages(word) end end -- use book and UI languages - addLanguage(self.view.document:getProps().language) + if self.view then + addLanguage(self.view.document:getProps().language) + end addLanguage(G_reader_settings:readSetting("language")) if #self.wiki_languages == 0 and word then -- if no language at all, do a translation of selected word diff --git a/frontend/ui/elements/filemanager_menu_order.lua b/frontend/ui/elements/filemanager_menu_order.lua index 80bbf95e2..0d393413e 100644 --- a/frontend/ui/elements/filemanager_menu_order.lua +++ b/frontend/ui/elements/filemanager_menu_order.lua @@ -45,6 +45,8 @@ local order = { }, search = { "dictionary_lookup", + "wikipedia_lookup", + "----------------------------", "find_book_in_calibre_catalog", "find_file", "----------------------------", diff --git a/frontend/ui/widget/dictquicklookup.lua b/frontend/ui/widget/dictquicklookup.lua index 300126b9d..e53d60047 100644 --- a/frontend/ui/widget/dictquicklookup.lua +++ b/frontend/ui/widget/dictquicklookup.lua @@ -632,6 +632,9 @@ function DictQuickLookup:onSwipe(arg, ges) if self.refresh_callback then self.refresh_callback() end -- trigger full refresh UIManager:setDirty(nil, "full") + -- a long diagonal swipe may also be used for taking a screenshot, + -- so let it propagate + return false end return true end