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

@ -18,7 +18,10 @@ local FileManagerMenu = InputContainer:extend{
function FileManagerMenu:init()
self.tab_item_table = {
main = {
setting = {
icon = "resources/icons/appbar.settings.png",
},
info = {
icon = "resources/icons/appbar.pokeball.png",
},
home = {
@ -59,7 +62,8 @@ function FileManagerMenu:setUpdateItemTable()
widget:addToMainMenu(self.tab_item_table)
end
table.insert(self.tab_item_table.main, {
-- setting tab
table.insert(self.tab_item_table.setting, {
text = _("Show hidden files"),
checked_func = function() return self.ui.file_chooser.show_hidden end,
callback = function()
@ -67,7 +71,7 @@ function FileManagerMenu:setUpdateItemTable()
end
})
table.insert(self.tab_item_table.main, {
table.insert(self.tab_item_table.setting, {
text = _("Start with last opened file"),
checked_func = function() return G_reader_settings:readSetting("open_last") 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)
end
table.insert(self.tab_item_table.main, {
table.insert(self.tab_item_table.setting, {
text = _("Night mode"),
checked_func = function() return G_reader_settings:readSetting("night_mode") end,
callback = function()
@ -90,8 +94,49 @@ function FileManagerMenu:setUpdateItemTable()
G_reader_settings:saveSetting("night_mode", not night_mode)
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"),
callback = function()
UIManager:show(InfoMessage:new{
@ -99,7 +144,7 @@ function FileManagerMenu:setUpdateItemTable()
})
end
})
table.insert(self.tab_item_table.main, {
table.insert(self.tab_item_table.info, {
text = _("Help"),
callback = function()
UIManager:show(InfoMessage:new{
@ -110,7 +155,7 @@ function FileManagerMenu:setUpdateItemTable()
end
function FileManagerMenu:onShowMenu()
if #self.tab_item_table.main == 0 then
if #self.tab_item_table.setting == 0 then
self:setUpdateItemTable()
end
@ -124,7 +169,8 @@ function FileManagerMenu:onShowMenu()
main_menu = TouchMenu:new{
width = Screen:getWidth(),
tab_item_table = {
self.tab_item_table.main,
self.tab_item_table.setting,
self.tab_item_table.info,
self.tab_item_table.home,
},
show_parent = menu_container,

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

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

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

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

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