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) self.ui.menu:registerToMainMenu(self)
end end
function FileManagerHistory:addToMainMenu(tab_item_table) function FileManagerHistory:addToMainMenu(menu_items)
-- insert table to main tab of filemanager menu -- insert table to main tab of filemanager menu
self.ui.menu.menu_items.history = { menu_items.history = {
text = self.hist_menu_title, text = self.hist_menu_title,
callback = function() callback = function()
self:onShowHist() self:onShowHist()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -308,9 +308,9 @@ function ReaderZooming:setZoomMode(mode)
self.ui:handleEvent(Event:new("InitScrollPageStates")) self.ui:handleEvent(Event:new("InitScrollPageStates"))
end end
function ReaderZooming:addToMainMenu(tab_item_table) function ReaderZooming:addToMainMenu(menu_items)
if self.ui.document.info.has_pages then 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"), text = _("Switch zoom mode"),
enabled_func = function() enabled_func = function()
return self.ui.document.configurable.text_wrap ~= 1 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 for k,v in pairs(item_table) do
DEBUG(k) DEBUG(k)
-- normally there should be menu text but check to be sure -- 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 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 end
table.insert(self.menu_table["KOMenu:menu_buttons"][1], v) table.insert(self.menu_table["KOMenu:menu_buttons"][1], v)
end end

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

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

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

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

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

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

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

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

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

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

Loading…
Cancel
Save