extern bool sound_feedback;
-static Eina_Bool _has_activate_action(AtspiAccessible * obj)
+Eina_Bool _has_activate_action(AtspiAccessible * obj)
{
Eina_Bool ret = EINA_FALSE;
case ATSPI_ROLE_PAGE_TAB_LIST:
case ATSPI_ROLE_INPUT_METHOD_WINDOW:
return EINA_FALSE;
- case ATSPI_ROLE_DIALOG:
- if (!_has_activate_action(obj))
- return EINA_FALSE;
break;
default:
break;
role = atspi_accessible_get_role(node, NULL);
if (node != start && (relation_mode || !prev_related_in_direction) && !(cc > 0 && next_sibling_idx_modifier < 0 && !all_children_visited) && stop_condition(node))
{
- if (role == ATSPI_ROLE_PAGE_TAB || role == ATSPI_ROLE_POPUP_MENU)
+ if (role == ATSPI_ROLE_PAGE_TAB || role == ATSPI_ROLE_POPUP_MENU || role == ATSPI_ROLE_DIALOG)
{
if (start == NULL)
{
int children_count = _find_popup_list_children_count(obj);
char trait[HOVERSEL_TRAIT_SIZE];
- snprintf(trait, HOVERSEL_TRAIT_SIZE, _("IDS_TRAIT_POPUP"));
- strncat(ret, trait, sizeof(ret) - strlen(ret) - 1);
- strncat(ret, ", ", sizeof(ret) - strlen(ret) - 1);
-
if (children_count > 0) {
snprintf(trait, HOVERSEL_TRAIT_SIZE, _("IDS_TRAIT_SHOWING"));
strncat(ret, trait, sizeof(ret) - strlen(ret) - 1);
strncat(ret, trait, sizeof(ret) - strlen(ret) - 1);
strncat(ret, ", ", sizeof(ret) - strlen(ret) - 1);
}
-
- snprintf(trait, HOVERSEL_TRAIT_SIZE, _("IDS_TRAIT_POPUP_CLOSE"));
- strncat(ret, trait, sizeof(ret) - strlen(ret) - 1);
+ if (_has_activate_action(obj)) {
+ snprintf(trait, HOVERSEL_TRAIT_SIZE, _("IDS_TRAIT_POPUP_CLOSE"));
+ strncat(ret, trait, sizeof(ret) - strlen(ret) - 1);
+ }
break;
}
case ATSPI_ROLE_COMBO_BOX: {
haptic_vibrate_start(HAPTIC_VIBRATE_DURATION, HAPTIC_VIBRATE_INTENSITY);
role = atspi_accessible_get_role(obj, NULL);
- if (role != ATSPI_ROLE_PAGE_TAB && role != ATSPI_ROLE_POPUP_MENU) { /* ctxpopup outline does not show highlight frame */
+ if (role != ATSPI_ROLE_PAGE_TAB && role != ATSPI_ROLE_POPUP_MENU && role != ATSPI_ROLE_DIALOG) { /* ctxpopup outline does not show highlight frame */
if (role == ATSPI_ROLE_UNKNOWN) {
/* to support elm_access used for embedded toolkit,
probably have to check more such as attribute 'type',