reset_ise_config_values();
_language_manager.set_enabled_languages(g_config_values.enabled_languages);
- Evas_Object *genlist = static_cast<Evas_Object*>(evas_object_data_get(obj, "parent_genlist"));
+ Evas_Object *genlist = static_cast<Evas_Object*>(evas_object_data_get(obj, "parent_object"));
SCLOptionWindowType type = find_option_window_type(genlist);
if (CHECK_ARRAY_INDEX(type, OPTION_WINDOW_TYPE_MAX)) {
evas_object_del(popup);
}
-static void reset_settings_popup_response_cancel_cb(void *data, Evas_Object *obj, void *event_info)
+static void popup_response_cancel_cb(void *data, Evas_Object *obj, void *event_info)
{
Evas_Object *popup = (Evas_Object *)data;
if (popup)
evas_object_del(popup);
}
-static void clear_data_popup_response_cancel_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup = (Evas_Object *)data;
- if (popup)
- evas_object_del(popup);
-}
-
static Evas_Object *create_popup_button(Evas_Object *parent, const char *style, const char *icon_path, const char *string)
{
Evas_Object *btn = elm_button_add(parent);
}
#endif
-static void reset_settings_popup(void *data, Evas_Object *obj, void *event_info)
+static Evas_Object *show_popup(Evas_Object *parent, const char *message, const char *cancel_text, Evas_Smart_Cb cancel_cb, const char *ok_text, Evas_Smart_Cb ok_cb)
{
const char *icon_path = NULL;
- Evas_Object *popup = elm_popup_add(elm_object_top_widget_get(obj));
+ Evas_Object *popup = elm_popup_add(elm_object_top_widget_get(parent));
elm_popup_align_set(popup, ELM_NOTIFY_ALIGN_FILL, 1.0);
#ifdef _TV
elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
Evas_Object *layout = elm_layout_add(popup);
elm_layout_theme_set(layout, "layout", "popup", "content/circle/buttons2");
- elm_object_domain_translatable_part_text_set(layout, "elm.text", PACKAGE, RESET_SETTINGS_POPUP_TEXT);
+ elm_object_domain_translatable_part_text_set(layout, "elm.text", PACKAGE, message);
elm_object_content_set(popup, layout);
/* accessibility */
_screen_reader_information_set(layout);
#else
- elm_object_domain_translatable_text_set(popup, PACKAGE, RESET_SETTINGS_POPUP_TEXT);
+ elm_object_domain_translatable_text_set(popup, PACKAGE, message);
elm_object_domain_translatable_part_text_set(popup, "title,text", PACKAGE, RESET_SETTINGS_POPUP_TITLE_TEXT);
#endif
#ifdef _CIRCLE
icon_path = ICON_DIR"/tw_ic_popup_btn_delete.png";
#endif
- Evas_Object *btn_cancel = create_popup_button(popup, "popup/circle/left", icon_path, POPUP_CANCEL_BTN);
+ Evas_Object *btn_cancel = create_popup_button(popup, "popup/circle/left", icon_path, cancel_text);
elm_object_part_content_set(popup, "button1", btn_cancel);
- evas_object_smart_callback_add(btn_cancel, "clicked", reset_settings_popup_response_cancel_cb, popup);
+ evas_object_smart_callback_add(btn_cancel, "clicked", cancel_cb, popup);
#ifdef _TV
elm_object_focus_set(btn_cancel, EINA_TRUE);
#endif
#ifdef _CIRCLE
icon_path = ICON_DIR"/tw_ic_popup_btn_check.png";
#endif
- Evas_Object *btn_ok = create_popup_button(popup, "popup/circle/right", icon_path, POPUP_OK_BTN);
- evas_object_data_set(btn_ok, "parent_genlist", obj);
+ Evas_Object *btn_ok = create_popup_button(popup, "popup/circle/right", icon_path, ok_text);
+ evas_object_data_set(btn_ok, "parent_object", parent);
elm_object_part_content_set(popup, "button2", btn_ok);
- evas_object_smart_callback_add(btn_ok, "clicked", reset_settings_popup_response_ok_cb, popup);
+ evas_object_smart_callback_add(btn_ok, "clicked", ok_cb, popup);
evas_object_show(popup);
+
+ return popup;
}
-static void clear_personalized_data_popup(void *data, Evas_Object *obj, void *event_info)
+static void reset_settings_popup(void *data, Evas_Object *obj, void *event_info)
{
- const char *icon_path = NULL;
-
- Evas_Object *popup = elm_popup_add(elm_object_top_widget_get(obj));
- elm_popup_align_set(popup, ELM_NOTIFY_ALIGN_FILL, 1.0);
-#ifdef _TV
- elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
-#endif
- eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, NULL);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
-#ifdef _CIRCLE
- elm_object_style_set(popup, "circle");
-
- Evas_Object *layout = elm_layout_add(popup);
- elm_layout_theme_set(layout, "layout", "popup", "content/circle/buttons2");
- elm_object_domain_translatable_part_text_set(layout, "elm.text", PACKAGE, CLEAR_PERSONLIZED_DATA_POPUP_TEXT);
- elm_object_content_set(popup, layout);
-
- /* accessibility */
- _screen_reader_information_set(layout);
-#else
- elm_object_domain_translatable_text_set(popup, PACKAGE, RESET_SETTINGS_POPUP_TEXT);
- elm_object_domain_translatable_part_text_set(popup, "title,text", PACKAGE, RESET_SETTINGS_POPUP_TITLE_TEXT);
-#endif
-
- /* Cancel button */
-#ifdef _CIRCLE
- icon_path = ICON_DIR"/tw_ic_popup_btn_delete.png";
-#endif
- Evas_Object *btn_cancel = create_popup_button(popup, "popup/circle/left", icon_path, POPUP_CANCEL_BTN);
- elm_object_part_content_set(popup, "button1", btn_cancel);
- evas_object_smart_callback_add(btn_cancel, "clicked", clear_data_popup_response_cancel_cb, popup);
-#ifdef _TV
- elm_object_focus_set(btn_cancel, EINA_TRUE);
-#endif
+ show_popup(obj, RESET_SETTINGS_POPUP_TEXT, POPUP_CANCEL_BTN, popup_response_cancel_cb, POPUP_OK_BTN, reset_settings_popup_response_ok_cb);
+}
- /* Ok button */
-#ifdef _CIRCLE
- icon_path = ICON_DIR"/tw_ic_popup_btn_check.png";
-#endif
- Evas_Object *btn_ok = create_popup_button(popup, "popup/circle/right", icon_path, POPUP_OK_BTN);
- evas_object_data_set(btn_ok, "parent_genlist", obj);
- elm_object_part_content_set(popup, "button2", btn_ok);
- evas_object_smart_callback_add(btn_ok, "clicked", clear_data_popup_response_ok_cb, popup);
- evas_object_show(popup);
+static void clear_personalized_data_popup(void *data, Evas_Object *obj, void *event_info)
+{
+ show_popup(obj, CLEAR_PERSONLIZED_DATA_POPUP_TEXT, POPUP_CANCEL_BTN, popup_response_cancel_cb, POPUP_OK_BTN, clear_data_popup_response_ok_cb);
}
static char *_main_gl_text_get(void *data, Evas_Object *obj, const char *part)
}
#endif
+static Evas_Object *get_check(Elm_Object_Item *item)
+{
+ Evas_Object *ck;
+ ck = elm_object_item_part_content_get(item, "elm.swallow.end");
+ if (ck == NULL)
+ ck = elm_object_item_part_content_get(item, "elm.icon");
+
+ return ck;
+}
+
static Eina_Bool _update_check_button_state(Elm_Object_Item *item, Evas_Object *obj)
{
Eina_Bool state = EINA_FALSE;
if (item && obj) {
elm_genlist_item_selected_set(item, EINA_FALSE);
/* Update check button */
-#ifndef _TV
- Evas_Object *ck = elm_object_item_part_content_get(item, "elm.swallow.end");
- if (ck == NULL)
- ck = elm_object_item_part_content_get(item, "elm.icon");
- evas_object_data_set(ck, "parent_genlist", obj);
+ Evas_Object *ck = get_check(item);
+ evas_object_data_set(ck, "parent_object", obj);
state = !elm_check_state_get(ck);
+#ifndef _TV
elm_check_state_set(ck, state);
#else
- Evas_Object *ck = elm_object_item_part_content_get(item, "elm.swallow.end");
- if (ck == NULL)
- ck = elm_object_item_part_content_get(item, "elm.icon");
- evas_object_data_set(ck, "parent_genlist", obj);
- state = !tv_check_state_get(ck);
tv_switch_check_state(ck, state);
#endif
}
LANGUAGE_INFO *info = _language_manager.get_language_info(item_data->mode);
if (info) {
Evas_Object *ck = _create_check_button(obj, info->enabled);
- evas_object_data_set(ck, "parent_genlist", obj);
+ evas_object_data_set(ck, "parent_object", obj);
evas_object_smart_callback_add(ck, "changed", language_selected, data);
evas_object_show(ck);
item = ck;
elm_genlist_item_selected_set(item, EINA_FALSE);
// Update check button
- Evas_Object *ck = elm_object_item_part_content_get(item, "elm.swallow.end");
- if (!ck) {
- ck = elm_object_item_part_content_get(item, "elm.icon");
- }
-
+ Evas_Object *ck = get_check(item);
if (ck) {
- evas_object_data_set(ck, "parent_genlist", obj);
+ evas_object_data_set(ck, "parent_object", obj);
Eina_Bool state = elm_check_state_get(ck);
elm_check_state_set(ck, !state);
language_selected(item_data, ck, NULL);
static void language_selected(void *data, Evas_Object *obj, void *event_info)
{
- Evas_Object *genlist = static_cast<Evas_Object*>(evas_object_data_get(obj, "parent_genlist"));
+ Evas_Object *genlist = static_cast<Evas_Object*>(evas_object_data_get(obj, "parent_object"));
SCLOptionWindowType type = find_option_window_type(genlist);
LOGD("type=%d\n", type);
ITEMDATA *item_data = (ITEMDATA*)data;