From 22b650d0c79a1ac1bb970817d791d21393bdb543 Mon Sep 17 00:00:00 2001 From: chrox Date: Mon, 8 Apr 2013 22:26:54 +0800 Subject: [PATCH] move kopt/cre options into ui/data directory & wrap strings in config options --- frontend/document/credocument.lua | 97 +------------ frontend/document/djvudocument.lua | 1 + frontend/document/koptinterface.lua | 204 --------------------------- frontend/document/pdfdocument.lua | 1 + frontend/ui/data/creoptions.lua | 97 +++++++++++++ frontend/ui/data/koptoptions.lua | 205 ++++++++++++++++++++++++++++ frontend/ui/data/strings.lua | 47 +++++++ 7 files changed, 353 insertions(+), 299 deletions(-) create mode 100644 frontend/ui/data/creoptions.lua create mode 100644 frontend/ui/data/koptoptions.lua create mode 100644 frontend/ui/data/strings.lua diff --git a/frontend/document/credocument.lua b/frontend/document/credocument.lua index 139e60e81..a5cdf208c 100644 --- a/frontend/document/credocument.lua +++ b/frontend/document/credocument.lua @@ -1,99 +1,6 @@ require "ui/geometry" - -CreOptions = { - prefix = 'copt', - { - icon = "resources/icons/appbar.transform.rotate.right.large.png", - options = { - { - name = "screen_mode", - name_text = _("Screen Mode"), - toggle = {"portrait", "landscape"}, - args = {"portrait", "landscape"}, - default_arg = "portrait", - current_func = function() return Screen:getScreenMode() end, - event = "SetScreenMode", - } - } - }, - { - icon = "resources/icons/appbar.column.two.large.png", - options = { - { - name = "line_spacing", - name_text = _("Line Spacing"), - item_text = {"decrease", "increase"}, - args = {"decrease", "increase"}, - default_arg = nil, - event = "ChangeLineSpace", - }, - } - }, - { - icon = "resources/icons/appbar.text.size.large.png", - options = { - { - name = "font_size", - item_text = {"Aa", "Aa", "Aa", "Aa", "Aa", "Aa", "Aa", "Aa"}, - item_align_center = 1.0, - spacing = 15, - item_font_size = {18, 20, 22, 24, 29, 33, 39, 44}, - values = {18, 20, 22, 24, 29, 33, 39, 44}, - default_value = 22, - args = {18, 20, 22, 24, 29, 33, 39, 44}, - event = "SetFontSize", - }, - } - }, - { - icon = "resources/icons/appbar.grade.b.large.png", - options = { - { - name = "font_weight", - name_text = _("Font weight"), - item_text = {"toggle bolder"}, - -- args is indeed not used, we put here just to keep the - -- UI happy. - args = {1}, - default_arg = nil, - event = "ToggleFontBolder", - }, - { - name = "font_gamma", - name_text = _("Gamma"), - item_text = {"decrease", "increase"}, - args = {"decrease", "increase"}, - default_arg = nil, - event = "ChangeFontGamma", - } - } - }, - { - icon = "resources/icons/appbar.settings.large.png", - options = { - { - name = "view_mode", - name_text = _("View mode"), - toggle = {"scroll", "page"}, - values = {1, 0}, - default_value = 0, - args = {"scroll", "page"}, - default_arg = "page", - event = "SetViewMode", - }, - { - name = "embedded_css", - name_text = _("Embedded style"), - toggle = {"on", "off"}, - values = {1, 0}, - default_value = 0, - args = {1, 0}, - default_arg = nil, - event = "ToggleEmbeddedStyleSheet", - }, - }, - }, -} +require "ui/reader/readerconfig" +require "ui/data/creoptions" CreDocument = Document:new{ -- this is defined in kpvcrlib/crengine/crengine/include/lvdocview.h diff --git a/frontend/document/djvudocument.lua b/frontend/document/djvudocument.lua index 3f0f34cc1..fa91e1013 100644 --- a/frontend/document/djvudocument.lua +++ b/frontend/document/djvudocument.lua @@ -3,6 +3,7 @@ require "ui/geometry" require "ui/screen" require "ui/device" require "ui/reader/readerconfig" +require "ui/data/koptoptions" require "document/koptinterface" DjvuDocument = Document:new{ diff --git a/frontend/document/koptinterface.lua b/frontend/document/koptinterface.lua index 0da133f65..8a9e84476 100644 --- a/frontend/document/koptinterface.lua +++ b/frontend/document/koptinterface.lua @@ -1,212 +1,8 @@ require "cache" require "ui/geometry" -require "ui/screen" require "ui/device" require "ui/reader/readerconfig" -KoptOptions = { - prefix = 'kopt', - { - icon = "resources/icons/appbar.transform.rotate.right.large.png", - options = { - { - name = "screen_mode", - name_text = _("Screen Mode"), - toggle = {"portrait", "landscape"}, - args = {"portrait", "landscape"}, - default_arg = "portrait", - current_func = function() return Screen:getScreenMode() end, - event = "SetScreenMode", - } - } - }, - { - icon = "resources/icons/appbar.crop.large.png", - options = { - { - name = "trim_page", - name_text = _("Page Crop"), - toggle = {"auto", "manual"}, - alternate = false, - values = {1, 0}, - default_value = 1, - event = "PageCrop", - args = {"auto", "manual"}, - } - } - }, - { - icon = "resources/icons/appbar.column.two.large.png", - options = { - { - name = "full_screen", - name_text = _("Full Screen"), - toggle = {"on", "off"}, - values = {1, 0}, - default_value = 0, - event = "SetFullScreen", - args = {true, false}, - }, - { - name = "page_scroll", - name_text = _("Scroll Mode"), - toggle = {"on", "off"}, - values = {1, 0}, - default_value = 1, - event = "ToggleScrollMode", - args = {true, false}, - }, - { - name = "page_margin", - name_text = _("Page Margin"), - toggle = {"small", "medium", "large"}, - values = {0.06, 0.10, 0.14}, - default_value = 0.10, - }, - { - name = "line_spacing", - name_text = _("Line Spacing"), - toggle = {"small", "medium", "large"}, - values = {1.0, 1.2, 1.4}, - default_value = 1.2, - }, - { - name = "max_columns", - name_text = _("Columns"), - item_icons = { - "resources/icons/appbar.column.one.png", - "resources/icons/appbar.column.two.png", - "resources/icons/appbar.column.three.png", - }, - values = {1,2,3}, - default_value = 2, - }, - { - name = "justification", - name_text = _("Text Align"), - item_icons = { - "resources/icons/appbar.align.auto.png", - "resources/icons/appbar.align.left.png", - "resources/icons/appbar.align.center.png", - "resources/icons/appbar.align.right.png", - "resources/icons/appbar.align.justify.png", - }, - values = {-1,0,1,2,3}, - default_value = -1, - }, - } - }, - { - icon = "resources/icons/appbar.text.size.large.png", - options = { - { - name = "font_size", - item_text = {"Aa","Aa","Aa","Aa","Aa","Aa","Aa","Aa","Aa","Aa"}, - item_align_center = 1.0, - spacing = 15, - item_font_size = {22,24,28,32,34,36,38,42,46,50}, - values = {0.1, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.6, 2.0, 4.0}, - default_value = 1.0, - height = 60, - }, - { - name = "font_fine_tune", - name_text = _("Fine Tuning"), - toggle = {"decrease","increase"}, - values = {-0.05, 0.05}, - default_value = 0.05, - event = "FineTuningFontSize", - args = {-0.05, 0.05}, - alternate = false, - height = 60, - } - } - }, - { - icon = "resources/icons/appbar.grade.b.large.png", - options = { - { - name = "contrast", - name_text = _("Contrast"), - name_align_right = 0.2, - item_text = {"lightest", "lighter", "default", "darker", "darkest"}, - item_font_size = 18, - item_align_center = 0.8, - values = {2.0, 1.5, 1.0, 0.5, 0.2}, - default_value = 1.0, - event = "GammaUpdate", - args = {0.5, 0.8, 1.0, 2.0, 4.0}, - } - } - }, - { - icon = "resources/icons/appbar.settings.large.png", - options = { - { - name = "text_wrap", - name_text = _("Reflow"), - toggle = {"on", "off"}, - values = {1, 0}, - default_value = 0, - events = { - { - event = "RedrawCurrentPage", - }, - { - event = "RestoreZoomMode", - }, - { - event = "InitScrollPageStates", - }, - } - }, - { - name="screen_rotation", - name_text = _("Vertical Text"), - toggle = {"on", "off"}, - values = {270, 0}, - default_value = 0, - }, - { - name = "word_spacing", - name_text = _("Word Gap"), - toggle = {"small", "medium", "large"}, - values = {0.05, 0.15, 0.375}, - default_value = 0.15, - }, - { - name = "defect_size", - name_text = _("Defect Size"), - toggle = {"small", "medium", "large"}, - values = {0.5, 1.0, 2.0}, - default_value = 1.0, - }, - { - name = "quality", - name_text = _("Render Quality"), - toggle = {"low", "default", "high"}, - values={0.5, 0.8, 1.0}, - default_value = 0.8, - }, - { - name = "auto_straighten", - name_text = _("Auto Straighten"), - toggle = {"0 deg", "5 deg", "10 deg"}, - values = {0, 5, 10}, - default_value = 0, - }, - { - name = "detect_indent", - name_text = _("Indentation"), - toggle = {"On", "Off"}, - values = {1, 0}, - default_value = 1, - show = false, - }, - } - }, -} - KoptInterface = { bg_context = { contex = nil, diff --git a/frontend/document/pdfdocument.lua b/frontend/document/pdfdocument.lua index bda9c6c1c..70075e200 100644 --- a/frontend/document/pdfdocument.lua +++ b/frontend/document/pdfdocument.lua @@ -2,6 +2,7 @@ require "cache" require "ui/geometry" require "ui/screen" require "ui/reader/readerconfig" +require "ui/data/koptoptions" require "document/koptinterface" PdfDocument = Document:new{ diff --git a/frontend/ui/data/creoptions.lua b/frontend/ui/data/creoptions.lua new file mode 100644 index 000000000..0bfa81465 --- /dev/null +++ b/frontend/ui/data/creoptions.lua @@ -0,0 +1,97 @@ +require "ui/screen" +require "ui/data/strings" + +CreOptions = { + prefix = 'copt', + { + icon = "resources/icons/appbar.transform.rotate.right.large.png", + options = { + { + name = "screen_mode", + name_text = SCREEN_MODE_STR, + toggle = {PORTRAIT_STR, LANDSCAPE_STR}, + args = {"portrait", "landscape"}, + default_arg = "portrait", + current_func = function() return Screen:getScreenMode() end, + event = "SetScreenMode", + } + } + }, + { + icon = "resources/icons/appbar.column.two.large.png", + options = { + { + name = "line_spacing", + name_text = LINE_SPACING_STR, + item_text = {DECREASE_STR, INCREASE_STR}, + args = {"decrease", "increase"}, + default_arg = nil, + event = "ChangeLineSpace", + }, + } + }, + { + icon = "resources/icons/appbar.text.size.large.png", + options = { + { + name = "font_size", + item_text = {"Aa", "Aa", "Aa", "Aa", "Aa", "Aa", "Aa", "Aa"}, + item_align_center = 1.0, + spacing = 15, + item_font_size = {18, 20, 22, 24, 29, 33, 39, 44}, + values = {18, 20, 22, 24, 29, 33, 39, 44}, + default_value = 22, + args = {18, 20, 22, 24, 29, 33, 39, 44}, + event = "SetFontSize", + }, + } + }, + { + icon = "resources/icons/appbar.grade.b.large.png", + options = { + { + name = "font_weight", + name_text = FONT_WEIGHT_STR, + item_text = {TOGGLE_BOLD_STR}, + -- args is indeed not used, we put here just to keep the + -- UI happy. + args = {1}, + default_arg = nil, + event = "ToggleFontBolder", + }, + { + name = "font_gamma", + name_text = GAMMA_STR, + item_text = {DECREASE_STR, INCREASE_STR}, + args = {"decrease", "increase"}, + default_arg = nil, + event = "ChangeFontGamma", + } + } + }, + { + icon = "resources/icons/appbar.settings.large.png", + options = { + { + name = "view_mode", + name_text = VIEW_MODE_STR, + toggle = {VIEW_SCROLL_STR, VIEW_PAGE_STR}, + values = {1, 0}, + default_value = 0, + args = {"scroll", "page"}, + default_arg = "page", + event = "SetViewMode", + }, + { + name = "embedded_css", + name_text = EMBEDDED_STYLE_STR, + toggle = {ON_STR, OFF_STR}, + values = {1, 0}, + default_value = 0, + args = {1, 0}, + default_arg = nil, + event = "ToggleEmbeddedStyleSheet", + }, + }, + }, +} diff --git a/frontend/ui/data/koptoptions.lua b/frontend/ui/data/koptoptions.lua new file mode 100644 index 000000000..a96b8de45 --- /dev/null +++ b/frontend/ui/data/koptoptions.lua @@ -0,0 +1,205 @@ +require "ui/screen" +require "ui/data/strings" + +KoptOptions = { + prefix = 'kopt', + { + icon = "resources/icons/appbar.transform.rotate.right.large.png", + options = { + { + name = "screen_mode", + name_text = SCREEN_MODE_STR, + toggle = {PORTRAIT_STR, LANDSCAPE_STR}, + args = {"portrait", "landscape"}, + default_arg = "portrait", + current_func = function() return Screen:getScreenMode() end, + event = "SetScreenMode", + } + } + }, + { + icon = "resources/icons/appbar.crop.large.png", + options = { + { + name = "trim_page", + name_text = PAGE_CROP_STR, + toggle = {AUTO_STR, MANUAL_STR}, + alternate = false, + values = {1, 0}, + default_value = 1, + event = "PageCrop", + args = {"auto", "manual"}, + } + } + }, + { + icon = "resources/icons/appbar.column.two.large.png", + options = { + { + name = "full_screen", + name_text = FULL_SCREEN_STR, + toggle = {ON_STR, OFF_STR}, + values = {1, 0}, + default_value = 0, + event = "SetFullScreen", + args = {true, false}, + }, + { + name = "page_scroll", + name_text = SCROLL_MODE_STR, + toggle = {ON_STR, OFF_STR}, + values = {1, 0}, + default_value = 1, + event = "ToggleScrollMode", + args = {true, false}, + }, + { + name = "page_margin", + name_text = PAGE_MARGIN_STR, + toggle = {SMALL_STR, MEDIUM_STR, LARGE_STR}, + values = {0.06, 0.10, 0.14}, + default_value = 0.10, + }, + { + name = "line_spacing", + name_text = LINE_SPACING_STR, + toggle = {SMALL_STR, MEDIUM_STR, LARGE_STR}, + values = {1.0, 1.2, 1.4}, + default_value = 1.2, + }, + { + name = "max_columns", + name_text = COLUMNS_STR, + item_icons = { + "resources/icons/appbar.column.one.png", + "resources/icons/appbar.column.two.png", + "resources/icons/appbar.column.three.png", + }, + values = {1,2,3}, + default_value = 2, + }, + { + name = "justification", + name_text = TEXT_ALIGN_STR, + item_icons = { + "resources/icons/appbar.align.auto.png", + "resources/icons/appbar.align.left.png", + "resources/icons/appbar.align.center.png", + "resources/icons/appbar.align.right.png", + "resources/icons/appbar.align.justify.png", + }, + values = {-1,0,1,2,3}, + default_value = -1, + }, + } + }, + { + icon = "resources/icons/appbar.text.size.large.png", + options = { + { + name = "font_size", + item_text = {"Aa","Aa","Aa","Aa","Aa","Aa","Aa","Aa","Aa","Aa"}, + item_align_center = 1.0, + spacing = 15, + item_font_size = {22,24,28,32,34,36,38,42,46,50}, + values = {0.1, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.6, 2.0, 4.0}, + default_value = 1.0, + height = 60, + }, + { + name = "font_fine_tune", + name_text = FONTSIZE_FINE_TUNING_STR, + toggle = {DECREASE_STR, INCREASE_STR}, + values = {-0.05, 0.05}, + default_value = 0.05, + event = "FineTuningFontSize", + args = {-0.05, 0.05}, + alternate = false, + height = 60, + } + } + }, + { + icon = "resources/icons/appbar.grade.b.large.png", + options = { + { + name = "contrast", + name_text = CONTRAST_STR, + name_align_right = 0.2, + item_text = {LIGHTEST_STR , LIGHTER_STR, DEFAULT_STR, DARKER_STR, DARKEST_STR}, + item_font_size = 18, + item_align_center = 0.8, + values = {2.0, 1.5, 1.0, 0.5, 0.2}, + default_value = 1.0, + event = "GammaUpdate", + args = {0.5, 0.8, 1.0, 2.0, 4.0}, + } + } + }, + { + icon = "resources/icons/appbar.settings.large.png", + options = { + { + name = "text_wrap", + name_text = _("Reflow"), + toggle = {ON_STR, OFF_STR}, + values = {1, 0}, + default_value = 0, + events = { + { + event = "RedrawCurrentPage", + }, + { + event = "RestoreZoomMode", + }, + { + event = "InitScrollPageStates", + }, + } + }, + { + name="screen_rotation", + name_text = VERTICAL_TEXT_STR, + toggle = {ON_STR, OFF_STR}, + values = {270, 0}, + default_value = 0, + }, + { + name = "word_spacing", + name_text = WORD_GAP_STR, + toggle = {SMALL_STR, MEDIUM_STR, LARGE_STR}, + values = {0.05, 0.15, 0.375}, + default_value = 0.15, + }, + { + name = "defect_size", + name_text = DEFECT_SIZE_STR, + toggle = {SMALL_STR, MEDIUM_STR, LARGE_STR}, + values = {0.5, 1.0, 2.0}, + default_value = 1.0, + }, + { + name = "quality", + name_text = RENDER_QUALITY_STR, + toggle = {LOW_STR, DEFAULT_STR, HIGH_STR}, + values={0.5, 0.8, 1.0}, + default_value = 0.8, + }, + { + name = "auto_straighten", + name_text = AUTO_STRAIGHTEN_STR, + toggle = {ZERO_DEG_STR, FIVE_DEG_STR, TEN_DEG_STR}, + values = {0, 5, 10}, + default_value = 0, + }, + { + name = "detect_indent", + name_text = INDENTATION_STR, + toggle = {ON_STR, OFF_STR}, + values = {1, 0}, + default_value = 1, + show = false, + }, + } + }, +} diff --git a/frontend/ui/data/strings.lua b/frontend/ui/data/strings.lua new file mode 100644 index 000000000..b8bbee1cd --- /dev/null +++ b/frontend/ui/data/strings.lua @@ -0,0 +1,47 @@ + +SCREEN_MODE_STR = _("Screen Mode") +PAGE_CROP_STR = _("Page Crop") +FULL_SCREEN_STR = _("Full Screen") +SCROLL_MODE_STR = _("Scroll Mode") +PAGE_MARGIN_STR = _("Page Margin") +LINE_SPACING_STR = _("Line Spacing") +COLUMNS_STR = _("Columns") +TEXT_ALIGN_STR = _("Text Align") +FONTSIZE_FINE_TUNING_STR = _("Fine Tuning") +CONTRAST_STR = _("Contrast") +REFLOW_STR = _("Reflow") +VERTICAL_TEXT_STR = _("Vertical Text") +WORD_GAP_STR = _("Word Gap") +DEFECT_SIZE_STR = _("Defect Size") +RENDER_QUALITY_STR = _("Render Quality") +AUTO_STRAIGHTEN_STR = _("Auto Straighten") +INDENTATION_STR = _("Indentation") +FONT_WEIGHT_STR = _("Font weight") +GAMMA_STR = _("Gamma") +VIEW_MODE_STR = _("View mode") +EMBEDDED_STYLE_STR = _("Embedded style") + +ON_STR = _("on") +OFF_STR = _("off") +AUTO_STR = _("auto") +MANUAL_STR = _("manual") +SMALL_STR = _("small") +MEDIUM_STR = _("medium") +LARGE_STR = _("large") +DECREASE_STR = _("decrease") +INCREASE_STR = _("increase") +LIGHTEST_STR = _("lightest") +LIGHTER_STR = _("lighter") +DEFAULT_STR = _("default") +DARKER_STR = _("darker") +DARKEST_STR = _("darkest") +LOW_STR = _("low") +HIGH_STR = _("high") +ZERO_DEG_STR = _("0 deg") +FIVE_DEG_STR = _("5 deg") +TEN_DEG_STR = _("10 deg") +PORTRAIT_STR = _("portrait") +LANDSCAPE_STR = _("landscape") +TOGGLE_BOLD_STR = _("toggle bold") +VIEW_SCROLL_STR = _("scroll") +VIEW_PAGE_STR = _("page")