efl_access: if 0 is set as reading_info_type, remove existing reading_info

Summary:
if 0 is set as reading_info_type, remove existing reading_info and
allow default reading info types (name, role, state and description)
to be read.
Do not set reading info again in reading_info_type_set API if new
value matches the old value.

Test Plan:
If application does not set reading_info_type or set 0 reading_info_type,
All four reading info types of an accessible object should be read on highlight.

Signed-off-by: Shilpa Singh <shilpa.singh@samsung.com>

Reviewers: kimcinoo, jsuya, bu5hm4n, lukasz.stanislawski

Subscribers: prasoonsingh16, rajeev.jnnce, #reviewers, cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8435
This commit is contained in:
Shilpa Singh 2019-03-25 10:11:39 +09:00 committed by Shinwoo Kim
parent e6d8ac512d
commit ed51150853
2 changed files with 13 additions and 2 deletions

View File

@ -272,7 +272,14 @@ EOLIAN static void
_efl_access_object_reading_info_type_set(Eo *obj, Efl_Access_Object_Data *pd, Efl_Access_Reading_Info_Type reading_info)
{
Eina_Strbuf *buf = NULL;
if (reading_info == pd->reading_info)
return;
pd->reading_info = reading_info;
if (!pd->reading_info)
{
efl_access_object_attribute_del(obj, "reading_info_type");
return;
}
buf = eina_strbuf_new();
eina_strbuf_reset(buf);
if (reading_info & (EFL_ACCESS_READING_INFO_TYPE_NAME))

View File

@ -319,10 +319,14 @@ mixin @beta Efl.Access.Object requires Efl.Object
}
@property reading_info_type @protected {
get {
[[Gets reading information types of an accessible object.]]
[[Gets reading information types of an accessible object. if no reading information
is set, 0 is returned which means all four reading information types will be read on
object highlight]]
}
set {
[[Sets reading information of an accessible object.]]
[[Sets reading information of an accessible object. If set as 0, existing
reading info will be deleted and by default all four reading information types
like name, role, state and description will be read on object highlight]]
}
values {
reading_info: Efl.Access.Reading.Info.Type; [[Reading information types]]