1 package org.coolreader.crengine;
2 
3 import android.util.Log;
4 
5 import org.coolreader.R;
6 
7 import java.util.Locale;
8 
9 public interface Settings {
10     public static final String PROP_PAGE_BACKGROUND_IMAGE       ="background.image";
11     public static final String PROP_PAGE_BACKGROUND_IMAGE_DAY   ="background.image.day";
12     public static final String PROP_PAGE_BACKGROUND_IMAGE_NIGHT ="background.image.night";
13     public static final String PROP_NIGHT_MODE              ="crengine.night.mode";
14     public static final String PROP_FONT_COLOR_DAY          ="font.color.day";
15     public static final String PROP_BACKGROUND_COLOR_DAY    ="background.color.day";
16     public static final String PROP_FONT_COLOR_NIGHT        ="font.color.night";
17     public static final String PROP_BACKGROUND_COLOR_NIGHT  ="background.color.night";
18     public static final String PROP_FONT_COLOR              ="font.color.default";
19     public static final String PROP_BACKGROUND_COLOR        ="background.color.default";
20     public static final String PROP_FONT_ANTIALIASING       ="font.antialiasing.mode";
21     public static final String PROP_FONT_FACE               ="font.face.default";
22     public static final String PROP_FONT_HINTING            ="font.hinting.mode";
23     public static final String PROP_FONT_GAMMA              ="font.gamma";
24     public static final String PROP_FONT_GAMMA_DAY          ="font.gamma.day";
25     public static final String PROP_FONT_GAMMA_NIGHT        ="font.gamma.night";
26     public static final String PROP_FONT_WEIGHT_EMBOLDEN    ="font.face.weight.embolden";
27     public static final String PROP_TXT_OPTION_PREFORMATTED ="crengine.file.txt.preformatted";
28     public static final String PROP_LOG_FILENAME            ="crengine.log.filename";
29     public static final String PROP_LOG_LEVEL               ="crengine.log.level";
30     public static final String PROP_LOG_AUTOFLUSH           ="crengine.log.autoflush";
31     public static final String PROP_FONT_SIZE               ="crengine.font.size";
32 	public static final String PROP_FALLBACK_FONT_FACES     ="crengine.font.fallback.faces";
33     public static final String PROP_STATUS_FONT_COLOR       ="crengine.page.header.font.color";
34     public static final String PROP_STATUS_FONT_COLOR_DAY   ="crengine.page.header.font.color.day";
35     public static final String PROP_STATUS_FONT_COLOR_NIGHT ="crengine.page.header.font.color.night";
36     public static final String PROP_STATUS_FONT_FACE        ="crengine.page.header.font.face";
37     public static final String PROP_STATUS_FONT_SIZE        ="crengine.page.header.font.size";
38     public static final String PROP_STATUS_CHAPTER_MARKS    ="crengine.page.header.chapter.marks";
39     public static final String PROP_PAGE_MARGIN_TOP         ="crengine.page.margin.top";
40     public static final String PROP_PAGE_MARGIN_BOTTOM      ="crengine.page.margin.bottom";
41     public static final String PROP_PAGE_MARGIN_LEFT        ="crengine.page.margin.left";
42     public static final String PROP_PAGE_MARGIN_RIGHT       ="crengine.page.margin.right";
43     public static final String PROP_ROUNDED_CORNERS_MARGIN  ="crengine.rounded.corners.margin";
44     public static final String PROP_PAGE_VIEW_MODE          ="crengine.page.view.mode"; // pages/scroll
45     public static final String PROP_PAGE_ANIMATION          ="crengine.page.animation";
46     public static final String PROP_INTERLINE_SPACE         ="crengine.interline.space";
47     public static final String PROP_ROTATE_ANGLE            ="window.rotate.angle";
48     public static final String PROP_EMBEDDED_STYLES         ="crengine.doc.embedded.styles.enabled";
49     public static final String PROP_EMBEDDED_FONTS          ="crengine.doc.embedded.fonts.enabled";
50     public static final String PROP_DISPLAY_INVERSE         ="crengine.display.inverse";
51 //    public static final String PROP_DISPLAY_FULL_UPDATE_INTERVAL ="crengine.display.full.update.interval";
52 //    public static final String PROP_DISPLAY_TURBO_UPDATE_MODE ="crengine.display.turbo.update";
53 
54     public static final String PROP_STATUS_LOCATION         ="viewer.status.location";
55     public static final String PROP_TOOLBAR_LOCATION        ="viewer.toolbar.location2";
56     public static final String PROP_TOOLBAR_HIDE_IN_FULLSCREEN="viewer.toolbar.fullscreen.hide";
57     public static final String PROP_TOOLBAR_APPEARANCE="viewer.toolbar.appearance";
58 
59     public static final String PROP_STATUS_LINE             ="window.status.line";
60     public static final String PROP_BOOKMARK_ICONS          ="crengine.bookmarks.icons";
61     public static final String PROP_FOOTNOTES               ="crengine.footnotes";
62     public static final String PROP_SHOW_TIME               ="window.status.clock";
63     public static final String PROP_SHOW_TITLE              ="window.status.title";
64     public static final String PROP_SHOW_BATTERY            ="window.status.battery";
65     public static final String PROP_SHOW_BATTERY_PERCENT    ="window.status.battery.percent";
66     public static final String PROP_SHOW_POS_PERCENT        ="window.status.pos.percent";
67     public static final String PROP_SHOW_PAGE_COUNT         ="window.status.pos.page.count";
68     public static final String PROP_SHOW_PAGE_NUMBER        ="window.status.pos.page.number";
69     public static final String PROP_FONT_SHAPING            ="font.shaping.mode";
70     public static final String PROP_FONT_KERNING_ENABLED    ="font.kerning.enabled";
71     public static final String PROP_FLOATING_PUNCTUATION    ="crengine.style.floating.punctuation.enabled";
72     public static final String PROP_LANDSCAPE_PAGES         ="window.landscape.pages";
73     //public static final String PROP_HYPHENATION_DICT        ="crengine.hyphenation.dictionary.code"; // non-crengine (old)
74 	public static final String PROP_HYPHENATION_DICT        = "crengine.hyphenation.directory";
75 	public static final String PROP_AUTOSAVE_BOOKMARKS      ="crengine.autosave.bookmarks";
76 	// New textlang typography settings:
77 	public static final String PROP_TEXTLANG_MAIN_LANG      = "crengine.textlang.main.lang";
78 	public static final String PROP_TEXTLANG_EMBEDDED_LANGS_ENABLED = "crengine.textlang.embedded.langs.enabled";
79 	public static final String PROP_TEXTLANG_HYPHENATION_ENABLED    = "crengine.textlang.hyphenation.enabled";
80 	public static final String PROP_TEXTLANG_HYPH_SOFT_HYPHENS_ONLY = "crengine.textlang.hyphenation.soft.hyphens.only";
81 	public static final String PROP_TEXTLANG_HYPH_FORCE_ALGORITHMIC = "crengine.textlang.hyphenation.force.algorithmic";
82 
83     public static final String PROP_PROFILE_NUMBER          ="crengine.profile.number"; // current settings profile number
84     public static final String PROP_APP_SETTINGS_SHOW_ICONS ="app.settings.show.icons";
85     public static final String PROP_APP_KEY_BACKLIGHT_OFF   ="app.key.backlight.disabled";
86 
87 	 // image scaling settings
88 	 // mode: 0=disabled, 1=integer scaling factors, 2=free scaling
89 	 // scale: 0=auto based on font size, 1=no zoom, 2=scale up to *2, 3=scale up to *3
90     public static final String PROP_IMG_SCALING_ZOOMIN_INLINE_MODE = "crengine.image.scaling.zoomin.inline.mode";
91     public static final String PROP_IMG_SCALING_ZOOMIN_INLINE_SCALE = "crengine.image.scaling.zoomin.inline.scale";
92     public static final String PROP_IMG_SCALING_ZOOMOUT_INLINE_MODE = "crengine.image.scaling.zoomout.inline.mode";
93     public static final String PROP_IMG_SCALING_ZOOMOUT_INLINE_SCALE = "crengine.image.scaling.zoomout.inline.scale";
94     public static final String PROP_IMG_SCALING_ZOOMIN_BLOCK_MODE = "crengine.image.scaling.zoomin.block.mode";
95     public static final String PROP_IMG_SCALING_ZOOMIN_BLOCK_SCALE = "crengine.image.scaling.zoomin.block.scale";
96     public static final String PROP_IMG_SCALING_ZOOMOUT_BLOCK_MODE = "crengine.image.scaling.zoomout.block.mode";
97     public static final String PROP_IMG_SCALING_ZOOMOUT_BLOCK_SCALE = "crengine.image.scaling.zoomout.block.scale";
98 
99     public static final String PROP_FORMAT_SPACE_WIDTH_SCALE_PERCENT = "crengine.style.space.width.scale.percent";
100     public static final String PROP_FORMAT_MIN_SPACE_CONDENSING_PERCENT = "crengine.style.space.condensing.percent";
101     public static final String PROP_FORMAT_UNUSED_SPACE_THRESHOLD_PERCENT = "crengine.style.unused.space.threshold.percent";
102     public static final String PROP_FORMAT_MAX_ADDED_LETTER_SPACING_PERCENT = "crengine.style.max.added.letter.spacing.percent";
103 
104 	// default is 96 (1 css px = 1 screen px)
105 	// use 0 for old crengine behaviour (no support for absolute units and 1css px = 1 screen px)
106 	public static final String PROP_RENDER_DPI              = "crengine.render.dpi";
107 	//public static final String PROP_RENDER_SCALE_FONT_WITH_DPI = "crengine.render.scale.font.with.dpi";
108 	public static final String PROP_RENDER_BLOCK_RENDERING_FLAGS = "crengine.render.block.rendering.flags";
109 	public static final String PROP_REQUESTED_DOM_VERSION   = "crengine.render.requested_dom_version";
110 
111 	public static final String PROP_MIN_FILE_SIZE_TO_CACHE  ="crengine.cache.filesize.min";
112     public static final String PROP_FORCED_MIN_FILE_SIZE_TO_CACHE  ="crengine.cache.forced.filesize.min";
113     public static final String PROP_PROGRESS_SHOW_FIRST_PAGE="crengine.progress.show.first.page";
114 
115     public static final String PROP_CONTROLS_ENABLE_VOLUME_KEYS ="app.controls.volume.keys.enabled";
116 
117     public static final String PROP_APP_FULLSCREEN          ="app.fullscreen";
118     public static final String PROP_APP_BOOK_PROPERTY_SCAN_ENABLED ="app.browser.fileprops.scan.enabled";
119     public static final String PROP_APP_SHOW_COVERPAGES     ="app.browser.coverpages";
120     public static final String PROP_APP_COVERPAGE_SIZE     ="app.browser.coverpage.size"; // 0==small, 2==BIG
121     public static final String PROP_APP_SCREEN_ORIENTATION  ="app.screen.orientation";
122     public static final String PROP_APP_SCREEN_BACKLIGHT    ="app.screen.backlight";
123     public static final String PROP_APP_SCREEN_WARM_BACKLIGHT    ="app.screen.warm.backlight";
124     public static final String PROP_APP_MOTION_TIMEOUT    ="app.motion.timeout";
125     public static final String PROP_APP_SCREEN_BACKLIGHT_DAY   ="app.screen.backlight.day";
126     public static final String PROP_APP_SCREEN_BACKLIGHT_NIGHT ="app.screen.backlight.night";
127     public static final String PROP_APP_DOUBLE_TAP_SELECTION     ="app.controls.doubletap.selection";
128     public static final String PROP_APP_TAP_ZONE_ACTIONS_TAP     ="app.tapzone.action.tap";
129     public static final String PROP_APP_KEY_ACTIONS_PRESS     ="app.key.action.press";
130     public static final String PROP_APP_TRACKBALL_DISABLED    ="app.trackball.disabled";
131     public static final String PROP_APP_SCREEN_BACKLIGHT_LOCK    ="app.screen.backlight.lock.enabled";
132     public static final String PROP_APP_TAP_ZONE_HILIGHT     ="app.tapzone.hilight";
133     public static final String PROP_APP_FLICK_BACKLIGHT_CONTROL = "app.screen.backlight.control.flick";
134     public static final String PROP_APP_FLICK_WARMLIGHT_CONTROL = "app.screen.warmlight.control.flick";
135     public static final String PROP_APP_BOOK_SORT_ORDER = "app.browser.sort.order";
136     public static final String PROP_APP_DICTIONARY = "app.dictionary.current";
137     public static final String PROP_APP_DICTIONARY_2 = "app.dictionary2.current";
138     public static final String PROP_APP_SELECTION_ACTION = "app.selection.action";
139     public static final String PROP_APP_MULTI_SELECTION_ACTION = "app.multiselection.action";
140     public static final String PROP_APP_SELECTION_PERSIST = "app.selection.persist";
141 
142     public static final String PROP_APP_HIGHLIGHT_BOOKMARKS = "crengine.highlight.bookmarks";
143     public static final String PROP_HIGHLIGHT_SELECTION_COLOR = "crengine.highlight.selection.color";
144     public static final String PROP_HIGHLIGHT_BOOKMARK_COLOR_COMMENT = "crengine.highlight.bookmarks.color.comment";
145     public static final String PROP_HIGHLIGHT_BOOKMARK_COLOR_CORRECTION = "crengine.highlight.bookmarks.color.correction";
146     public static final String PROP_APP_HIGHLIGHT_BOOKMARKS_DAY = "crengine.highlight.bookmarks.day";
147     public static final String PROP_HIGHLIGHT_SELECTION_COLOR_DAY = "crengine.highlight.selection.color.day";
148     public static final String PROP_HIGHLIGHT_BOOKMARK_COLOR_COMMENT_DAY = "crengine.highlight.bookmarks.color.comment.day";
149     public static final String PROP_HIGHLIGHT_BOOKMARK_COLOR_CORRECTION_DAY = "crengine.highlight.bookmarks.color.correction.day";
150     public static final String PROP_APP_HIGHLIGHT_BOOKMARKS_NIGHT = "crengine.highlight.bookmarks.night";
151     public static final String PROP_HIGHLIGHT_SELECTION_COLOR_NIGHT = "crengine.highlight.selection.color.night";
152     public static final String PROP_HIGHLIGHT_BOOKMARK_COLOR_COMMENT_NIGHT = "crengine.highlight.bookmarks.color.comment.night";
153     public static final String PROP_HIGHLIGHT_BOOKMARK_COLOR_CORRECTION_NIGHT = "crengine.highlight.bookmarks.color.correction.night";
154 
155     public static final String PROP_APP_FILE_BROWSER_HIDE_EMPTY_FOLDERS = "app.browser.hide.empty.folders";
156     public static final String PROP_APP_FILE_BROWSER_HIDE_EMPTY_GENRES = "app.browser.hide.empty.genres";
157     public static final String PROP_APP_FILE_BROWSER_SIMPLE_MODE = "app.browser.simple.mode";
158 
159     public static final String PROP_APP_SCREEN_UPDATE_MODE = "app.screen.update.mode";
160     public static final String PROP_APP_SCREEN_UPDATE_INTERVAL = "app.screen.update.interval";
161     public static final String PROP_APP_SECONDARY_TAP_ACTION_TYPE = "app.touch.secondary.action.type";
162     public static final String PROP_APP_GESTURE_PAGE_FLIPPING = "app.touch.gesture.page.flipping";
163 
164     public static final String PROP_APP_VIEW_AUTOSCROLL_SPEED  ="app.view.autoscroll.speed";
165     public static final String PROP_APP_VIEW_AUTOSCROLL_TYPE  ="app.view.autoscroll.type";
166 
167     public static final String PROP_APP_THEME = "app.ui.theme";
168     public static final String PROP_APP_THEME_DAY  = "app.ui.theme.day";
169     public static final String PROP_APP_THEME_NIGHT = "app.ui.theme.night";
170 
171     public static final String PROP_APP_LOCALE = "app.locale.name";
172 
173     public static final String PROP_APP_STARTUP_ACTION = "app.startup.action";
174 
175     public static final String PROP_APP_PLUGIN_ENABLED = "app.plugin.enabled.litres";
176 
177     String PROP_APP_CLOUDSYNC_GOOGLEDRIVE_ENABLED = "app.cloudsync.googledrive.enabled";
178     String PROP_APP_CLOUDSYNC_GOOGLEDRIVE_SETTINGS = "app.cloudsync.googledrive.settings";
179     String PROP_APP_CLOUDSYNC_GOOGLEDRIVE_BOOKMARKS = "app.cloudsync.googledrive.bookmarks";
180     String PROP_APP_CLOUDSYNC_GOOGLEDRIVE_CURRENTBOOK_INFO = "app.cloudsync.googledrive.currentbook";
181     String PROP_APP_CLOUDSYNC_GOOGLEDRIVE_CURRENTBOOK_BODY = "app.cloudsync.googledrive.currentbook.body";
182     String PROP_APP_CLOUDSYNC_GOOGLEDRIVE_AUTOSAVEPERIOD = "app.cloudsync.googledrive.autosaveperiod";
183     String PROP_APP_CLOUDSYNC_CONFIRMATIONS = "app.cloudsync.confirmations";
184     String PROP_APP_CLOUDSYNC_DATA_KEEPALIVE = "app.cloudsync.bookmarks.keepalive";		// days
185 
186     String PROP_APP_TTS_SPEED = "app.tts.speed";
187     String PROP_APP_TTS_ENGINE = "app.tts.engine";
188     String PROP_APP_TTS_USE_DOC_LANG = "app.tts.use.doc.lang";		// The TTS language is set according to the language of the book.
189     String PROP_APP_TTS_FORCE_LANGUAGE = "app.tts.force.lang";		// Force use specified language
190     String PROP_APP_TTS_VOICE = "app.tts.voice";
191 
192     // available options for PROP_APP_SELECTION_ACTION setting
193     public static final int SELECTION_ACTION_TOOLBAR = 0;
194     public static final int SELECTION_ACTION_COPY = 1;
195     public static final int SELECTION_ACTION_DICTIONARY = 2;
196     public static final int SELECTION_ACTION_BOOKMARK = 3;
197     public static final int SELECTION_ACTION_FIND = 4;
198 
199     // available options for PROP_APP_SECONDARY_TAP_ACTION_TYPE setting
200     public static final int TAP_ACTION_TYPE_LONGPRESS = 0;
201     public static final int TAP_ACTION_TYPE_DOUBLE = 1;
202     public static final int TAP_ACTION_TYPE_SHORT = 2;
203 
204     // available options for PROP_APP_FLICK_BACKLIGHT_CONTROL setting
205     public static final int BACKLIGHT_CONTROL_FLICK_NONE = 0;
206     public static final int BACKLIGHT_CONTROL_FLICK_LEFT = 1;
207     public static final int BACKLIGHT_CONTROL_FLICK_RIGHT = 2;
208 
209     public static final int APP_STARTUP_ACTION_LAST_BOOK = 0;
210     public static final int APP_STARTUP_ACTION_ROOT = 1;
211     public static final int APP_STARTUP_ACTION_RECENT_BOOKS = 2;
212     public static final int APP_STARTUP_ACTION_LAST_BOOK_FOLDER = 3;
213 
214     public static final int VIEWER_STATUS_NONE = 0;
215     public static final int VIEWER_STATUS_TOP = 1;
216     public static final int VIEWER_STATUS_BOTTOM = 2;
217     public static final int VIEWER_STATUS_PAGE_HEADER = 3;
218     public static final int VIEWER_STATUS_PAGE_FOOTER = 4;
219 
220     public static final int VIEWER_TOOLBAR_NONE = 0;
221     public static final int VIEWER_TOOLBAR_TOP = 1;
222     public static final int VIEWER_TOOLBAR_BOTTOM = 2;
223     public static final int VIEWER_TOOLBAR_LEFT = 3;
224     public static final int VIEWER_TOOLBAR_RIGHT = 4;
225     public static final int VIEWER_TOOLBAR_SHORT_SIDE = 5;
226     public static final int VIEWER_TOOLBAR_LONG_SIDE = 6;
227 
228     public static final int VIEWER_TOOLBAR_100 = 0;
229     public static final int VIEWER_TOOLBAR_100_gray = 1;
230     public static final int VIEWER_TOOLBAR_75 = 2;
231     public static final int VIEWER_TOOLBAR_75_gray = 3;
232     public static final int VIEWER_TOOLBAR_50 = 4;
233     public static final int VIEWER_TOOLBAR_50_gray = 5;
234 
235 
236     public enum Lang {
237     	DEFAULT("system", R.string.options_app_locale_system, R.raw.help_template_en),
238     	EN("en", R.string.options_app_locale_en, R.raw.help_template_en),
239         DE("de", R.string.options_app_locale_de, 0),
240     	ES("es", R.string.options_app_locale_es, 0),
241     	FR("fr", R.string.options_app_locale_fr, 0),
242     	JA("ja", R.string.options_app_locale_ja, 0),
243     	RU("ru", R.string.options_app_locale_ru, R.raw.help_template_ru),
244     	UK("uk", R.string.options_app_locale_uk, R.raw.help_template_ru),
245     	BG("bg", R.string.options_app_locale_bg, 0),
246     	BY("by", R.string.options_app_locale_by, 0),
247     	SK("sk", R.string.options_app_locale_sk, 0),
248     	TR("tr", R.string.options_app_locale_tr, 0),
249     	LT("lt", R.string.options_app_locale_lt, 0),
250     	IT("it", R.string.options_app_locale_it, 0),
251     	HU("hu", R.string.options_app_locale_hu, R.raw.help_template_hu),
252     	NL("nl", R.string.options_app_locale_nl, 0),
253     	PL("pl", R.string.options_app_locale_pl, 0),
254         PT("pt", R.string.options_app_locale_pt, 0),
255         PT_BR("pt_BR", R.string.options_app_locale_pt_rbr, 0),
256     	CS("cs", R.string.options_app_locale_cs, 0),
257     	ZH_CN("zh_CN", R.string.options_app_locale_zh_cn, R.raw.help_template_zh_cn),
258     	;
259 
getLocale()260     	public Locale getLocale() {
261    			return getLocale(code);
262     	}
263 
getLocale(String code)264     	static public Locale getLocale(String code) {
265     		if (code.length() == 2)
266     			return new Locale(code);
267     		if (code.length() == 5)
268     			return new Locale(code.substring(0, 2), code.substring(3, 5));
269     		return null;
270     	}
271 
getCode(Locale locale)272     	static public String getCode(Locale locale) {
273     		String country = locale.getCountry();
274     		if (country == null || country.length()==0)
275     			return locale.getLanguage();
276 			return locale.getLanguage() + "_" + country;
277     	}
278 
byCode(String code)279     	static public Lang byCode(String code) {
280     		for (Lang lang : values())
281     			if (lang.code.equals(code))
282     				return lang;
283     		if (code.length() > 2) {
284     			code = code.substring(0, 2);
285         		for (Lang lang : values())
286         			if (lang.code.equals(code))
287         				return lang;
288     		}
289     		Log.w("cr3", "language not found by code " + code);
290     		return DEFAULT;
291     	}
292 
Lang(String code, int nameResId, int helpFileResId)293     	private Lang(String code, int nameResId, int helpFileResId) {
294     		this.code = code;
295     		this.nameId = nameResId;
296     		this.helpFileResId = helpFileResId;
297     	}
298     	public final String code;
299     	public final int nameId;
300     	public final int helpFileResId;
301     };
302 
303 
304 	public final static int MAX_PROFILES = 6;
305 
306 	// settings which depend on profile
307 	public final static String[] PROFILE_SETTINGS = {
308 	    "background.*",
309 	    PROP_NIGHT_MODE,
310 	    "font.*",
311 	    "crengine.page.*",
312 	    PROP_FONT_SIZE,
313 	    PROP_FALLBACK_FONT_FACES,
314 	    PROP_INTERLINE_SPACE,
315 	    PROP_STATUS_LINE,
316 	    PROP_FOOTNOTES,
317 	    "window.status.*",
318 	    PROP_FLOATING_PUNCTUATION,
319 	    PROP_LANDSCAPE_PAGES,
320 	    PROP_HYPHENATION_DICT,
321 	    "crengine.image.*",
322 	    PROP_FORMAT_MIN_SPACE_CONDENSING_PERCENT,
323 	    PROP_APP_FULLSCREEN,
324 	    "app.screen.*",
325 	    PROP_APP_DICTIONARY,
326 	    PROP_APP_SELECTION_ACTION,
327 	    PROP_APP_SELECTION_PERSIST,
328 	    PROP_APP_HIGHLIGHT_BOOKMARKS + "*",
329 	    PROP_HIGHLIGHT_SELECTION_COLOR + "*",
330 	    PROP_HIGHLIGHT_BOOKMARK_COLOR_COMMENT + "*",
331 	    PROP_HIGHLIGHT_BOOKMARK_COLOR_CORRECTION + "*",
332 
333       "viewer.*",
334 	    PROP_APP_VIEW_AUTOSCROLL_SPEED,
335 	    PROP_APP_VIEW_AUTOSCROLL_TYPE,
336 
337       "app.key.*",
338 	    "app.tapzone.*",
339 	    PROP_APP_DOUBLE_TAP_SELECTION,
340 	    "app.touch.*",
341 
342 	    "app.ui.theme*",
343 	};
344 
345 
346 }
347