int retVal = 0;
Ecore_X_Window app_window = 0;
+ LOGD("Trying to get app window degree for %p\n", keypad_win);
Ecore_X_Window win = elm_win_xwindow_get(static_cast<Evas_Object*>(keypad_win));
ret = XGetWindowProperty((Display *)ecore_x_display_get (),
ecore_x_window_root_get(win),
&format_return, &nitems_return, &bytes_after_return,
&data_angle);
+ LOGD("app_window : %p, ret %d, %d, %p\n", app_window, ret, type_return, data_angle);
if (ret == Success) {
if (data_angle) {
if (type_return == XA_CARDINAL) {
{
Evas_Object *option_window;
Evas_Object *naviframe;
+ Evas_Object *lang_popup;
Ecore_Event_Handler *event_handler;
}
}
-Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
+static void _popup_timeout_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ if (obj) {
+ evas_object_smart_callback_del(obj, "timeout", _popup_timeout_cb);
+ evas_object_del(obj);
+ ad.lang_popup = NULL;
+ }
+}
+
+
+Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
{
language_selection_finished_cb(NULL, NULL, NULL);
+ if (ad.lang_popup) {
+ _popup_timeout_cb(NULL, ad.lang_popup, NULL);
+ }
return EINA_TRUE;
}
void
close_option_window()
{
- if (ad.option_window)
- {
+ if (ad.option_window) {
evas_object_del(ad.option_window);
ad.option_window = NULL;
}
strncpy(main_itemdata[SETTING_ITEM_ID_LANGUAGE].sub_text, languages.c_str(), ITEM_DATA_STRING_LEN - 1);
}
-static void _response_cb(void *data, Evas_Object * obj, void *event_info)
-{
- if (obj)
- evas_object_del(obj);
-}
-
static void language_selected(void *data, Evas_Object *obj, void *event_info)
{
ITEMDATA *item_data = (ITEMDATA*)data;
info->enabled = TRUE;
elm_check_state_set(obj, EINA_TRUE);
- Evas_Object *lang_popup = elm_popup_add(ad.naviframe);
- elm_object_text_set(lang_popup, MSG_NONE_SELECTED);
- elm_popup_timeout_set(lang_popup, 3.0);
- evas_object_smart_callback_add(lang_popup, "response", _response_cb, ad.naviframe);
- evas_object_show(lang_popup);
+ ad.lang_popup = elm_popup_add(ad.naviframe);
+ elm_object_text_set(ad.lang_popup, MSG_NONE_SELECTED);
+ elm_popup_timeout_set(ad.lang_popup, 3.0);
+ evas_object_smart_callback_add(ad.lang_popup, "timeout", _popup_timeout_cb, ad.naviframe);
+ evas_object_show(ad.lang_popup);
}
}
}