//ivug_name_view_destroy(pNameView);
}
+static void _on_resized(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ IV_ASSERT(data != NULL);
+
+ Ivug_NameView *pNameView = (Ivug_NameView *)data;
+
+ Elm_Object_Item *navi_it = elm_naviframe_top_item_get(pNameView->navibar);
+
+ if(pNameView->sip_show == true)
+ {
+ int rot = gGetRotationDegree();
+ if(rot == 90 || rot == 270)
+ {
+ elm_naviframe_item_title_visible_set(navi_it, EINA_FALSE);
+ }
+ else
+ {
+ elm_naviframe_item_title_visible_set(navi_it, EINA_TRUE);
+ }
+ }
+ else
+ {
+ elm_naviframe_item_title_visible_set(navi_it, EINA_TRUE);
+ }
+}
+
+static void
+_on_keypad_show(void *data, Evas_Object *obj, void *event_info)
+{
+ IV_ASSERT(data != NULL);
+
+ Ivug_NameView *pNameView = (Ivug_NameView *)data;
+
+ pNameView->sip_show = true;
+
+ Elm_Object_Item *navi_it = elm_naviframe_top_item_get(pNameView->navibar);
+
+ int rot = gGetRotationDegree();
+ if(rot == 90 || rot == 270)
+ {
+ elm_naviframe_item_title_visible_set(navi_it, EINA_FALSE);
+ }
+}
+
+static void
+_on_keypad_hide(void *data, Evas_Object *obj, void *event_info)
+{
+ IV_ASSERT(data != NULL);
+
+ Ivug_NameView *pNameView = (Ivug_NameView *)data;
+
+ pNameView->sip_show = false;
+
+ Elm_Object_Item *navi_it = elm_naviframe_top_item_get(pNameView->navibar);
+
+ elm_naviframe_item_title_visible_set(navi_it, EINA_TRUE);
+}
+
+
static void
_on_invalid_name_timeout_response(void *data, Evas_Object *obj, void *event_info)
{
Ivug_NameView *pNameView = (Ivug_NameView *)data;
IV_ASSERT(pNameView != NULL);
- Evas_Object *entry = elm_object_part_content_get(pNameView->editfield, "elm.swallow.content");
+ Evas_Object *entry = elm_object_part_content_get(pNameView->editfield, "elm.icon.entry");
char *name = elm_entry_markup_to_utf8 ( elm_entry_entry_get(entry) );
Ivug_NameView *pNameView = (Ivug_NameView *)data;
IV_ASSERT(pNameView != NULL);
- Evas_Object *entry = elm_object_part_content_get(pNameView->editfield, "elm.swallow.content");
+ Evas_Object *entry = elm_object_part_content_get(pNameView->editfield, "elm.icon.entry");
char *name = elm_entry_markup_to_utf8 ( elm_entry_entry_get(entry) );
Ivug_NameView *pNameView = (Ivug_NameView *)data;
IV_ASSERT(pNameView != NULL);
+ if(pNameView->sip_show == true)
+ {
+ ecore_imf_context_input_panel_hide(elm_entry_imf_context_get(pNameView->entry));
+ }
+ else
+ {
if ( pNameView->fnresponse )
{
(pNameView->fnresponse)(NAME_VIEW_RESPONSE_CANCEL, NULL, pNameView->clientdata);
//destroy after pop and transit ended
//ivug_name_view_destroy(pNameView);
}
+}
static void _ivug_name_view_on_entry_changed(void *data, Evas_Object *obj, void *event_info)
{
Ivug_NameView *pNameView = (Ivug_NameView *)data;
IV_ASSERT(pNameView != NULL);
- if (elm_object_focus_get(pNameView->editfield))
+ if (elm_object_focus_get(obj))
{
if (elm_entry_is_empty(obj))
- elm_object_signal_emit(pNameView->editfield, "elm,state,eraser,hide", "elm");
+ elm_object_signal_emit(pNameView->editfield, "elm,state,eraser,hide", "");
else
- elm_object_signal_emit(pNameView->editfield, "elm,state,eraser,show", "elm");
+ elm_object_signal_emit(pNameView->editfield, "elm,state,eraser,show", "");
}
Evas_Object *entry;
- entry = elm_object_part_content_get(pNameView->editfield, "elm.swallow.content");
+ entry = elm_object_part_content_get(pNameView->editfield, "elm.icon.entry");
char *content = elm_entry_markup_to_utf8 ( elm_entry_entry_get(entry) );
if (strlen(content) == 0)
{
MSG_IMAGEVIEW_HIGH("ISF1 : %s", content);
- elm_object_part_text_set(pNameView->editfield, "elm.guidetext", IDS_ENTER_NAME);
+ elm_object_part_text_set(pNameView->entry, "elm.guide", IDS_ENTER_NAME);
//elm_object_disabled_set(pNameView->btn_done, EINA_TRUE);
}
else if(ivug_validate_file_name(content) == false)
else
{
MSG_IMAGEVIEW_HIGH("ISF : %s", content);
- elm_object_part_text_set(pNameView->editfield, "elm.guidetext", IDS_NULL);
+ elm_object_part_text_set(pNameView->entry, "elm.guide", IDS_NULL);
elm_object_disabled_set(pNameView->btn_done, EINA_FALSE);
}
static void _ivug_name_view_on_entry_preedit_changed(void *data, Evas_Object *obj, void *event_info)
{
MSG_IMAGEVIEW_HIGH("_ivug_name_view_on_entry_preedit_changed");
+
+ _ivug_name_view_on_entry_changed(data, obj, event_info);
}
static void _ivug_name_view_on_entry_focused(void *data, Evas_Object *obj, void *event_info)
{
MSG_IMAGEVIEW_HIGH("_ivug_name_view_on_entry_focused");
if (!elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- elm_object_signal_emit(data, "elm,state,guidetext,hide", "elm");
+ elm_object_signal_emit(data, "elm,state,eraser,show", "");
+ elm_object_signal_emit(data, "elm,state,rename,hide", "");
}
static void _ivug_name_view_on_entry_unfocused(void *data, Evas_Object *obj, void *event_info)
{
MSG_IMAGEVIEW_HIGH("_ivug_name_view_on_entry_unfocused");
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,guidetext,show", "elm");
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
+
+ elm_object_signal_emit(data, "elm,state,eraser,hide", "");
+ elm_object_signal_emit(data, "elm,state,rename,show", "");
}
static void
_ivug_name_view_eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
{
+ elm_object_focus_set(data, EINA_TRUE); // After button is clicked, entry should get focus again.
elm_entry_entry_set(data, "");
}
Ivug_NameView *pNameView = (Ivug_NameView *)data;
Evas_Object *editfield = elm_layout_add(obj);
- elm_layout_theme_set(editfield, "layout", "editfield", "default");
+ elm_layout_theme_set(editfield, "layout", "item/editfield", "default");
Evas_Object *entry = elm_entry_add(editfield);
elm_entry_single_line_set(entry, EINA_TRUE);
elm_entry_scrollable_set(entry, EINA_TRUE);
- elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_PLAINTEXT);
+ elm_object_part_text_set(entry, "elm.guide", IDS_ENTER_NAME);
evas_object_smart_callback_add(entry, "activated", _ivug_rename_view_enter_click_cb, pNameView);
evas_object_smart_callback_add(entry, "changed", _ivug_name_view_on_entry_changed, pNameView);
evas_object_smart_callback_add(entry, "focused", _ivug_name_view_on_entry_focused, editfield);
evas_object_smart_callback_add(entry, "unfocused", _ivug_name_view_on_entry_unfocused, editfield);
- elm_object_part_content_set(editfield, "elm.swallow.content", entry);
- elm_object_signal_callback_add(editfield, "elm,eraser,clicked", "elm", _ivug_name_view_eraser_clicked_cb, entry);
+ elm_object_part_content_set(editfield, "elm.icon.entry", entry);
- elm_object_part_text_set(editfield, "elm.guidetext", IDS_ENTER_NAME);
+ //MSG_IMAGEVIEW_HIGH("entry = %s", elm_entry_entry_get(entry));
- MSG_IMAGEVIEW_HIGH("entry = %s", elm_entry_entry_get(entry));
+ Evas_Object *button = elm_button_add(editfield);
+ elm_object_style_set(button, "editfield_clear"); // Make "X" marked button by changing style.
+ elm_object_part_content_set(editfield, "elm.icon.eraser", button); // Add eraser button to current editfield layout.
+ evas_object_smart_callback_add(button, "clicked", _ivug_name_view_eraser_clicked_cb, entry);
pNameView->entry = entry;
//elm_object_disabled_set(done_button, EINA_TRUE);
Elm_Object_Item *navi_it = NULL;
- navi_it = elm_naviframe_item_push(pNameView->navibar, title, NULL, NULL, pNameView->content, NULL);
+ navi_it = elm_naviframe_item_push(pNameView->navibar, title, cancel_button, NULL, pNameView->content, NULL);
+
+ Evas_Object *conformant = ug_get_conformant();
+
+ evas_object_smart_callback_add(conformant, "virtualkeypad,state,on", _on_keypad_show, pNameView);
+ evas_object_smart_callback_add(conformant, "virtualkeypad,state,off", _on_keypad_hide, pNameView);
+ evas_object_smart_callback_add(conformant, "clipboard,state,on", _on_keypad_show, pNameView);
+ evas_object_smart_callback_add(conformant, "clipboard,state,off", _on_keypad_hide, pNameView);
+
+ evas_object_event_callback_add(pNameView->content, EVAS_CALLBACK_RESIZE, _on_resized, (void *)pNameView);
+
+ elm_object_signal_emit(conformant, "elm,state,indicator,nooverlap", "");
//ivug_name_view_set_focus(pNameView);
- elm_object_item_part_content_set(navi_it, "title_toolbar_button1", done_button);
- elm_object_item_part_content_set(navi_it, "title_prev_btn", cancel_button);
- elm_object_item_signal_emit(navi_it, "elm,state,sip,shown", "");
+ elm_object_item_part_content_set(navi_it, "toolbar_button1", done_button);
+ //elm_object_item_part_content_set(navi_it, "title_toolbar_button1", done_button);
+ //elm_object_item_part_content_set(navi_it, "title_prev_btn", cancel_button);
+ //elm_object_item_signal_emit(navi_it, "elm,state,sip,shown", "");
return pNameView;
}
MSG_IMAGEVIEW_HIGH( "Destroy Name View");
+ if(pNameView->entry)
+ {
+ evas_object_del(pNameView->entry);
+ pNameView->entry = NULL;
+ }
+
+ if(pNameView->editfield)
+ {
+ evas_object_del(pNameView->editfield);
+ pNameView->editfield = NULL;
+ }
+
+ if(pNameView->content)
+ {
+ evas_object_del(pNameView->content);
+ pNameView->content = NULL;
+ }
+
+ if(pNameView->navibar)
+ {
+ evas_object_del(pNameView->navibar);
+ pNameView->navibar = NULL;
+ }
+
if(pNameView->layout)
{
evas_object_del(pNameView->layout);
pNameView->layout = NULL;
}
+ Evas_Object *conformant = ug_get_conformant();
+
+ evas_object_smart_callback_del(conformant, "virtualkeypad,state,on", _on_keypad_show);
+ evas_object_smart_callback_del(conformant, "virtualkeypad,state,off", _on_keypad_hide);
+ evas_object_smart_callback_del(conformant, "clipboard,state,on", _on_keypad_show);
+ evas_object_smart_callback_del(conformant, "clipboard,state,off", _on_keypad_hide);
+
free(pNameView);
pNameView = NULL;