MenuSorter: fix outside testability (for potential unit tests)

pull/2677/head
Frans de Jonge 7 years ago
parent 653ff64438
commit a970a1f034

@ -19,9 +19,9 @@ function FileManagerHistory:init()
self.ui.menu:registerToMainMenu(self)
end
function FileManagerHistory:addToMainMenu(tab_item_table)
function FileManagerHistory:addToMainMenu(menu_items)
-- insert table to main tab of filemanager menu
self.ui.menu.menu_items.history = {
menu_items.history = {
text = self.hist_menu_title,
callback = function()
self:onShowHist()

@ -43,9 +43,9 @@ function ReaderBookmark:init()
self.ui.menu:registerToMainMenu(self)
end
function ReaderBookmark:addToMainMenu(tab_item_table)
function ReaderBookmark:addToMainMenu(menu_items)
-- insert table to main reader menu
self.ui.menu.menu_items.bookmarks = {
menu_items.bookmarks = {
text = self.bm_menu_title,
callback = function()
self:onShowBookmark()

@ -23,8 +23,8 @@ function ReaderDictionary:init()
DataStorage:getDataDir() .. "/data/dict"
end
function ReaderDictionary:addToMainMenu(tab_item_table)
self.ui.menu.menu_items.dictionary_lookup = {
function ReaderDictionary:addToMainMenu(menu_items)
menu_items.dictionary_lookup = {
text = _("Dictionary lookup"),
tap_input = {
title = _("Enter a word to look up"),

@ -223,9 +223,9 @@ function ReaderFont:makeDefault(face)
end
end
function ReaderFont:addToMainMenu(tab_item_table)
function ReaderFont:addToMainMenu(menu_items)
-- insert table to main reader menu
self.ui.menu.menu_items.change_font = {
menu_items.change_font = {
text = self.font_menu_title,
sub_item_table = self.face_table,
}

@ -14,15 +14,15 @@ function ReaderGoto:init()
self.ui.menu:registerToMainMenu(self)
end
function ReaderGoto:addToMainMenu(tab_item_table)
function ReaderGoto:addToMainMenu(menu_items)
-- insert goto command to main reader menu
self.ui.menu.menu_items.go_to = {
menu_items.go_to = {
text = self.goto_menu_title,
callback = function()
self:onShowGotoDialog()
end,
}
self.ui.menu.menu_items.skim_to = {
menu_items.skim_to = {
text = self.skim_menu_title,
callback = function()
self:onShowSkimtoDialog()

@ -64,9 +64,9 @@ function ReaderHighlight:onReaderReady()
self:setupTouchZones()
end
function ReaderHighlight:addToMainMenu(tab_item_table)
function ReaderHighlight:addToMainMenu(menu_items)
-- insert table to main reader menu
self.ui.menu.menu_items.highlight_options = {
menu_items.highlight_options = {
text = _("Highlight options"),
sub_item_table = self:genHighlightDrawerMenu(),
}

@ -117,9 +117,9 @@ function ReaderHyphenation:onSaveSettings()
self.ui.doc_settings:saveSetting("hyph_alg", self.hyph_alg)
end
function ReaderHyphenation:addToMainMenu(tab_item_table)
function ReaderHyphenation:addToMainMenu(menu_items)
-- insert table to main reader menu
self.ui.menu.menu_items.hyphenation = {
menu_items.hyphenation = {
text = self.hyph_menu_title,
sub_item_table = self.hyph_table,
}

@ -67,9 +67,9 @@ local function isSwipeToFollowFirstLinkEnabled()
return G_reader_settings:readSetting("swipe_to_follow_first_link") == true
end
function ReaderLink:addToMainMenu(tab_item_table)
function ReaderLink:addToMainMenu(menu_items)
-- insert table to main reader menu
self.ui.menu.menu_items.follow_links = {
menu_items.follow_links = {
text = _("Follow links"),
sub_item_table = {
{

@ -181,7 +181,7 @@ function ReaderPaging:getLastPercent()
end
end
function ReaderPaging:addToMainMenu(tab_item_table)
function ReaderPaging:addToMainMenu(menu_items)
-- FIXME: repeated code with page overlap menu for readerrolling
-- needs to keep only one copy of the logic as for the DRY principle.
-- The difference between the two menus is only the enabled func.
@ -201,7 +201,7 @@ function ReaderPaging:addToMainMenu(tab_item_table)
for _, menu_entry in ipairs(self.view:genOverlapStyleMenu()) do
table.insert(page_overlap_menu, menu_entry)
end
self.ui.menu.menu_items.page_overlap = {
menu_items.page_overlap = {
text = _("Page overlap"),
enabled_func = function()
return not self.view.page_scroll and self.zoom_mode ~= "page"
@ -209,7 +209,7 @@ function ReaderPaging:addToMainMenu(tab_item_table)
end,
sub_item_table = page_overlap_menu,
}
self.ui.menu.menu_items.read_from_right_to_left = {
menu_items.read_from_right_to_left = {
text = _("Read from right to left"),
checked_func = function() return self.inverse_reading_order end,
callback = function()

@ -238,7 +238,7 @@ function ReaderRolling:getLastProgress()
return self.xpointer
end
function ReaderRolling:addToMainMenu(tab_item_table)
function ReaderRolling:addToMainMenu(menu_items)
-- FIXME: repeated code with page overlap menu for readerpaging
-- needs to keep only one copy of the logic as for the DRY principle.
-- The difference between the two menus is only the enabled func.
@ -258,7 +258,7 @@ function ReaderRolling:addToMainMenu(tab_item_table)
for _, menu_entry in ipairs(self.view:genOverlapStyleMenu()) do
table.insert(page_overlap_menu, menu_entry)
end
self.ui.menu.menu_items.page_overlap = {
menu_items.page_overlap = {
text = _("Page overlap"),
enabled_func = function() return self.view.view_mode ~= "page" end,
sub_item_table = page_overlap_menu,

@ -13,8 +13,8 @@ function ReaderSearch:init()
self.ui.menu:registerToMainMenu(self)
end
function ReaderSearch:addToMainMenu(tab_item_table)
self.ui.menu.menu_items.fulltext_search = {
function ReaderSearch:addToMainMenu(menu_items)
menu_items.fulltext_search = {
text = _("Fulltext search"),
tap_input = {
title = _("Input text to search for"),

@ -32,8 +32,8 @@ function ReaderStatus:init()
end
end
function ReaderStatus:addToMainMenu(tab_item_table)
self.ui.menu.menu_items.book_status = {
function ReaderStatus:addToMainMenu(menu_items)
menu_items.book_status = {
text = _("Book status"),
callback = function()
self:showStatus()

@ -434,9 +434,9 @@ function ReaderToc:collapseToc(index)
self.toc_menu:switchItemTable(nil, self.collapsed_toc, -1)
end
function ReaderToc:addToMainMenu(tab_item_table)
function ReaderToc:addToMainMenu(menu_items)
-- insert table to main reader menu
self.ui.menu.menu_items.table_of_contents = {
menu_items.table_of_contents = {
text = self.toc_menu_title,
callback = function()
self:onShowToc()

@ -140,13 +140,13 @@ function ReaderTypeset:toggleFloatingPunctuation(toggle)
self.ui:handleEvent(Event:new("UpdatePos"))
end
function ReaderTypeset:addToMainMenu(tab_item_table)
function ReaderTypeset:addToMainMenu(menu_items)
-- insert table to main reader menu
self.ui.menu.menu_items.set_render_style = {
menu_items.set_render_style = {
text = self.css_menu_title,
sub_item_table = self:genStyleSheetMenu(),
}
self.ui.menu.menu_items.floating_punctuation = {
menu_items.floating_punctuation = {
text = _("Floating punctuation"),
checked_func = function() return self.floating_punctuation == 1 end,
callback = function()

@ -48,8 +48,8 @@ function ReaderWikipedia:lookupInput()
UIManager:show(self.input_dialog)
end
function ReaderWikipedia:addToMainMenu(tab_item_table)
self.ui.menu.menu_items.wikipedia_lookup = {
function ReaderWikipedia:addToMainMenu(menu_items)
menu_items.wikipedia_lookup = {
text = _("Wikipedia lookup"),
callback = function()
if NetworkMgr:isOnline() then

@ -308,9 +308,9 @@ function ReaderZooming:setZoomMode(mode)
self.ui:handleEvent(Event:new("InitScrollPageStates"))
end
function ReaderZooming:addToMainMenu(tab_item_table)
function ReaderZooming:addToMainMenu(menu_items)
if self.ui.document.info.has_pages then
self.ui.menu.menu_items.switch_zoom_mode = {
menu_items.switch_zoom_mode = {
text = _("Switch zoom mode"),
enabled_func = function()
return self.ui.document.configurable.text_wrap ~= 1

@ -170,8 +170,10 @@ function MenuSorter:magic(item_table, order)
for k,v in pairs(item_table) do
DEBUG(k)
-- normally there should be menu text but check to be sure
if v.text then
if v.text and v.new ~= true then
v.text = _("NEW: ") .. v.text
-- prevent text being prepended to item on menu reload, i.e., on switching between reader and filemanager
v.new = true
end
table.insert(self.menu_table["KOMenu:menu_buttons"][1], v)
end

@ -79,8 +79,8 @@ function CalibreCompanion:find_calibre_server()
end
end
function CalibreCompanion:addToMainMenu(tab_item_table)
self.ui.menu.menu_items.calibre_wireless_connection = {
function CalibreCompanion:addToMainMenu(menu_items)
menu_items.calibre_wireless_connection = {
text = _("Calibre wireless connection"),
sub_item_table = {
{

@ -70,8 +70,8 @@ function EvernoteExporter:migrateClippings()
end
end
function EvernoteExporter:addToMainMenu(tab_item_table)
self.ui.menu.menu_items.evernote = {
function EvernoteExporter:addToMainMenu(menu_items)
menu_items.evernote = {
text = _("Evernote"),
sub_item_table = {
{

@ -22,8 +22,8 @@ function Goodreads:init()
self.ui.menu:registerToMainMenu(self)
end
function Goodreads:addToMainMenu(tab_item_table)
self.ui.menu.menu_items.goodreads = {
function Goodreads:addToMainMenu(menu_items)
menu_items.goodreads = {
text = _("Goodreads"),
sub_item_table = {
{

@ -67,8 +67,8 @@ function KeepAlive:init()
self.ui.menu:registerToMainMenu(self)
end
function KeepAlive:addToMainMenu(tab_item_table)
self.ui.menu.menu_items.keep_alive = menuItem
function KeepAlive:addToMainMenu(menu_items)
menu_items.keep_alive = menuItem
end
return KeepAlive

@ -85,8 +85,8 @@ function KOSync:onReaderReady()
self.view.document:fastDigest()
end
function KOSync:addToMainMenu(tab_item_table)
self.ui.menu.menu_items.progress_sync = {
function KOSync:addToMainMenu(menu_items)
menu_items.progress_sync = {
text = _("Progress sync"),
sub_item_table = {
{

@ -157,8 +157,8 @@ function PerceptionExpander:showSettingsDialog()
UIManager:show(self.settings_dialog)
end
function PerceptionExpander:addToMainMenu(tab_item_table)
self.ui.menu.menu_items.speed_reading_module_perception_expander = {
function PerceptionExpander:addToMainMenu(menu_items)
menu_items.speed_reading_module_perception_expander = {
text = _("Speed reading module - perception expander"),
sub_item_table ={
{

@ -191,8 +191,8 @@ function ReaderStatistics:updateSettings()
UIManager:show(self.settings_dialog)
end
function ReaderStatistics:addToMainMenu(tab_item_table)
self.ui.menu.menu_items.statistics = {
function ReaderStatistics:addToMainMenu(menu_items)
menu_items.statistics = {
text = _("Statistics"),
sub_item_table = {
self:getStatisticEnabledMenuItem(),

@ -49,8 +49,8 @@ function StorageStat:init()
self.ui.menu:registerToMainMenu(self)
end
function StorageStat:addToMainMenu(tab_item_table)
self.ui.menu.menu_items.storagestat = self.menuItem
function StorageStat:addToMainMenu(menu_items)
menu_items.storagestat = self.menuItem
end
return StorageStat

@ -70,8 +70,8 @@ function TimeSync:init()
self.ui.menu:registerToMainMenu(self)
end
function TimeSync:addToMainMenu(tab_item_table)
self.ui.menu.menu_items.synchronize_time = menuItem
function TimeSync:addToMainMenu(menu_items)
menu_items.synchronize_time = menuItem
end
return TimeSync

@ -24,8 +24,8 @@ function ZSync:init()
self.client_config = self.path.."/client.cfg"
end
function ZSync:addToMainMenu(tab_item_table)
self.ui.menu.menu_items.zsync = {
function ZSync:addToMainMenu(menu_items)
menu_items.zsync = {
text = _("ZSync"),
sub_item_table = {
{

Loading…
Cancel
Save