Dictionary: fix Fuzzy search setting appearance (#10721)

reviewable/pr10746/r1
hius07 10 months ago committed by GitHub
parent a311de6d8e
commit 47dae6c5dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -102,6 +102,7 @@ function ReaderDictionary:init()
self.disable_lookup_history = G_reader_settings:isTrue("disable_lookup_history") self.disable_lookup_history = G_reader_settings:isTrue("disable_lookup_history")
self.dicts_order = G_reader_settings:readSetting("dicts_order", {}) self.dicts_order = G_reader_settings:readSetting("dicts_order", {})
self.dicts_disabled = G_reader_settings:readSetting("dicts_disabled", {}) self.dicts_disabled = G_reader_settings:readSetting("dicts_disabled", {})
self.disable_fuzzy_search_fm = G_reader_settings:isTrue("disable_fuzzy_search")
if self.ui then if self.ui then
self.ui.menu:registerToMainMenu(self) self.ui.menu:registerToMainMenu(self)
@ -273,15 +274,29 @@ function ReaderDictionary:addToMainMenu(menu_items)
sub_item_table_func = function() return self:_genDownloadDictionariesMenu() end, sub_item_table_func = function() return self:_genDownloadDictionariesMenu() end,
}, },
{ {
text = _("Enable fuzzy search"), text_func = function()
local text = _("Enable fuzzy search")
if G_reader_settings:nilOrFalse("disable_fuzzy_search") then
text = text .. ""
end
return text
end,
checked_func = function() checked_func = function()
return self.disable_fuzzy_search ~= true if self.ui.doc_settings then
return not self.disable_fuzzy_search
end
return not self.disable_fuzzy_search_fm
end, end,
callback = function() callback = function()
self.disable_fuzzy_search = not self.disable_fuzzy_search if self.ui.doc_settings then
self.disable_fuzzy_search = not self.disable_fuzzy_search
self.ui.doc_settings:saveSetting("disable_fuzzy_search", self.disable_fuzzy_search)
else
self.disable_fuzzy_search_fm = not self.disable_fuzzy_search_fm
end
end, end,
hold_callback = function() hold_callback = function(touchmenu_instance)
self:toggleFuzzyDefault() self:toggleFuzzyDefault(touchmenu_instance)
end, end,
separator = true, separator = true,
}, },
@ -416,10 +431,16 @@ function ReaderDictionary:onLookupWord(word, is_sane, boxes, highlight, link, tw
logger.dbg("dict stripped word:", word) logger.dbg("dict stripped word:", word)
self.highlight = highlight self.highlight = highlight
local disable_fuzzy_search
if self.ui.doc_settings then
disable_fuzzy_search = self.disable_fuzzy_search
else
disable_fuzzy_search = self.disable_fuzzy_search_fm
end
-- Wrapped through Trapper, as we may be using Trapper:dismissablePopen() in it -- Wrapped through Trapper, as we may be using Trapper:dismissablePopen() in it
Trapper:wrap(function() Trapper:wrap(function()
self:stardictLookup(word, self.enabled_dict_names, not self.disable_fuzzy_search, boxes, link, tweak_buttons_func) self:stardictLookup(word, self.enabled_dict_names, not disable_fuzzy_search, boxes, link, tweak_buttons_func)
end) end)
return true return true
end end
@ -1199,7 +1220,6 @@ end
function ReaderDictionary:onSaveSettings() function ReaderDictionary:onSaveSettings()
if self.ui.doc_settings then if self.ui.doc_settings then
self.ui.doc_settings:saveSetting("preferred_dictionaries", self.preferred_dictionaries) self.ui.doc_settings:saveSetting("preferred_dictionaries", self.preferred_dictionaries)
self.ui.doc_settings:saveSetting("disable_fuzzy_search", self.disable_fuzzy_search)
end end
end end
@ -1228,7 +1248,7 @@ function ReaderDictionary:onTogglePreferredDict(dict)
return true return true
end end
function ReaderDictionary:toggleFuzzyDefault() function ReaderDictionary:toggleFuzzyDefault(touchmenu_instance)
local disable_fuzzy_search = G_reader_settings:isTrue("disable_fuzzy_search") local disable_fuzzy_search = G_reader_settings:isTrue("disable_fuzzy_search")
UIManager:show(MultiConfirmBox:new{ UIManager:show(MultiConfirmBox:new{
text = T( text = T(
@ -1251,12 +1271,14 @@ The current default (★) is enabled.]])
end, end,
choice1_callback = function() choice1_callback = function()
G_reader_settings:makeTrue("disable_fuzzy_search") G_reader_settings:makeTrue("disable_fuzzy_search")
touchmenu_instance:updateItems()
end, end,
choice2_text_func = function() choice2_text_func = function()
return disable_fuzzy_search and _("Enable") or _("Enable (★)") return disable_fuzzy_search and _("Enable") or _("Enable (★)")
end, end,
choice2_callback = function() choice2_callback = function()
G_reader_settings:makeFalse("disable_fuzzy_search") G_reader_settings:makeFalse("disable_fuzzy_search")
touchmenu_instance:updateItems()
end, end,
}) })
end end

Loading…
Cancel
Save