Use checked_func instead of remembering the checked item.

This commit is contained in:
Andrey Golovizin
2014-11-15 16:23:27 +01:00
parent a3e51b339d
commit 50d9041c1d
2 changed files with 6 additions and 37 deletions

View File

@@ -6,24 +6,12 @@ local _ = require("gettext")
local ReaderHyphenation = InputContainer:new{
hyph_menu_title = _("Hyphenation"),
hyph_table = nil,
cur_hyph_idx = nil,
}
function ReaderHyphenation:_changeSel(k)
if self.cur_hyph_idx then
self.hyph_table[self.cur_hyph_idx].checked = false
end
self.hyph_table[k].checked = true
self.cur_hyph_idx = k
end
function ReaderHyphenation:init()
self.hyph_table = {}
self.hyph_alg = cre.getSelectedHyphDict()
for k,v in ipairs(cre.getHyphDictList()) do
if v == self.hyph_alg then
self.cur_hyph_idx = k
end
table.insert(self.hyph_table, {
text = v,
callback = function()
@@ -31,9 +19,11 @@ function ReaderHyphenation:init()
UIManager:show(InfoMessage:new{
text = _("Change Hyphenation to ")..v,
})
self:_changeSel(k)
self.ui.document:setHyphDictionary(v)
self.ui.toc:onUpdateToc()
end,
checked_func = function()
return v == self.hyph_alg
end
})
end
@@ -46,11 +36,6 @@ function ReaderHyphenation:onReadSettings(config)
self.ui.document:setHyphDictionary(hyph_alg)
end
self.hyph_alg = cre.getSelectedHyphDict()
for k,v in ipairs(self.hyph_table) do
if v.text == self.hyph_alg then
self:_changeSel(k)
end
end
end
function ReaderHyphenation:onSaveSettings()