/*
* setting
+ * Copyright (c) 2012 Samsung Electronics Co., Ltd.
*
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd.
- *
- * Contact: MyoungJune Park <mj2004.park@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.0 (the License);
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://floralicense.org/license/
*
* Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
+ * distributed under the License is distributed on an AS IS BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
#include <setting-cfg.h>
#include <setting-about-main.h>
#include <bluetooth.h>
-
#include <app_manager.h>
#include <system_info.h>
#define DEVNAME_BLOCK_SPACE 0
-// #define SUPPORT_DIAG_USAGE
/** @todo : need to handle unicode encoded input characters */
#define MAX_DEVICE_NAME_LEN 24
#define EMPTY_LIMITATION_STR "The Name cannot be empty or composited by spaces"//"IDS_ST_BODY_THE_NAME_FIELD_CANNOT_BE_EMPTY"
-#define DIAGNOSTICS_USAGE_STR "Diagnostics and Usage"
-#define SOFTWARE_UPDATE_STR "IDS_ST_MBODY_SOFTWARE_UPDATE"
-
static int setting_about_main_create(void *cb);
static int setting_about_main_destroy(void *cb);
Evas_Object *obj,
void *event_info);
+static void _input_panel_event_cb(void *data, Ecore_IMF_Context *ctx, int value);
static void __setting_about_main_certificates_clicked(void *data);
static void __setting_about_main_device_name_clicked(void *data, Evas_Object *obj);
-static void __setting_about_main_diagnostics_usage_clicked(void *data, Evas_Object *obj);
/* ***************************************************
*
*basic func
*
***************************************************/
+
static void __about_popup_rsp_cb(void *data, Evas_Object *obj, void *event_info)
{
SettingAboutUG *ad = data;
}
ad->popup = NULL;
}
+
+static void __error_popup_response_cb(void *data, Evas_Object *obj,
+ void *event_info)
+{
+ SETTING_TRACE_BEGIN;
+ retm_if(data == NULL, "Data parameter is NULL");
+ Setting_GenGroupItem_Data *list_item = data;
+ if (list_item->notify) {
+ evas_object_del(list_item->notify);
+ list_item->notify = NULL;
+ }
+}
+
static void __device_name_changed_cb(void *data, Evas_Object *obj)
{
retm_if(!data || !obj, "Data parameter is NULL");
//return if entry is not focused too
-
+ SETTING_TRACE_BEGIN;
Setting_GenGroupItem_Data *list_item =
(Setting_GenGroupItem_Data *) data;
SettingAboutUG *ad = list_item->userdata;
int entry_len = safeStrLen(entry_str);
SETTING_TRACE("entry_str:[%s], lenght:%d", entry_str, entry_len);
+ SETTING_TRACE("maxLengthReachFlag:[%d], enterKeyPressFlag:%d", list_item->maxLengthReachFlag, list_item->enterKeyPressFlag);
+ /* show the popup if the text already reaches max length and the input character is not the enter key */
+ if (list_item->maxLengthReachFlag && list_item->enterKeyPressFlag == FALSE) {
+ if (!list_item->notify) {
+ list_item->notify = setting_create_popup_without_btn(list_item, list_item->win_main,
+ NULL, _(EXCEED_LIMITATION_STR),
+ __error_popup_response_cb,
+ POPUP_INTERVAL, FALSE, FALSE);
+ elm_object_focus_set(list_item->eo_check, EINA_FALSE);
+ } else {
+ //postpone 2 seconds again
+ elm_popup_timeout_set(list_item->notify, POPUP_INTERVAL);
+ }
+ }
+ list_item->maxLengthReachFlag = false;
+ list_item->enterKeyPressFlag = false;
+
#if DEVNAME_BLOCK_SPACE
//block 'Space' key
if (entry_len > 0 && NULL != strstr(entry_str, " ")) {//cancel the effect of input 'space character'
G_FREE(list_item->sub_desc);//release first
list_item->sub_desc = (char *)g_strdup(entry_str);
- if (NULL == entry_str || 0 == entry_len) {
+ if (isSpaceStr(entry_str)) {
if (!ad->empty_flag)
{
ad->empty_flag = TRUE;
//elm_entry_context_menu_disabled_set(obj, TRUE); //disable the copy&paste&search popup
//elm_entry_magnifier_disabled_set(obj, TRUE);
+/*
Elm_Object_Item *navi_it = elm_naviframe_top_item_get(ad->navi_bar);
if (navi_it)
{
Evas_Object *back_btn = elm_object_item_part_content_get(navi_it, "prev_btn");
- setting_disable_evas_object(back_btn);
- setting_dim_evas_object(back_btn, TRUE);
+ if(back_btn)
+ {
+ setting_disable_evas_object(back_btn);
+ setting_dim_evas_object(back_btn, TRUE);
+ }
Evas_Object *top_r_btn = elm_object_item_part_content_get(navi_it, "title_right_btn");
if(top_r_btn)
setting_dim_evas_object(top_r_btn, TRUE);
}
}
+*/
}
} else {
if (ad->empty_flag)
ad->empty_flag = FALSE;
//elm_entry_context_menu_disabled_set(obj, FALSE); //enable the copy&paste&search popup
//elm_entry_magnifier_disabled_set(obj, FALSE);
+/*
Elm_Object_Item *navi_it = elm_naviframe_top_item_get(ad->navi_bar);
if (navi_it)
{
Evas_Object *back_btn = elm_object_item_part_content_get(navi_it, "prev_btn");
- setting_enable_evas_object(back_btn);
- setting_undo_dim_evas_object(back_btn, TRUE);
+ if(back_btn)
+ {
+ setting_enable_evas_object(back_btn);
+ setting_undo_dim_evas_object(back_btn, TRUE);
+ }
Evas_Object *top_r_btn = elm_object_item_part_content_get(navi_it, "title_right_btn");
if(top_r_btn)
setting_undo_dim_evas_object(top_r_btn, TRUE);
}
}
+*/
}
}
{
retm_if(szStr == NULL, "szStr parameter is NULL");
- // ex) TIZEN
- char *platform = NULL;
- int ret = system_info_get_value_string(SYSTEM_INFO_KEY_PLATFORM_NAME, &platform);
+ char *version = NULL;
+ int ret = system_info_get_value_string(SYSTEM_INFO_KEY_TIZEN_VERSION, &version);
if (ret != SYSTEM_INFO_ERROR_NONE) {
SETTING_TRACE_ERROR("fail to call system_info_get_value_string");
- FREE(platform);
+ FREE(version);
snprintf(szStr, nSize, "%s", _("IDS_ST_HEADER_UNAVAILABLE"));
return;
}
- // ex) 2.0.0b
- char *version = NULL;
- ret = system_info_get_value_string(SYSTEM_INFO_KEY_TIZEN_VERSION, &version);
+ char *build_info = NULL;
+ ret = system_info_get_value_string(SYSTEM_INFO_KEY_BUILD_STRING, &build_info);
if (ret != SYSTEM_INFO_ERROR_NONE) {
SETTING_TRACE_ERROR("fail to call system_info_get_value_string");
-
- FREE(platform);
FREE(version);
-
+ FREE(build_info);
snprintf(szStr, nSize, "%s", _("IDS_ST_HEADER_UNAVAILABLE"));
return;
}
- snprintf(szStr, nSize, "%s %s", platform, version);
- FREE(platform);
+ snprintf(szStr, nSize, "TIZEN %s (%s)", version, build_info);
+
FREE(version);
+ FREE(build_info);
}
void setting_about_main_get_wifi_mac_address_string(char *str, int size)
void setting_about_main_get_battery_string(char *str, int size)
{
setting_retm_if(str == NULL, "str parameter is NULL");
+ struct stat fileAttrs;
+
+ int val = -1;
+ char file[MAX_DISPLAY_STR_LEN_ON_PHONE_INFO] = { 0, };
+ snprintf(file, MAX_DISPLAY_STR_LEN_ON_PHONE_INFO,
+ "%s/%s/%s", SETTING_ABOUT_POWER_SUPPLY_PATH, "battery", "capacity");
+
+ /* If Samsung battery not found, check if this is PR3 */
+ if (stat(file, &fileAttrs) < 0)
+ snprintf(file, MAX_DISPLAY_STR_LEN_ON_PHONE_INFO,
+ "%s/%s/%s", SETTING_ABOUT_POWER_SUPPLY_PATH, "max170xx_battery", "capacity");
+
+ char buf[MAX_DISPLAY_STR_LEN_ON_PHONE_INFO] = { 0, };
+ int fd = 0;
+ int r = 0;
+
+ fd = open(file, O_RDONLY);
+ if (fd != -1) {
+ r = read(fd, buf, MAX_DISPLAY_STR_LEN_ON_PHONE_INFO);
+ if ((r >= 0) && (r < MAX_DISPLAY_STR_LEN_ON_PHONE_INFO)) {
+ buf[r] = '\0';
+ val = atoi(buf);
+ snprintf(str, size, "%d%s", val, "\%");
+ } else {
+ SETTING_TRACE_ERROR("read file fail");
+ snprintf(str, size, "%s", _("IDS_ST_HEADER_UNAVAILABLE"));
+ }
- int bat_level = -1;
-
- /* Read battery level from vconf, as system-server sets that key using a
- device-specific plugin. Reading directly from /sys fails on different
- devices */
- if (vconf_get_int(VCONFKEY_SYSMAN_BATTERY_CAPACITY, &bat_level) == 0) {
- snprintf(str, size, "%d%s", bat_level, "\%");
- }
- else {
- SETTING_TRACE_ERROR("Reading VCONFKEY_SYSMAN_BATTERY_CAPACITY failed.");
+ close(fd);
+ } else {
+ SETTING_TRACE_ERROR("open file fail");
snprintf(str, size, "%s", _("IDS_ST_HEADER_UNAVAILABLE"));
}
}
static void
__about_main_gl_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event)
{
+ SETTING_TRACE_BEGIN;
ret_if(!data);
SettingAboutUG *ad = (SettingAboutUG *) data;
retm_if(event == NULL, "Invalid argument: event info is NULL");
if (ad->item_dev_name) {
Elm_Object_Item *selected_item = elm_genlist_at_xy_item_get(ad->genlsit, ev->output.x, ev->output.y, NULL);
- if (ad->item_dev_name->item == selected_item)//do nothing..
- return;
+ if (ad->item_dev_name->item == selected_item) {
+ if (elm_object_focus_get(ad->item_dev_name->eo_check)) {
+ Ecore_IMF_Context *imf_context = (Ecore_IMF_Context *)elm_entry_imf_context_get(ad->item_dev_name->eo_check);
+ if (imf_context) {
+ ecore_imf_context_input_panel_show(imf_context);
+ }
+ return;
+ }
+ }
elm_object_focus_set(ad->item_dev_name->eo_check, EINA_FALSE);//to make inputing words input
}
const char *entry_str = elm_entry_entry_get(obj);
char *entry_str_utf8 = NULL;
entry_str_utf8 = elm_entry_markup_to_utf8(entry_str);
- //int len = safeStrLen(entry_str_utf8);
SETTING_TRACE("To store \"%s\" into vconf[%s]", entry_str_utf8, VCONFKEY_SETAPPL_DEVICE_NAME_STR);
//ecore_idler_add(__check_on_idler, ad);
setting_hide_input_pannel_cb(item_dev_name->eo_check);
if (item_dev_name) {
if (ad->empty_flag) {
- if (ad->popup) {
- evas_object_del(ad->popup);
- ad->popup = NULL;
- }
- ad->popup = setting_create_popup_without_btn(ad, ad->win_get, NULL, _(EMPTY_LIMITATION_STR),
- __about_popup_rsp_cb, POPUP_INTERVAL, FALSE, FALSE);
+ FREE(entry_str_utf8);
return;
} else {
}
|| safeStrCmp(ev->key, "Return") == 0)
{
// if entry has 1 char at list, hide ime.
- if(safeStrLen(elm_entry_entry_get(obj)) == 0)
+ if(isSpaceStr(elm_entry_entry_get(obj)))
{
if (ad->popup) {
evas_object_del(ad->popup);
}
}
+static void __max_len_reached(void *data, Evas_Object *obj, void *event_info)
+{
+ SETTING_TRACE_BEGIN;
+ retm_if(data == NULL, "Data parameter is NULL");
+ retm_if(!elm_object_focus_get(obj), "Entry is not focused");//notify only when entry is being focused on.
+
+ Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
+ list_item->maxLengthReachFlag = true;
+}
+
+static void __setting_about_main_vconf_change_cb(keynode_t *key, void *data)
+{
+ SETTING_TRACE_BEGIN;
+ setting_retm_if(NULL == key, "key is NULL");
+ setting_retm_if(NULL == data, "data is NULL");
+ SettingAboutUG *ad = (SettingAboutUG *)data;
+
+ int status = vconf_keynode_get_int(key);
+ char *vconf_name = vconf_keynode_get_name(key);
+
+ if (!safeStrCmp(vconf_name, VCONFKEY_WIFI_STATE)) {
+ SETTING_TRACE("status:%d", status);
+ char str[MAX_DISPLAY_STR_LEN_ON_PHONE_INFO] = {0,};
+ setting_about_main_get_wifi_mac_address_string(str, sizeof(str));
+ if (ad->item_data_wifi) {
+ G_FREE(ad->item_data_wifi->sub_desc);
+ ad->item_data_wifi->sub_desc = (char *)g_strdup(str);
+ elm_object_item_data_set(ad->item_data_wifi->item, ad->item_data_wifi);
+ elm_genlist_item_update(ad->item_data_wifi->item);
+ }
+ } else {
+ SETTING_TRACE_ERROR("vconf_name is error");
+ }
+}
+
int setting_about_generate_genlist(void *data)
{
SETTING_TRACE_BEGIN;
if (NULL == pa_sub_desc || '\0' == pa_sub_desc[0])
{
ad->empty_flag = TRUE;
- Elm_Object_Item *navi_it = elm_naviframe_top_item_get(ad->navi_bar);
+/* Elm_Object_Item *navi_it = elm_naviframe_top_item_get(ad->navi_bar);
if (navi_it)
{
Evas_Object *back_btn = elm_object_item_part_content_get(navi_it, "prev_btn");
setting_disable_evas_object(back_btn);
setting_dim_evas_object(back_btn, TRUE);
}
+*/
}
// [UI] Device name
char *app_name = NULL;
- int ret_get_app_name = app_manager_get_app_name("com.samsung.oma-dm-ui", &app_name);
+ int ret_get_app_name = app_manager_get_app_name("com.samsung.oma-dm", &app_name);
if (ret_get_app_name == APP_MANAGER_ERROR_INVALID_PACKAGE )
{
SETTING_TRACE(">>>>>>>>>>>>>>>>>> UNINSTALLED PACKAGE");
ad->item_dev_name = NULL;
} else {
+ Setting_GenGroupItem_Data *item_data = (Setting_GenGroupItem_Data *)calloc(1, sizeof(Setting_GenGroupItem_Data));
+ if (!item_data)
+ FREE(pa_sub_desc);
+
+ setting_retvm_if(!item_data, NULL, "calloc failed");
+
+ item_data->keyStr = (char *)g_strdup(SETTING_ABOUT_DEVICE_NAME_STR);
+ item_data->sub_desc = (char *)g_strdup(pa_sub_desc);
+ item_data->swallow_type = SWALLOW_Type_LAYOUT_ENTRY;
+ item_data->chk_status = 0;
+ item_data->chk_change_cb = __setting_about_device_name_changed_cb;
+ item_data->userdata = ad;
+ item_data->isSinglelineFlag = TRUE;
+ item_data->maxlength_reached_cb = __max_len_reached;
+ item_data->start_change_cb = (setting_call_back_func)__entry_key_down_cb;
+ item_data->stop_change_cb = __entry_unfocus_cb;
+ item_data->x_callback_cb = _input_panel_event_cb;
+
+ item_data->limit_filter_data = calloc(1, sizeof(Elm_Entry_Filter_Limit_Size));
+ if (item_data->limit_filter_data) {
+ //max byte len is 31 not 31+1
+ //ad->item_dev_name->limit_filter_data->max_byte_count = MAX_DEVICE_NAME_LEN + OFFESET_ENTRY_FILTER;
+ item_data->limit_filter_data->max_byte_count = MAX_DEVICE_NAME_LEN;
+ item_data->win_main = ad->win_get;
+ }
- ad->item_dev_name =
- setting_create_Gendial_field_def(scroller, &(ad->itc_1icon),
- setting_about_main_mouse_up_Gendial_list_cb,
- ad, SWALLOW_Type_LAYOUT_ENTRY,
- NULL, NULL, 0, SETTING_ABOUT_DEVICE_NAME_STR, pa_sub_desc,
- __setting_about_device_name_changed_cb);
+ item_data->input_panel_disable_flag = EINA_TRUE;
+
+ item_data->item = elm_genlist_item_append(scroller, &(itc_1icon), item_data, NULL, ELM_GENLIST_ITEM_NONE,
+ setting_about_main_mouse_up_Gendial_list_cb, ad);
+
+ ad->item_dev_name = item_data;
if (ad->item_dev_name) {
- ad->item_dev_name->userdata = ad;
- ad->item_dev_name->isSinglelineFlag = 0;
- ad->item_dev_name->start_change_cb = (setting_call_back_func)__entry_key_down_cb;
- ad->item_dev_name->stop_change_cb = __entry_unfocus_cb;
- ad->item_dev_name->limit_filter_data = calloc(1, sizeof(Elm_Entry_Filter_Accept_Set));
-
- if (ad->item_dev_name->limit_filter_data) {
- //max byte len is 31 not 31+1
- //ad->item_dev_name->limit_filter_data->max_byte_count = MAX_DEVICE_NAME_LEN + OFFESET_ENTRY_FILTER;
- ad->item_dev_name->limit_filter_data->max_byte_count = MAX_DEVICE_NAME_LEN;
- ad->item_dev_name->win_main = ad->win_get;
- }
- //ad->item_dev_name->input_type = ELM_INPUT_PANEL_LAYOUT_NUMBER;
- ad->item_dev_name->input_panel_disable_flag = EINA_TRUE;
+ elm_genlist_item_select_mode_set(ad->item_dev_name->item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
} else {
- SETTING_TRACE_ERROR("ad->item_dev_name is NULL");
+ SETTING_TRACE_ERROR("ad->item_dev_name is NULL");
}
- FREE(pa_sub_desc);
}
+ FREE(pa_sub_desc);
// [UI] My number
int err;
char sel_num[TAPI_SIM_XDN_DIALING_NUMBER_LEN + 1] = { 0, };
setting_get_string_slp_key(STR_SLP_SETTING_SELECT_NUM, sel_num, &err);
+ SETTING_TRACE("ad->my_numbers.count[%d]", ad->my_numbers.count);
if (ad->my_numbers.count == 1) {
item_data =
setting_create_Gendial_field_def(scroller, &(ad->itc_2text_2),
} else {
SETTING_TRACE_ERROR("ad->data_wap is NULL");
}
-
- } else if (ad->my_numbers.count == 0) {
+ } else if (ad->my_numbers.count == 0 ){
// _("IDS_ST_HEADER_UNAVAILABLE")
SETTING_TRACE_ERROR("don't have my number");
item_data =
ELM_GENLIST_ITEM_NONE, NULL, NULL);
elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-#ifdef SUPPORT_DIAG_USAGE
- // [UI] Diagnostics and Usage
- if (!is_emul_bin) {
- setting_create_Gendial_field_def(scroller, &(ad->itc_1text),
- setting_about_main_mouse_up_Gendial_list_cb,
- ad, SWALLOW_Type_INVALID, NULL, NULL,
- 0, DIAGNOSTICS_USAGE_STR,
- NULL, NULL);
- }
-#endif
-
// [UI] Certificates
// implementation is in progress.
- if (is_ug_installed_by_ug_args("setting-manage-applications-efl"))
- {
- setting_create_Gendial_field_def(scroller, &(ad->itc_1text),
- setting_about_main_mouse_up_Gendial_list_cb,
- ad, SWALLOW_Type_INVALID, NULL, NULL,
- 0, "IDS_COM_BODY_CERTIFICATES", NULL, NULL);
-
- item = elm_genlist_item_append(scroller, &itc_bottom_seperator, NULL, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- }
+ setting_create_Gendial_field_def(scroller, &(ad->itc_1text),
+ setting_about_main_mouse_up_Gendial_list_cb,
+ ad, SWALLOW_Type_INVALID, NULL, NULL,
+ 0, "IDS_COM_BODY_CERTIFICATES", NULL, NULL);
+ item = elm_genlist_item_append(scroller, &itc_bottom_seperator, NULL, NULL,
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
ad->update_timer =
ecore_timer_add(2, (Ecore_Task_Cb) __timer_update_cb, ad);
elm_object_style_set(scroller, "dialogue");
elm_genlist_clear(scroller); /* first to clear list */
- /* Enabling illume notification property for window */
- elm_win_conformant_set(ad->win_main_layout, 1);
- Evas_Object *conformant = elm_conformant_add(ad->win_main_layout);
- elm_object_style_set(conformant, "internal_layout"); /* By Kollus. 2011-01-04 */
- evas_object_show(conformant);
- elm_object_content_set(conformant, scroller);
ad->genlsit = scroller;
ad->ly_main =
_(KeyStr_AboutPhone),
_("IDS_COM_BODY_BACK"), NULL, NULL,
setting_about_main_click_softkey_back_cb,
- NULL, NULL, ad, conformant,
+ NULL, NULL, ad, scroller,
&ad->navi_bar, NULL);
evas_object_event_callback_add(scroller, EVAS_CALLBACK_MOUSE_UP,
ad->navi_item = elm_naviframe_top_item_get(ad->navi_bar);
- setting_about_generate_genlist((void *)ad);
+ int value, err;
+ setting_get_int_slp_key(INT_SLP_SETTING_SIM_SLOT, &value, &err);
+ if (VCONFKEY_TELEPHONY_SIM_INSERTED != value) {
+ setting_about_generate_genlist((void *)ad);
+ }
+
+ int ret = vconf_notify_key_changed(VCONFKEY_WIFI_STATE,
+ __setting_about_main_vconf_change_cb, ad);
+ if (ret != 0) {
+ SETTING_TRACE_ERROR("call vconf_notify_key_changed failed");
+ }
setting_view_about_main.is_create = 1;
SETTING_TRACE_END;
SettingAboutUG *ad = (SettingAboutUG *) cb;
+ int ret = vconf_ignore_key_changed(VCONFKEY_WIFI_STATE,
+ __setting_about_main_vconf_change_cb);
+ if (ret != 0) {
+ SETTING_TRACE_ERROR("call vconf_ignore_key_changed failed");
+ }
+
+
if (ad->update_timer) {
ecore_timer_del(ad->update_timer);
ad->update_timer = NULL;
return;
}
- /* Send destroy request */
- ug_destroy_me(ad->ug);
//imf must be hided before view is destroyed.
//Following code is just to improve the hiding speed. If not add these code,
//the input pannel will also be hided with the view destroyed,but it works too slow.
setting_hide_input_pannel_cb(ad->item_dev_name->eo_check);
}
+ /* Send destroy request */
+ ug_destroy_me(ad->ug);
+
SETTING_TRACE_END;
}
elm_genlist_item_selected_set(item, 0);
Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) elm_object_item_data_get(item);
- /* SettingAboutUG *ad = (SettingAboutUG *) data; */
+ SettingAboutUG *ad = (SettingAboutUG *) data;
SETTING_TRACE("clicking item[%s]", _(list_item->keyStr));
if (!safeStrCmp("IDS_ST_BODY_OPEN_SOURCE_LICENCES", list_item->keyStr)) {
//setting_view_change(&setting_view_about_main, &setting_view_about_licences, data);
} else if (!safeStrCmp("IDS_COM_BODY_CERTIFICATES", list_item->keyStr)) {
+ Elm_Object_Item *navi_it = elm_naviframe_top_item_get(ad->navi_bar);
+ if (navi_it) {
+ Evas_Object *back_btn = elm_object_item_part_content_get(navi_it, "prev_btn");
+ elm_object_focus_set(back_btn, TRUE);
+ }
__setting_about_main_certificates_clicked(data);
} else if (!safeStrCmp(SETTING_ABOUT_DEVICE_NAME_STR, list_item->keyStr)) {
__setting_about_main_device_name_clicked(data, list_item->eo_check);
- } else if (!safeStrCmp(DIAGNOSTICS_USAGE_STR, list_item->keyStr)) {
- __setting_about_main_diagnostics_usage_clicked(data, list_item->eo_check);
}
}
SETTING_TRACE_BEGIN;
retm_if(data == NULL, "Data parameter is NULL");
retm_if(ctx == NULL, "obj parameter is NULL");
-
SettingAboutUG *ad = (SettingAboutUG *)data;
if(value == ECORE_IMF_INPUT_PANEL_STATE_SHOW)
NAVI_BACK_BUTTON_STYLE,
__top_back_cb,
ad);
+
elm_object_item_part_content_set(ad->navi_item, "title_right_btn", r_button);
+/*
if (ad->empty_flag)
{
setting_disable_evas_object(r_button);
setting_dim_evas_object(r_button, TRUE);
}
+*/
}
}
else if(value == ECORE_IMF_INPUT_PANEL_STATE_HIDE)
{
SETTING_TRACE("value == ECORE_IMF_INPUT_PANEL_STATE_HIDE");
if(ad->navi_item && elm_object_item_part_content_get(ad->navi_item, "title_right_btn")) {
+
Evas_Object *btn = elm_object_item_part_content_unset(ad->navi_item, "title_right_btn");
evas_object_del(btn);
}
if (ad->item_dev_name) {
elm_object_focus_set(ad->item_dev_name->eo_check, EINA_FALSE);
- }//if Setting is overlapped by other app,the entry will lost its focus,
+ }
+ //if Setting is overlapped by other app,the entry will lost its focus,
//the input pannel will be hided and any popup should be removed to fix blinking issue.
if (ad->pause_flag)
ecore_idler_add(__delay_remove, ad);
if (!elm_object_focus_get(obj)) {
elm_object_focus_set(obj, EINA_TRUE);
}
-
- Ecore_IMF_Context *imf_context = (Ecore_IMF_Context *)elm_entry_imf_context_get(obj);
- setting_retm_if(imf_context == NULL, "imf_context is NULL");
- ecore_imf_context_input_panel_event_callback_add(imf_context, ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_cb, ad);
- ecore_imf_context_input_panel_show(imf_context);
-}
-
-
-static void __destroy_diagnostics_usage_ug_cb(ui_gadget_h ug, void *priv)
-{
- SETTING_TRACE_BEGIN;
-
- /* restore the '<-' button on the navigate bar */
- ret_if(!priv);
- SettingAboutUG *ad = (SettingAboutUG *) priv; /* ad is point to priv */
-
- if (ug) {
- ug_destroy(ug);
- ad->ug_loading = NULL;
- }
-
- Elm_Object_Item *navi_it = elm_naviframe_top_item_get(ad->navi_bar);
- ret_if(!navi_it);
- Evas_Object *back_btn = elm_object_item_part_content_get(navi_it, "prev_btn");
-
- if (back_btn != NULL) {
- elm_object_style_set(back_btn, NAVI_BACK_BUTTON_STYLE); /* take into effect */
- }
}
-static void __setting_about_main_diagnostics_usage_clicked(void *data, Evas_Object *obj)
-{
- SETTING_TRACE_BEGIN;
- retm_if(data == NULL, "Data parameter is NULL");
- SettingAboutUG *ad = (SettingAboutUG *)data;
- // create UG
- if (!ad)
- return; /* do nothing if ad is NULL */
- struct ug_cbs *cbs = (struct ug_cbs *)calloc(1, sizeof(struct ug_cbs));
- if (!cbs) {
- return;
- }
-
- cbs->layout_cb = setting_about_layout_ug_cb;
- cbs->result_cb = NULL;
- cbs->destroy_cb = __destroy_diagnostics_usage_ug_cb;
- cbs->priv = (void *)ad;
-
- ad->ug_loading =
- ug_create(ad->ug, "setting-crash-efl", UG_MODE_FULLVIEW, NULL, cbs);
-
- if (NULL == ad->ug_loading) { /* error handling */
- SETTING_TRACE_ERROR("NULL == ad->ug_loading");
- setting_create_simple_popup(ad, ad->win_get, NULL, _(UNSUPPORTED_FUNCTION));
- }
- FREE(cbs);
-}