static void __cancel_btn_cb(void *data, Evas_Object *object, void *event_info);
static void __save_btn_cb(void *data, Evas_Object *object, void *event_info);
+static void __create_password_item(Evas_Object *genlist, mh_appdata_t *ad);
+static void __destroy_password_item(mh_appdata_t *ad);
+
static guint tethering_param_timer = 0;
static void __hide_btn_changed_cb(void *data, Evas_Object *obj, void *event_info)
mh_appdata_t *ad = (mh_appdata_t *)data;
mh_wifi_setting_view_t *st = &ad->setup;
- if (st->security_type_new == TETHERING_WIFI_SECURITY_TYPE_NONE)
+ if (st->security_type_new == TETHERING_WIFI_SECURITY_TYPE_NONE) {
st->security_type_new = TETHERING_WIFI_SECURITY_TYPE_WPA2_PSK;
- else
+ if (st->pw_item == NULL)
+ __create_password_item(st->genlist, ad);
+ } else {
st->security_type_new = TETHERING_WIFI_SECURITY_TYPE_NONE;
+ /* Disable password entry */
+ __destroy_password_item(ad);
+ }
/* update wifi passphrase item */
if (st->security_type_new == TETHERING_WIFI_SECURITY_TYPE_NONE) {
__MOBILE_AP_FUNC_EXIT__;
}
+static void __check_box_changed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ __MOBILE_AP_FUNC_ENTER__;
+
+ if (data == NULL || obj == NULL) {
+ ERR("Invalid param\n");
+ return;
+ }
+
+ Eina_Bool state = elm_check_state_get(obj);
+ mh_appdata_t *ad = (mh_appdata_t *)data;
+ mh_wifi_setting_view_t *st = &ad->setup;
+
+ if (state)
+ elm_entry_password_set(st->pw_entry, EINA_FALSE);
+ else
+ elm_entry_password_set(st->pw_entry, EINA_TRUE);
+
+ __MOBILE_AP_FUNC_EXIT__;
+ return;
+}
+
static bool __save_security_btn_change(mh_appdata_t *ad)
{
__MOBILE_AP_FUNC_ENTER__;
elm_entry_single_line_set(entry, EINA_TRUE);
elm_entry_scrollable_set(entry, EINA_TRUE);
- elm_entry_password_set(entry, EINA_FALSE);
+ elm_entry_password_set(entry, EINA_TRUE);
evas_object_smart_callback_add(entry, "language,changed",
__pw_entry_language_changed_cb, ad);
return NULL;
}
+static char *_gl_pswd_check_box_text_get(void *data,
+ Evas_Object *obj, const char *part)
+{
+ if (!strcmp("elm.text", part))
+ return strdup(STR_SHOW_PASSWORD);
+
+ return NULL;
+
+}
+
+static Evas_Object *_gl_pswd_check_box_content_get(void *data,
+ Evas_Object *obj, const char *part)
+{
+ mh_appdata_t *ad = (mh_appdata_t *)data;
+ Evas_Object *check = NULL;
+
+ if (data == NULL || obj == NULL || part == NULL) {
+ ERR("Invalid param\n");
+ return NULL;
+ }
+
+ if (!strcmp("elm.swallow.icon", part)) {
+ check = elm_check_add(obj);
+ evas_object_propagate_events_set(check, EINA_FALSE);
+
+ evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_smart_callback_add(check, "changed", __check_box_changed_cb, (void *)ad);
+
+ elm_object_focus_allow_set(check, EINA_FALSE);
+
+ return check;
+ }
+ return NULL;
+}
+
+
static void __gl_hide_item_sel(void *data, Evas_Object *obj, void *event_info)
{
__MOBILE_AP_FUNC_ENTER__;
ad->setup.pw_itc->func.state_get = NULL;
ad->setup.pw_itc->func.del = NULL;
+ ad->setup.check_box_itc = elm_genlist_item_class_new();
+ if (ad->setup.check_box_itc == NULL) {
+ ERR("elm_genlist_item_class_new failed\n");
+ __MOBILE_AP_FUNC_EXIT__;
+ return;
+ }
+ ad->setup.check_box_itc->item_style = MH_GENLIST_1LINE_TEXT_ICON_STYLE;
+ ad->setup.check_box_itc->func.text_get = _gl_pswd_check_box_text_get;
+ ad->setup.check_box_itc->func.content_get = _gl_pswd_check_box_content_get;
+ ad->setup.check_box_itc->func.state_get = NULL;
+ ad->setup.check_box_itc->func.del = NULL;
+
__MOBILE_AP_FUNC_EXIT__;
return;
}
return;
}
+static void __create_password_item(Evas_Object *genlist, mh_appdata_t *ad)
+{
+ void *data = (void *)ad;
+ mh_wifi_setting_view_t *st = &ad->setup;
+
+ st->pw_item = elm_genlist_item_append(genlist, st->pw_itc, data, NULL,
+ ELM_GENLIST_ITEM_NONE, __select_passphrase_item, ad);
+ if (st->security_type == TETHERING_WIFI_SECURITY_TYPE_NONE)
+ elm_object_item_disabled_set(st->pw_item, EINA_TRUE);
+ else
+ elm_object_item_disabled_set(st->pw_item, EINA_FALSE);
+
+ st->check_box_item = elm_genlist_item_append(genlist, st->check_box_itc, data, NULL,
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
+}
+
+static void __destroy_password_item(mh_appdata_t *ad)
+{
+ void *data = (void *)ad;
+ mh_wifi_setting_view_t *st = &ad->setup;
+
+ elm_object_item_del(st->check_box_item);
+ st->check_box_item = NULL;
+
+ elm_object_item_del(st->pw_item);
+ st->pw_item = NULL;
+}
+
Evas_Object *__create_genlist(mh_appdata_t *ad)
{
__MOBILE_AP_FUNC_ENTER__;
st->security_item = elm_genlist_item_append(genlist, st->security_itc, data, NULL,
ELM_GENLIST_ITEM_NONE, __gl_security_item_sel, data);
- st->pw_item = elm_genlist_item_append(genlist, st->pw_itc, data, NULL,
- ELM_GENLIST_ITEM_NONE, __select_passphrase_item, ad);
- if (st->security_type == TETHERING_WIFI_SECURITY_TYPE_NONE)
- elm_object_item_disabled_set(st->pw_item, EINA_TRUE);
- else
- elm_object_item_disabled_set(st->pw_item, EINA_FALSE);
-
-/* End separator is removed because of P131104-03336. It is confirmed by UX team for this case.
- item = elm_genlist_item_append(genlist, st->sp_itc, NULL, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- st->sp_item[i++] = item;
-*/
+ if (st->security_type != TETHERING_WIFI_SECURITY_TYPE_NONE)
+ __create_password_item(genlist, ad);
__MOBILE_AP_FUNC_EXIT__;