/*
* @brief Appends window from window list
*/
-void window_tracker_window_append(WindowTrackerData *wtd, AtspiAccessible *window, AtspiRole role);
+void window_tracker_window_append(WindowTrackerData *wtd, AtspiAccessible *window);
/*
* @brief Removes window from window list
AtspiAccessible *desktop;
};
+#ifndef SCREEN_READER_TV
+static void app_tracker_window_append(void *data, AtspiAccessible *root);
+#endif
+
#ifndef SCREEN_READER_TV
static void app_tracker_context_switch(void *data, AtspiAccessible *root);
#endif
because the 'visible' callback of window tracker is not called on window tracker side,
if window object is removed. */
DEBUG("Append Window");
- window_tracker_window_append(atd->window_tracker_data, event->source, role);
+ window_tracker_window_append(atd->window_tracker_data, event->source);
} else if (role == ATSPI_ROLE_PAGE_TAB) {
// refresh default label for newly showing page tab
DEBUG("Refreshing TAB");
DEBUG("Registering app_tracker_context_switch=%p, for atd=%p", app_tracker_context_switch, atd);
window_tracker_register(atd->window_tracker_data, app_tracker_context_switch, atd);
window_tracker_active_window_request(atd->window_tracker_data);
- navigator_set_context_switch_cb(nd, app_tracker_context_switch, atd);
+ navigator_set_context_switch_cb(nd, app_tracker_window_append, atd);
#endif
atd->desktop = atspi_get_desktop(0);
g_free(atd);
}
+#ifndef SCREEN_READER_TV
+static void app_tracker_window_append(void *data, AtspiAccessible *root)
+{
+ App_Tracker_Data *atd = (App_Tracker_Data *)data;
+ if (!atd) {
+ ERROR("app_tracker module used without initialization");
+ return;
+ }
+ window_tracker_window_append(atd->window_tracker_data, root);
+}
+#endif
+
#ifndef SCREEN_READER_TV
static void app_tracker_context_switch(void *data, AtspiAccessible *root)
{
static void _set_vconf_key_changed_callback_keyboard_status(KeyboardTrackerData *ktd)
{
DEBUG("START");
- int keyboard_state;
- int ret = vconf_get_int(VCONFKEY_ISF_INPUT_PANEL_STATE, &keyboard_state);
+ int ret = vconf_get_int(VCONFKEY_ISF_INPUT_PANEL_STATE, &ktd->prev_keyboard_state);
if (ret != 0) {
ERROR("ret == %d", ret);
return;
return;
}
nd->last_hover_event_time = info->state != 1 ? -1 : info->event_time;
+ _focus_widget(nd, info);
+
keyboard_status = keyboard_event_status(nd->keyboard_tracker_data, info->resource_id);
if (keyboard_status) {
keyboard_signal_emit(nd->keyboard_tracker_data, info->type, info->x_end, info->y_end);
- /*TODO: Check if break is necessary or not.
- If the keypad window is top, the _focus_widget should be used
- to make highlight on keypad window. */
- //break;
}
- _focus_widget(nd, info);
}
break;
case TWO_FINGERS_HOVER:
}
break;
case ONE_FINGER_SINGLE_TAP:
- keyboard_status = keyboard_event_status(nd->keyboard_tracker_data, info->resource_id);
- if (keyboard_status) {
- keyboard_signal_emit(nd->keyboard_tracker_data, info->type, info->x_end, info->y_end);
- /*TODO: Check if break is necessary or not.
- If the keypad window is top, the _focus_widget should be used
- to make highlight on keypad window. */
- //break;
- }
if (info->state == 2 && nd->prepared)
nd->prepared = false;
if (!nd->prepared)
_focus_widget(nd, info);
+ keyboard_status = keyboard_event_status(nd->keyboard_tracker_data, info->resource_id);
+ if (keyboard_status) {
+ keyboard_signal_emit(nd->keyboard_tracker_data, info->type, info->x_end, info->y_end);
+ }
break;
case ONE_FINGER_DOUBLE_TAP:
keyboard_status = keyboard_event_status(nd->keyboard_tracker_data, info->resource_id);
(window_activate_info_type & ACCESSIBLE_WINDOW_ACTIVATE_INFO_KEYBOARD);
if (keyboard_window_activated) {
wtd->keyboard_window = g_object_ref(event->source);
+ window_tracker_keyboard_window_append(wtd);
goto end;
}
_window_append(wtd, event->source, EINA_TRUE, EINA_FALSE, window_activate_info_type);
return _top_window_get(wtd);
}
-void window_tracker_window_append(WindowTrackerData *wtd, AtspiAccessible *window, AtspiRole role)
+void window_tracker_window_append(WindowTrackerData *wtd, AtspiAccessible *window)
{
+ if (atspi_accessible_is_equal(wtd->keyboard_window, window)) {
+ window_tracker_keyboard_window_append(wtd);
+ return;
+ }
_window_append(wtd, window, EINA_TRUE, EINA_FALSE, ACCESSIBLE_WINDOW_ACTIVATE_INFO_DEFAULT_LABEL_ENABLED);
}