From ba7fad2cdf965884706b18b1ed91d09e790fbaf4 Mon Sep 17 00:00:00 2001 From: Frans de Jonge Date: Tue, 5 Sep 2017 07:56:05 +0200 Subject: [PATCH] [fix] Dict settings NaN in installed dicts submenu (#3173) --- .../apps/reader/modules/readerdictionary.lua | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/frontend/apps/reader/modules/readerdictionary.lua b/frontend/apps/reader/modules/readerdictionary.lua index b16e73670..31e214fa1 100644 --- a/frontend/apps/reader/modules/readerdictionary.lua +++ b/frontend/apps/reader/modules/readerdictionary.lua @@ -145,20 +145,17 @@ function ReaderDictionary:addToMainMenu(menu_items) text = _("Dictionary settings"), sub_item_table = { { - -- text = _("Installed dictionaries"), text_func = function() - local nb_available = #available_ifos - local nb_disabled = 0 - for _ in pairs(G_reader_settings:readSetting("dicts_disabled")) do - nb_disabled = nb_disabled + 1 - end + local nb_available, nb_enabled, nb_disabled = self:getNumberOfDictionaries() local nb_str = nb_available if nb_disabled > 0 then - local nb_enabled = nb_available - nb_disabled nb_str = nb_enabled .. "/" .. nb_available end return T(_("Installed dictionaries (%1)"), nb_str) end, + enabled_func = function() + return self:getNumberOfDictionaries() > 0 + end, sub_item_table = self:genDictionariesMenu(), }, { @@ -203,6 +200,20 @@ function ReaderDictionary:onLookupWord(word, box, highlight) return true end +--- Gets number of available, enabled, and disabled dictionaries +-- @treturn int nb_available +-- @treturn int nb_enabled +-- @treturn int nb_disabled +function ReaderDictionary:getNumberOfDictionaries() + local nb_available = #available_ifos + local nb_disabled = 0 + for _ in pairs(G_reader_settings:readSetting("dicts_disabled")) do + nb_disabled = nb_disabled + 1 + end + local nb_enabled = nb_available - nb_disabled + return nb_available, nb_enabled, nb_disabled +end + function ReaderDictionary:genDictionariesMenu() local items = {} for _, ifo in pairs(available_ifos) do