From 0ca5b8360080d4b1519655651557b92d23edba31 Mon Sep 17 00:00:00 2001 From: Shinwoo Kim Date: Thu, 30 Jul 2015 18:51:40 +0900 Subject: [PATCH] Add accessibility submenu Accessibility submenu will be used to launch accessibility features, like screen reader, screen magnification etc. Change-Id: Ibdaba51b45d199155e02549463e5f2940aa01b0a --- data/images/ico_settings_accessibility.png | Bin 0 -> 5304 bytes data/viewer/icon.edc | 60 ++++++++++++++++++++++++++++- json/accessibility.json | 34 ++++++++++++++++ json/maincatalog.json | 8 +++- src/settings_provider.c | 14 ++++++- 5 files changed, 113 insertions(+), 3 deletions(-) create mode 100644 data/images/ico_settings_accessibility.png create mode 100644 json/accessibility.json diff --git a/data/images/ico_settings_accessibility.png b/data/images/ico_settings_accessibility.png new file mode 100644 index 0000000000000000000000000000000000000000..0829cfc1d22a9fb86eb2f29e4949dc313eb14f56 GIT binary patch literal 5304 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 KMNUMnLSTYFGdidM literal 0 HcmV?d00001 diff --git a/data/viewer/icon.edc b/data/viewer/icon.edc index c4b673e..44f67a3 100644 --- a/data/viewer/icon.edc +++ b/data/viewer/icon.edc @@ -418,4 +418,62 @@ group { target: "icon"; } } -} \ No newline at end of file +} + +group { + name: "accessibility"; + images { + image: "ico_settings_accessibility.png" COMP; + } + parts { + part { + name: "icon"; + type: IMAGE; + scale: 1; + description { + state: "default" 0.0; + image.normal: "ico_settings_accessibility.png"; + color: 255 255 255 153; + } + description { + state: "focused" 0.0; + image.normal: "ico_settings_accessibility.png"; + } + description { + state: "highlight" 0.0; + inherit: "focused" 0.0; + color: 255 255 255 255; + } + } + } + programs { + program { + name: MAIN_BTN_NORMAL; + signal: MAIN_BTN_NORMAL; + source: MAIN_BTN; + action: STATE_SET "default" 0.0; + target: "icon"; + } + program { + name: MAIN_BTN_FOCUSED; + signal: MAIN_BTN_FOCUSED; + source: MAIN_BTN; + action: STATE_SET "focused" 0.0; + target: "icon"; + } + program { + name: MAIN_BTN_UNFOCUSED; + signal: MAIN_BTN_UNFOCUSED; + source: MAIN_BTN; + action: STATE_SET "default" 0.0; + target: "icon"; + } + program { + name: MAIN_BTN_HIGHLIGHT; + signal: MAIN_BTN_HIGHLIGHT; + source: MAIN_BTN; + action: STATE_SET "highlight" 0.0; + target: "icon"; + } + } +} diff --git a/json/accessibility.json b/json/accessibility.json new file mode 100644 index 0000000..a05afaf --- /dev/null +++ b/json/accessibility.json @@ -0,0 +1,34 @@ +{ + "settingitems": { + "screen-reader": { + "display-name": "Screen Reader", + "style": "title.value", + "setting-ui": { + "style": "ctxpopup" + }, + "data": { + "key": "settings/accessibility/screen_reader", + "type": "bool", + "list": [ + { + "display-value": "OFF", + "value": "0" + }, + { + "display-value": "ON", + "value": "1" + } + ] + } + } + }, + "settingtree": { + "accessibility": { + "subsettingitems": [ + "screen-reader" + ], + "parentitem": "maincatalog" + } + } +} + diff --git a/json/maincatalog.json b/json/maincatalog.json index 85aa908..887a747 100644 --- a/json/maincatalog.json +++ b/json/maincatalog.json @@ -34,6 +34,11 @@ "display-name": "SUPPORT", "style": "animicon", "resource-file": "support.edj" + }, + "accessibility": { + "display-name": "ACCESSIBILITY", + "style": "animicon", + "resource-file": "accessibility.edj" } }, "settingtree": { @@ -45,7 +50,8 @@ "network", "device-manager", "system", - "support" + "support", + "accessibility" ], "parentitem": "maincatalog" } diff --git a/src/settings_provider.c b/src/settings_provider.c index b61d070..ae5ef59 100644 --- a/src/settings_provider.c +++ b/src/settings_provider.c @@ -41,6 +41,7 @@ #define KEY_SUBTITLE_LANGUAGE "db/menu/subtitle/subtitlelanguage" #define KEY_SYSTEM_LANGUAGE "db/menu_widget/language" #define KEY_SYSTEM_COUNTRY "db/menu_widget/regionformat" +#define KEY_ACCESSIBILITY_SCREEN_READER "db/setting/accessibility/tts" #define SYSTEM_LANGUAGE_DEFAULT_VALUE "en_US.utf8" #define WAKEUP_TIMER_SETUP_DEFAULT_VALUE "OFF" @@ -66,7 +67,8 @@ enum item_type { SYSTEM_RESET, SYSTEM_PASSCODE, SYSTEM_CLOCK_MODE, - CHANNEL_LOCK + CHANNEL_LOCK, + SCREEN_READER, }; struct keymap { @@ -150,6 +152,10 @@ static struct keymap item_keymap[] = { { .key = "settings/channel/channel_lock", .type = CHANNEL_LOCK + }, + { + "settings/accessibility/screen_reader", + SCREEN_READER } }; @@ -610,6 +616,9 @@ static int _set_bool(const char *key, const int val) case CHANNEL_LOCK: r = vconf_set_bool(KEY_CHANNEL_LOCK, val); break; + case SCREEN_READER: + r = vconf_set_bool(KEY_ACCESSIBILITY_SCREEN_READER, val); + break; default: break; } @@ -639,6 +648,9 @@ static int _get_bool(const char *key, int *val) case CHANNEL_LOCK: r = vconf_get_bool(KEY_CHANNEL_LOCK, val); break; + case SCREEN_READER: + r = vconf_get_bool(KEY_ACCESSIBILITY_SCREEN_READER, val); + break; default: break; } -- 2.7.4