From 3ab79f69e93a9327cfa91786bb1b1fb8ed2bfded Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Tue, 16 Apr 2013 13:11:28 -0400 Subject: [PATCH] add simple readerhyphenation menu --- frontend/ui/reader/readerhyphenation.lua | 38 ++++++++++++++++++++++++ frontend/ui/readerui.lua | 7 +++++ 2 files changed, 45 insertions(+) create mode 100644 frontend/ui/reader/readerhyphenation.lua diff --git a/frontend/ui/reader/readerhyphenation.lua b/frontend/ui/reader/readerhyphenation.lua new file mode 100644 index 000000000..d837a98f6 --- /dev/null +++ b/frontend/ui/reader/readerhyphenation.lua @@ -0,0 +1,38 @@ + +ReaderHyphenation = InputContainer:new{ + hyph_menu_title = _("Hyphenation"), + hyph_table = nil, + cur_hyph_idx = nil, +} + +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() + self.cur_hyph_idx = k + self.hyph_alg = v + UIManager:show(InfoMessage:new{ + text = _("Change Hyphenation to ")..v, + }) + self.hyph_table[k].selected = true + self.hyph_table[self.cur_hyph_idx].selected = false + cre.setHyphDictionary(v) + end + }) + end + self.ui.menu:registerToMainMenu(self) +end + +function ReaderHyphenation:addToMainMenu(tab_item_table) + -- insert table to main reader menu + table.insert(tab_item_table.typeset, { + text = self.hyph_menu_title, + sub_item_table = self.hyph_table, + }) +end diff --git a/frontend/ui/readerui.lua b/frontend/ui/readerui.lua index 196c1fa97..05b4ee66f 100644 --- a/frontend/ui/readerui.lua +++ b/frontend/ui/readerui.lua @@ -16,6 +16,7 @@ require "ui/reader/readercopt" require "ui/reader/readerhinting" require "ui/reader/readerscreenshot" require "ui/reader/readerfrontlight" +require "ui/reader/readerhyphenation" --[[ This is an abstraction for a reader interface @@ -175,6 +176,12 @@ function ReaderUI:init() ui = self } table.insert(self, typeset) + + table.insert(self, ReaderHyphenation:new{ + dialog = self.dialog, + view = self[1], + ui = self + }) end if self.document.info.configurable then -- configurable controller