add font size menu entry

It changes screen DPI and may needs to reboot the reader to take effect.
This should fix #746.
pull/748/head
chrox 10 years ago
parent 49ee4f4e4a
commit 87e667748a

@ -67,8 +67,8 @@ function FileManagerHistory:onShowHist()
end end
function FileManagerHistory:addToMainMenu(tab_item_table) function FileManagerHistory:addToMainMenu(tab_item_table)
-- insert table to main reader menu -- insert table to info tab of filemanager menu
table.insert(tab_item_table.main, { table.insert(tab_item_table.info, {
text = self.hist_menu_title, text = self.hist_menu_title,
callback = function() callback = function()
self:onShowHist() self:onShowHist()

@ -18,7 +18,10 @@ local FileManagerMenu = InputContainer:extend{
function FileManagerMenu:init() function FileManagerMenu:init()
self.tab_item_table = { self.tab_item_table = {
main = { setting = {
icon = "resources/icons/appbar.settings.png",
},
info = {
icon = "resources/icons/appbar.pokeball.png", icon = "resources/icons/appbar.pokeball.png",
}, },
home = { home = {
@ -59,7 +62,8 @@ function FileManagerMenu:setUpdateItemTable()
widget:addToMainMenu(self.tab_item_table) widget:addToMainMenu(self.tab_item_table)
end end
table.insert(self.tab_item_table.main, { -- setting tab
table.insert(self.tab_item_table.setting, {
text = _("Show hidden files"), text = _("Show hidden files"),
checked_func = function() return self.ui.file_chooser.show_hidden end, checked_func = function() return self.ui.file_chooser.show_hidden end,
callback = function() callback = function()
@ -67,7 +71,7 @@ function FileManagerMenu:setUpdateItemTable()
end end
}) })
table.insert(self.tab_item_table.main, { table.insert(self.tab_item_table.setting, {
text = _("Start with last opened file"), text = _("Start with last opened file"),
checked_func = function() return G_reader_settings:readSetting("open_last") end, checked_func = function() return G_reader_settings:readSetting("open_last") end,
enabled_func = function() return G_reader_settings:readSetting("lastfile") ~= nil end, enabled_func = function() return G_reader_settings:readSetting("lastfile") ~= nil end,
@ -81,7 +85,7 @@ function FileManagerMenu:setUpdateItemTable()
ReaderFrontLight:addToMainMenu(self.tab_item_table) ReaderFrontLight:addToMainMenu(self.tab_item_table)
end end
table.insert(self.tab_item_table.main, { table.insert(self.tab_item_table.setting, {
text = _("Night mode"), text = _("Night mode"),
checked_func = function() return G_reader_settings:readSetting("night_mode") end, checked_func = function() return G_reader_settings:readSetting("night_mode") end,
callback = function() callback = function()
@ -90,8 +94,49 @@ function FileManagerMenu:setUpdateItemTable()
G_reader_settings:saveSetting("night_mode", not night_mode) G_reader_settings:saveSetting("night_mode", not night_mode)
end end
}) })
table.insert(self.tab_item_table.main, Language:getLangMenuTable())
table.insert(self.tab_item_table.main, { -- TODO: refactor out redundant code between reader menu and filemanager menu
table.insert(self.tab_item_table.setting, {
text = _("Font size"),
sub_item_table = {
{
text = _("Auto"),
checked_func = function()
local dpi = G_reader_settings:readSetting("screen_dpi")
return dpi == nil
end,
callback = function() Screen:setDPI() end
},
{
text = _("Small"),
checked_func = function()
local dpi = G_reader_settings:readSetting("screen_dpi")
return dpi and dpi <= 140
end,
callback = function() Screen:setDPI(120) end
},
{
text = _("Medium"),
checked_func = function()
local dpi = G_reader_settings:readSetting("screen_dpi")
return dpi and dpi > 140 and dpi <= 200
end,
callback = function() Screen:setDPI(160) end
},
{
text = _("Large"),
checked_func = function()
local dpi = G_reader_settings:readSetting("screen_dpi")
return dpi and dpi > 200
end,
callback = function() Screen:setDPI(240) end
},
}
})
table.insert(self.tab_item_table.setting, Language:getLangMenuTable())
-- info tab
table.insert(self.tab_item_table.info, {
text = _("Version"), text = _("Version"),
callback = function() callback = function()
UIManager:show(InfoMessage:new{ UIManager:show(InfoMessage:new{
@ -99,7 +144,7 @@ function FileManagerMenu:setUpdateItemTable()
}) })
end end
}) })
table.insert(self.tab_item_table.main, { table.insert(self.tab_item_table.info, {
text = _("Help"), text = _("Help"),
callback = function() callback = function()
UIManager:show(InfoMessage:new{ UIManager:show(InfoMessage:new{
@ -110,7 +155,7 @@ function FileManagerMenu:setUpdateItemTable()
end end
function FileManagerMenu:onShowMenu() function FileManagerMenu:onShowMenu()
if #self.tab_item_table.main == 0 then if #self.tab_item_table.setting == 0 then
self:setUpdateItemTable() self:setUpdateItemTable()
end end
@ -124,7 +169,8 @@ function FileManagerMenu:onShowMenu()
main_menu = TouchMenu:new{ main_menu = TouchMenu:new{
width = Screen:getWidth(), width = Screen:getWidth(),
tab_item_table = { tab_item_table = {
self.tab_item_table.main, self.tab_item_table.setting,
self.tab_item_table.info,
self.tab_item_table.home, self.tab_item_table.home,
}, },
show_parent = menu_container, show_parent = menu_container,

@ -80,8 +80,8 @@ function ReaderFrontLight:onPanRelease(arg, ges)
end end
function ReaderFrontLight:addToMainMenu(tab_item_table) function ReaderFrontLight:addToMainMenu(tab_item_table)
-- insert fldial command to main reader menu -- insert fldial command to setting tab of reader menu
table.insert(tab_item_table.main, { table.insert(tab_item_table.setting, {
text = _("Frontlight settings"), text = _("Frontlight settings"),
callback = function() callback = function()
self:onShowFlDialog() self:onShowFlDialog()

@ -21,12 +21,15 @@ local ReaderMenu = InputContainer:new{
function ReaderMenu:init() function ReaderMenu:init()
self.tab_item_table = { self.tab_item_table = {
main = { setting = {
icon = "resources/icons/appbar.pokeball.png", icon = "resources/icons/appbar.settings.png",
}, },
navi = { navi = {
icon = "resources/icons/appbar.page.corner.bookmark.png", icon = "resources/icons/appbar.page.corner.bookmark.png",
}, },
info = {
icon = "resources/icons/appbar.pokeball.png",
},
typeset = { typeset = {
icon = "resources/icons/appbar.page.text.png", icon = "resources/icons/appbar.page.text.png",
}, },
@ -74,7 +77,8 @@ function ReaderMenu:setUpdateItemTable()
widget:addToMainMenu(self.tab_item_table) widget:addToMainMenu(self.tab_item_table)
end end
table.insert(self.tab_item_table.main, { -- setting tab
table.insert(self.tab_item_table.setting, {
text = _("Night mode"), text = _("Night mode"),
checked_func = function() return G_reader_settings:readSetting("night_mode") end, checked_func = function() return G_reader_settings:readSetting("night_mode") end,
callback = function() callback = function()
@ -83,8 +87,45 @@ function ReaderMenu:setUpdateItemTable()
G_reader_settings:saveSetting("night_mode", not night_mode) G_reader_settings:saveSetting("night_mode", not night_mode)
end end
}) })
table.insert(self.tab_item_table.main, self:genRefreshRateMenu()) table.insert(self.tab_item_table.setting, {
table.insert(self.tab_item_table.main, { text = _("Font size"),
sub_item_table = {
{
text = _("Auto"),
checked_func = function()
local dpi = G_reader_settings:readSetting("screen_dpi")
return dpi == nil
end,
callback = function() Screen:setDPI() end
},
{
text = _("Small"),
checked_func = function()
local dpi = G_reader_settings:readSetting("screen_dpi")
return dpi and dpi <= 140
end,
callback = function() Screen:setDPI(120) end
},
{
text = _("Medium"),
checked_func = function()
local dpi = G_reader_settings:readSetting("screen_dpi")
return dpi and dpi > 140 and dpi <= 200
end,
callback = function() Screen:setDPI(160) end
},
{
text = _("Large"),
checked_func = function()
local dpi = G_reader_settings:readSetting("screen_dpi")
return dpi and dpi > 200
end,
callback = function() Screen:setDPI(240) end
},
}
})
table.insert(self.tab_item_table.setting, self:genRefreshRateMenu())
table.insert(self.tab_item_table.setting, {
text = _("Show advanced options"), text = _("Show advanced options"),
checked_func = function() return G_reader_settings:readSetting("show_advanced") end, checked_func = function() return G_reader_settings:readSetting("show_advanced") end,
callback = function() callback = function()
@ -92,8 +133,10 @@ function ReaderMenu:setUpdateItemTable()
G_reader_settings:saveSetting("show_advanced", not show_advanced) G_reader_settings:saveSetting("show_advanced", not show_advanced)
end end
}) })
table.insert(self.tab_item_table.main, Language:getLangMenuTable()) table.insert(self.tab_item_table.setting, Language:getLangMenuTable())
table.insert(self.tab_item_table.main, {
-- info tab
table.insert(self.tab_item_table.info, {
text = _("Version"), text = _("Version"),
callback = function() callback = function()
UIManager:show(InfoMessage:new{ UIManager:show(InfoMessage:new{
@ -101,7 +144,7 @@ function ReaderMenu:setUpdateItemTable()
}) })
end end
}) })
table.insert(self.tab_item_table.main, { table.insert(self.tab_item_table.info, {
text = _("Help"), text = _("Help"),
callback = function() callback = function()
UIManager:show(InfoMessage:new{ UIManager:show(InfoMessage:new{
@ -194,7 +237,7 @@ function ReaderMenu:closeMakeCustomDialog()
end end
function ReaderMenu:onShowReaderMenu() function ReaderMenu:onShowReaderMenu()
if #self.tab_item_table.main == 0 then if #self.tab_item_table.setting == 0 then
self:setUpdateItemTable() self:setUpdateItemTable()
end end
@ -210,7 +253,8 @@ function ReaderMenu:onShowReaderMenu()
tab_item_table = { tab_item_table = {
self.tab_item_table.navi, self.tab_item_table.navi,
self.tab_item_table.typeset, self.tab_item_table.typeset,
self.tab_item_table.main, self.tab_item_table.setting,
self.tab_item_table.info,
self.tab_item_table.plugins, self.tab_item_table.plugins,
self.tab_item_table.home, self.tab_item_table.home,
}, },

@ -137,6 +137,7 @@ function Screen:getHeightPhoenix()
end end
function Screen:getDPI() function Screen:getDPI()
self.dpi = G_reader_settings:readSetting("screen_dpi")
if self.dpi ~= nil then return self.dpi end if self.dpi ~= nil then return self.dpi end
local model = self.device:getModel() local model = self.device:getModel()
if model == "KindlePaperWhite" or model == "KindlePaperWhite2" if model == "KindlePaperWhite" or model == "KindlePaperWhite2"
@ -153,11 +154,16 @@ function Screen:getDPI()
local ffi = require("ffi") local ffi = require("ffi")
self.dpi = ffi.C.AConfiguration_getDensity(android.app.config) self.dpi = ffi.C.AConfiguration_getDensity(android.app.config)
else else
self.dpi = 167 self.dpi = 160
end end
return self.dpi return self.dpi
end end
function Screen:setDPI(dpi)
G_reader_settings:saveSetting("screen_dpi", dpi)
self.dpi = dpi
end
function Screen:scaleByDPI(px) function Screen:scaleByDPI(px)
return math.floor(px * self:getDPI()/167) return math.floor(px * self:getDPI()/167)
end end

@ -237,7 +237,7 @@ local TouchMenu = InputContainer:new{
item_height = Screen:scaleByDPI(50), item_height = Screen:scaleByDPI(50),
bordersize = Screen:scaleByDPI(2), bordersize = Screen:scaleByDPI(2),
padding = Screen:scaleByDPI(5), padding = Screen:scaleByDPI(5),
footer_height = Screen:scaleByDPI(50), footer_height = 48 + Screen:scaleByDPI(5),
fface = Font:getFace("ffont", 20), fface = Font:getFace("ffont", 20),
width = nil, width = nil,
height = nil, height = nil,

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: https://github.com/koreader/koreader-base/issues\n" "Report-Msgid-Bugs-To: https://github.com/koreader/koreader-base/issues\n"
"POT-Creation-Date: 2014-07-26 14:24+0000\n" "POT-Creation-Date: 2014-07-27 13:41+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -17,9 +17,9 @@ msgid ""
" others." " others."
msgstr "" msgstr ""
#: frontend/apps/reader/modules/readermenu.lua:132 #: frontend/apps/reader/modules/readermenu.lua:175
#: frontend/apps/reader/modules/readermenu.lua:138 #: frontend/apps/reader/modules/readermenu.lua:181
#: frontend/apps/reader/modules/readermenu.lua:144 #: frontend/apps/reader/modules/readermenu.lua:187
msgid "" msgid ""
" pages" " pages"
msgstr "" msgstr ""
@ -65,6 +65,8 @@ msgid ""
"Apply" "Apply"
msgstr "" msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:103
#: frontend/apps/reader/modules/readermenu.lua:94
#: frontend/apps/reader/modules/readertypeset.lua:66 #: frontend/apps/reader/modules/readertypeset.lua:66
msgid "" msgid ""
"Auto" "Auto"
@ -81,7 +83,7 @@ msgid ""
msgstr "" msgstr ""
#: frontend/apps/reader/modules/readergoto.lua:36 #: frontend/apps/reader/modules/readergoto.lua:36
#: frontend/apps/reader/modules/readermenu.lua:165 #: frontend/apps/reader/modules/readermenu.lua:208
#: frontend/ui/widget/confirmbox.lua:29 #: frontend/ui/widget/confirmbox.lua:29
#: plugins/evernote.koplugin/main.lua:124 #: plugins/evernote.koplugin/main.lua:124
#: plugins/zsync.koplugin/main.lua:279 #: plugins/zsync.koplugin/main.lua:279
@ -125,9 +127,9 @@ msgid ""
"Copy" "Copy"
msgstr "" msgstr ""
#: frontend/apps/reader/modules/readermenu.lua:132 #: frontend/apps/reader/modules/readermenu.lua:175
#: frontend/apps/reader/modules/readermenu.lua:138 #: frontend/apps/reader/modules/readermenu.lua:181
#: frontend/apps/reader/modules/readermenu.lua:144 #: frontend/apps/reader/modules/readermenu.lua:187
msgid "" msgid ""
"Custom " "Custom "
msgstr "" msgstr ""
@ -179,12 +181,12 @@ msgid ""
"Document Language" "Document Language"
msgstr "" msgstr ""
#: frontend/apps/reader/modules/readermenu.lua:221 #: frontend/apps/reader/modules/readermenu.lua:265
msgid "" msgid ""
"Document menu" "Document menu"
msgstr "" msgstr ""
#: frontend/apps/reader/modules/readermenu.lua:119 #: frontend/apps/reader/modules/readermenu.lua:162
msgid "" msgid ""
"E-ink full refresh rate" "E-ink full refresh rate"
msgstr "" msgstr ""
@ -221,12 +223,12 @@ msgid ""
"Evernote" "Evernote"
msgstr "" msgstr ""
#: frontend/apps/reader/modules/readermenu.lua:127 #: frontend/apps/reader/modules/readermenu.lua:170
msgid "" msgid ""
"Every 6 pages" "Every 6 pages"
msgstr "" msgstr ""
#: frontend/apps/reader/modules/readermenu.lua:122 #: frontend/apps/reader/modules/readermenu.lua:165
msgid "" msgid ""
"Every page" "Every page"
msgstr "" msgstr ""
@ -252,7 +254,7 @@ msgid ""
"File does not exist" "File does not exist"
msgstr "" msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:134 #: frontend/apps/filemanager/filemanagermenu.lua:180
msgid "" msgid ""
"File manager menu" "File manager menu"
msgstr "" msgstr ""
@ -277,6 +279,12 @@ msgid ""
"Font Weight" "Font Weight"
msgstr "" msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:100
#: frontend/apps/reader/modules/readermenu.lua:91
msgid ""
"Font size"
msgstr ""
#: frontend/ui/data/strings.lua:30 #: frontend/ui/data/strings.lua:30
msgid "" msgid ""
"Forced OCR" "Forced OCR"
@ -317,8 +325,8 @@ msgid ""
"Go to Page or Location" "Go to Page or Location"
msgstr "" msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:103 #: frontend/apps/filemanager/filemanagermenu.lua:148
#: frontend/apps/reader/modules/readermenu.lua:105 #: frontend/apps/reader/modules/readermenu.lua:148
msgid "" msgid ""
"Help" "Help"
msgstr "" msgstr ""
@ -354,7 +362,7 @@ msgid ""
"Indentation" "Indentation"
msgstr "" msgstr ""
#: frontend/apps/reader/modules/readermenu.lua:160 #: frontend/apps/reader/modules/readermenu.lua:203
msgid "" msgid ""
"Input page number for a full refresh" "Input page number for a full refresh"
msgstr "" msgstr ""
@ -379,6 +387,12 @@ msgid ""
"Language" "Language"
msgstr "" msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:127
#: frontend/apps/reader/modules/readermenu.lua:118
msgid ""
"Large"
msgstr ""
#: frontend/apps/reader/modules/readerhighlight.lua:75 #: frontend/apps/reader/modules/readerhighlight.lua:75
msgid "" msgid ""
"Lighten" "Lighten"
@ -420,13 +434,19 @@ msgid ""
"Logout" "Logout"
msgstr "" msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:119
#: frontend/apps/reader/modules/readermenu.lua:110
msgid ""
"Medium"
msgstr ""
#: frontend/apps/reader/modules/readerhighlight.lua:333 #: frontend/apps/reader/modules/readerhighlight.lua:333
msgid "" msgid ""
"More" "More"
msgstr "" msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:85 #: frontend/apps/filemanager/filemanagermenu.lua:89
#: frontend/apps/reader/modules/readermenu.lua:78 #: frontend/apps/reader/modules/readermenu.lua:82
msgid "" msgid ""
"Night mode" "Night mode"
msgstr "" msgstr ""
@ -447,7 +467,7 @@ msgid ""
msgstr "" msgstr ""
#: frontend/apps/reader/modules/readerfrontlight.lua:115 #: frontend/apps/reader/modules/readerfrontlight.lua:115
#: frontend/apps/reader/modules/readermenu.lua:171 #: frontend/apps/reader/modules/readermenu.lua:214
#: frontend/ui/widget/confirmbox.lua:28 #: frontend/ui/widget/confirmbox.lua:28
msgid "" msgid ""
"OK" "OK"
@ -493,8 +513,8 @@ msgid ""
"Paste" "Paste"
msgstr "" msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:106 #: frontend/apps/filemanager/filemanagermenu.lua:151
#: frontend/apps/reader/modules/readermenu.lua:108 #: frontend/apps/reader/modules/readermenu.lua:151
msgid "" msgid ""
"Please report bugs to \n" "Please report bugs to \n"
"https://github.com/koreader/koreader/issues" "https://github.com/koreader/koreader/issues"
@ -595,12 +615,12 @@ msgid ""
"Share" "Share"
msgstr "" msgstr ""
#: frontend/apps/reader/modules/readermenu.lua:88 #: frontend/apps/reader/modules/readermenu.lua:129
msgid "" msgid ""
"Show advanced options" "Show advanced options"
msgstr "" msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:63 #: frontend/apps/filemanager/filemanagermenu.lua:67
msgid "" msgid ""
"Show hidden files" "Show hidden files"
msgstr "" msgstr ""
@ -610,7 +630,13 @@ msgid ""
"Show page overlap" "Show page overlap"
msgstr "" msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:71 #: frontend/apps/filemanager/filemanagermenu.lua:111
#: frontend/apps/reader/modules/readermenu.lua:102
msgid ""
"Small"
msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:75
msgid "" msgid ""
"Start with last opened file" "Start with last opened file"
msgstr "" msgstr ""
@ -690,8 +716,8 @@ msgid ""
"Underscore" "Underscore"
msgstr "" msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:95 #: frontend/apps/filemanager/filemanagermenu.lua:140
#: frontend/apps/reader/modules/readermenu.lua:97 #: frontend/apps/reader/modules/readermenu.lua:140
msgid "" msgid ""
"Version" "Version"
msgstr "" msgstr ""

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="full" width="76" height="76" viewBox="0 0 76.00 76.00" enable-background="new 0 0 76.00 76.00" xml:space="preserve">
<path fill="#000000" fill-opacity="1" stroke-linejoin="round" d="M 38,23.5C 38.8643,23.5 39.7109,23.5756 40.5337,23.7206L 42.6275,18.5381L 48.1901,20.787L 46.0964,25.9692C 47.6473,27.0149 48.9851,28.3527 50.0308,29.9036L 55.213,27.8099L 57.4619,33.3725L 52.2794,35.4664C 52.4244,36.2891 52.5,37.1357 52.5,38C 52.5,38.8643 52.4244,39.7109 52.2794,40.5337L 57.4619,42.6275L 55.213,48.1901L 50.0308,46.0964C 49.0795,47.5073 47.8865,48.7418 46.5112,49.7405L 48.7844,54.8462L 43.3041,57.2891L 41.0307,52.1828C 40.0533,52.3906 39.0394,52.5 38,52.5C 37.1357,52.5 36.2891,52.4244 35.4664,52.2794L 33.3725,57.462L 27.8099,55.213L 29.9036,50.0309C 28.3527,48.9851 27.0149,47.6473 25.9691,46.0964L 20.787,48.1901L 18.538,42.6275L 23.7206,40.5336C 23.5756,39.7109 23.5,38.8643 23.5,38C 23.5,37.1357 23.5756,36.2891 23.7206,35.4664L 18.538,33.3725L 20.787,27.8099L 25.9691,29.9036C 26.9205,28.4927 28.1135,27.2582 29.4889,26.2594L 27.2157,21.1537L 32.6959,18.7109L 34.9694,23.8172C 35.9468,23.6094 36.9606,23.5 38,23.5 Z M 38,28C 32.4771,28 28,32.4772 28,38C 28,43.5229 32.4771,48 38,48C 43.5228,48 48,43.5229 48,38C 48,32.4772 43.5228,28 38,28 Z "/>
</svg>
Loading…
Cancel
Save