summaryrefslogtreecommitdiff
path: root/legacy/elementary/src/lib/elm_access.c
diff options
context:
space:
mode:
authorShinwoo Kim <cinoo.kim@samsung.com>2013-04-17 17:22:13 +0900
committerShinwoo Kim <cinoo.kim@samsung.com>2013-04-17 17:22:13 +0900
commit31afa29838d70e6524d5f3741358011842eec70c (patch)
treed16f4da537773c15fc18b48af1418a0bfbd00bf9 /legacy/elementary/src/lib/elm_access.c
parent816be828476fc75ca6bde07db9f897beeda0d257 (diff)
[access] read at once
Diffstat (limited to 'legacy/elementary/src/lib/elm_access.c')
-rw-r--r--legacy/elementary/src/lib/elm_access.c32
1 files changed, 26 insertions, 6 deletions
diff --git a/legacy/elementary/src/lib/elm_access.c b/legacy/elementary/src/lib/elm_access.c
index a672bee..06d9ca1 100644
--- a/legacy/elementary/src/lib/elm_access.c
+++ b/legacy/elementary/src/lib/elm_access.c
@@ -137,17 +137,37 @@ _access_highlight_object_get(Evas_Object *obj)
137static void 137static void
138_access_highlight_read(Elm_Access_Info *ac, Evas_Object *obj) 138_access_highlight_read(Elm_Access_Info *ac, Evas_Object *obj)
139{ 139{
140 int type;
141 char *txt = NULL;
142 Eina_Strbuf *strbuf;
143
144 strbuf = eina_strbuf_new();
145
140 if (_elm_config->access_mode != ELM_ACCESS_MODE_OFF) 146 if (_elm_config->access_mode != ELM_ACCESS_MODE_OFF)
141 { 147 {
142 if (ac->on_highlight) ac->on_highlight(ac->on_highlight_data); 148 if (ac->on_highlight) ac->on_highlight(ac->on_highlight_data);
143 _elm_access_object_hilight(obj); 149 _elm_access_object_hilight(obj);
144 _elm_access_read(ac, ELM_ACCESS_CANCEL, obj); 150
145 _elm_access_read(ac, ELM_ACCESS_TYPE, obj); 151 for (type = ELM_ACCESS_INFO_FIRST + 1; type < ELM_ACCESS_INFO_LAST; type++)
146 _elm_access_read(ac, ELM_ACCESS_INFO, obj); 152 {
147 _elm_access_read(ac, ELM_ACCESS_STATE, obj); 153 txt = _elm_access_text_get(ac, type, obj);
148 _elm_access_read(ac, ELM_ACCESS_CONTEXT_INFO, obj); 154 if (txt && (strlen(txt) > 0))
149 _elm_access_read(ac, ELM_ACCESS_DONE, obj); 155 {
156 if (eina_strbuf_length_get(strbuf) > 0)
157 eina_strbuf_append_printf(strbuf, ", %s", txt);
158 else
159 eina_strbuf_append(strbuf, txt);
160
161 free(txt);
162 }
163 }
150 } 164 }
165
166 txt = eina_strbuf_string_steal(strbuf);
167 eina_strbuf_free(strbuf);
168
169 _elm_access_say(txt);
170 free(txt);
151} 171}
152 172
153static Eina_Bool 173static Eina_Bool