2 * Copyright 2013 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://floralicense.org/license/
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
21 #include "mf-callback.h"
22 #include "mf-search.h"
23 #include "mf-split-view.h"
24 #include "mf-widget.h"
25 #include "mf-fm-svc-wrapper.h"
26 #include "mf-resource.h"
28 #include "mf-language-mgr.h"
30 extern Elm_Genlist_Item_Class itc;
31 extern Elm_Genlist_Item_Class userfolderitc;
32 extern Elm_Genlist_Item_Class categoryitc;
33 extern Elm_Gengrid_Item_Class gic;
37 Evas_Object *mf_widget_create_genlist(Evas_Object *parent)
39 Evas_Object *genlist = NULL;
40 genlist = elm_genlist_add(parent);
41 //elm_genlist_homogeneous_set(genlist, EINA_TRUE);
42 //elm_object_focus_set(genlist, EINA_FALSE);
43 evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
44 evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
48 Evas_Object *mf_widget_create_box(Evas_Object * parent)
50 mf_retvm_if(parent == NULL, NULL, "parent is NULL");
52 Evas_Object *box = NULL;
53 box = elm_box_add(parent);
54 mf_retvm_if(box == NULL, NULL, "box is NULL");
55 elm_object_focus_set(box, EINA_FALSE);
56 evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
57 evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
59 evas_object_show(box);
64 Evas_Object *mf_widget_create_layout(Evas_Object *parent, const char *edj, const char *grp_name)
67 mf_retvm_if(parent == NULL, NULL, "parent is NULL");
68 mf_retvm_if(edj == NULL, NULL, "edj is NULL");
69 mf_retvm_if(grp_name == NULL, NULL, "grp_name is NULL");
71 Evas_Object *layout = NULL;
72 layout = elm_layout_add(parent);
73 mf_retvm_if(layout == NULL, NULL, "layout is NULL");
74 elm_object_focus_set(layout, EINA_FALSE);
75 elm_layout_file_set(layout, edj, grp_name);
76 evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
77 evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
78 evas_object_show(layout);
84 Evas_Object *mf_widget_create_conform(Evas_Object * parent)
86 mf_retv_if(parent == NULL, NULL);
90 conform = elm_conformant_add(parent);
91 evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
92 evas_object_show(conform);
97 Evas_Object *mf_widget_create_check_box(Evas_Object *parent)
99 mf_retvm_if(parent == NULL, NULL, "parent is NULL");
101 Evas_Object *checkbox = NULL;
102 checkbox = elm_check_add(parent);
103 elm_object_focus_set(checkbox, EINA_FALSE);
104 evas_object_propagate_events_set(checkbox, EINA_FALSE);
105 evas_object_show(checkbox);
109 Evas_Object *mf_widget_create_no_content(Evas_Object *parent)
111 Evas_Object *nocontent = elm_layout_add(parent);
112 elm_layout_theme_set(nocontent, "layout", "nocontents", "text");
113 elm_object_focus_set(nocontent, EINA_FALSE);
114 elm_object_part_text_set(nocontent, "elm.text", GET_SYS_STR(MF_LABEL_NO_FILES));
115 mf_language_mgr_register_object(nocontent, OBJ_TYPE_EDJE_OBJECT, "elm.text", MF_LABEL_NO_FILES);
119 Evas_Object *mf_widget_create_select_all_layout(Evas_Object *parent)
122 mf_retvm_if(parent == NULL, NULL, "parent is NULL");
124 Evas_Object *pSelectedAllLayout = NULL;
125 pSelectedAllLayout = elm_layout_add(parent);
126 elm_object_focus_set(pSelectedAllLayout, EINA_FALSE);
127 elm_layout_theme_set(pSelectedAllLayout, "genlist", "item", "select_all/default");
128 evas_object_size_hint_weight_set(pSelectedAllLayout, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
129 evas_object_size_hint_align_set(pSelectedAllLayout, EVAS_HINT_FILL, EVAS_HINT_FILL);
130 elm_object_part_text_set(pSelectedAllLayout, "elm.text", GET_SYS_STR(MF_LABEL_SELECT_ALL));
131 mf_language_mgr_register_object(pSelectedAllLayout, OBJ_TYPE_EDJE_OBJECT, "elm.text", MF_LABEL_SELECT_ALL);
132 evas_object_show(pSelectedAllLayout);
133 return pSelectedAllLayout;
136 Evas_Object *mf_widget_create_editfield(Evas_Object *parent, Evas_Object **pEntry)
139 mf_retvm_if(parent == NULL, NULL, "parent is NULL");
140 Evas_Object *layout = elm_layout_add(parent);
141 elm_layout_theme_set(layout, "layout", "editfield", "default");
142 Evas_Object *entry = elm_entry_add(parent);
143 elm_object_style_set(entry, "default");
144 elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_PLAINTEXT);
145 elm_object_part_content_set(layout, "elm.swallow.content", entry);
150 Evas_Object *mf_widget_create_search_bar(Evas_Object *parent, Evas_Object **pEntry)
152 Evas_Object *searchbar_layout = elm_layout_add(parent);
153 elm_layout_theme_set(searchbar_layout, "layout", "searchbar", "default");
154 Evas_Object *entry = elm_entry_add(searchbar_layout);
155 elm_entry_scrollable_set(entry, EINA_TRUE);
156 elm_entry_single_line_set(entry, EINA_TRUE);
157 elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_PLAINTEXT);
158 elm_object_part_content_set(searchbar_layout, "elm.swallow.content", entry);
160 return searchbar_layout;
163 Evas_Object *mf_widget_create_panes(Evas_Object *parent)
166 mf_retvm_if(parent == NULL, NULL, "parent is NULL");
168 Evas_Object *panes = NULL;
169 panes = elm_panes_add(parent);
170 mf_retvm_if(panes == NULL, NULL, "panes is NULL");
171 elm_object_focus_set(panes, EINA_FALSE);
172 evas_object_size_hint_weight_set(panes, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
173 evas_object_size_hint_align_set(panes, EVAS_HINT_FILL, EVAS_HINT_FILL);
174 elm_panes_fixed_set(panes, EINA_FALSE);
175 evas_object_show(panes);
180 Evas_Object *mf_widget_create_layout_main(Evas_Object * parent)
184 mf_retv_if(parent == NULL, NULL);
186 layout = elm_layout_add(parent);
187 mf_retvm_if(layout == NULL, NULL, "Failed elm_layout_add.\n");
188 elm_object_focus_set(layout, EINA_FALSE);
190 MF_TA_ACUM_ITEM_BEGIN(" elm_layout_theme_set", 0);
191 elm_layout_theme_set(layout, "layout", "application", "default");
192 MF_TA_ACUM_ITEM_END(" elm_layout_theme_set", 0);
194 evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
195 evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
196 //elm_win_resize_object_add(parent, layout);
198 evas_object_show(layout);
204 Evas_Object *mf_widget_create_cancel_button_on_search(Evas_Object *parent)
206 Evas_Object *cancel_btn = elm_button_add(parent);
207 elm_object_part_content_set(parent, "button_cancel", cancel_btn);
208 elm_object_style_set(cancel_btn, "searchbar/default");
209 elm_object_text_set(cancel_btn, GET_SYS_STR(LABEL_CANCEL));
210 mf_language_mgr_register_object(cancel_btn, OBJ_TYPE_ELM_OBJECT, NULL, LABEL_CANCEL);
214 void mf_widget_item_remove(Evas_Object *parent, const char *path, int type)
216 mf_debug("path is [%s]", path);
217 mf_retm_if(parent == NULL, "parent is NULL");
218 mf_retm_if(path == NULL, "path is NULL");
220 mfItemData_s *itemData = NULL;
221 Elm_Object_Item *it = NULL;
223 if (type == MF_VIEW_STYLE_THUMBNAIL) {
224 it = elm_gengrid_first_item_get(parent);
226 it = elm_genlist_first_item_get(parent);
229 itemData = elm_object_item_data_get(it);
230 if (itemData->m_ItemName == NULL || itemData->m_ItemName->str == NULL) {
233 mf_debug("itemData->m_ItemName->str is [%s]", itemData->m_ItemName->str);
234 if (g_strcmp0(path, itemData->m_ItemName->str) == 0) {
235 elm_object_item_del(it);
239 if (type == MF_VIEW_STYLE_THUMBNAIL) {
240 it = elm_gengrid_item_next_get(it);
242 it = elm_genlist_item_next_get(it);
248 void mf_widget_items_remove(Evas_Object *parent, int storage, int type)
250 mf_retm_if(parent == NULL, "parent is NULL");
252 mfItemData_s *itemData = NULL;
253 Elm_Object_Item *it = NULL;
254 Elm_Object_Item *next_it = NULL;
256 if (type == MF_VIEW_STYLE_THUMBNAIL) {
257 it = elm_gengrid_first_item_get(parent);
259 it = elm_genlist_first_item_get(parent);
262 itemData = elm_object_item_data_get(it);
263 if (itemData->m_ItemName == NULL || itemData->m_ItemName->str == NULL) {
266 if (mf_fm_svc_wrapper_get_location(itemData->m_ItemName->str) == storage){
267 if (type == MF_VIEW_STYLE_THUMBNAIL) {
268 next_it = elm_gengrid_item_next_get(it);
270 next_it = elm_genlist_item_next_get(it);
272 elm_object_item_del(it);
275 if (type == MF_VIEW_STYLE_THUMBNAIL) {
276 it = elm_gengrid_item_next_get(it);
278 it = elm_genlist_item_next_get(it);
285 Elm_Object_Item *mf_widget_item_append(Evas_Object *parent, fsNodeInfo *pNode, void *data)
287 mf_retvm_if(parent == NULL, NULL, "pGenlist is NULL");
288 mf_retvm_if(pNode == NULL, NULL, "pNode is NULL");
289 mf_retvm_if(pNode->path == NULL, NULL, "pNode->path is NULL");
290 mf_retvm_if(pNode->name == NULL, NULL, "pNode->name is NULL");
291 mf_retvm_if(data == NULL, NULL, "data is NULL");
293 char *real_name = NULL;
294 mfItemData_s *m_TempItem = NULL;
295 struct appdata *ap = (struct appdata *)data;
297 real_name = g_strconcat(pNode->path, "/", pNode->name, NULL);
298 if (real_name == NULL) {
302 mf_genlist_create_data(&m_TempItem, real_name, data);
304 if (m_TempItem == NULL) {
310 if (ap->mf_Status.view_type == mf_view_root) {
311 if(g_strcmp0(real_name, PHONE_FOLDER) == 0) {
312 m_TempItem->thumb_path = strdup(MF_ICON_ITEM_PHONE);
313 m_TempItem->real_thumb_flag = true;
314 } else if(g_strcmp0(real_name, MEMORY_FOLDER) == 0) {
315 m_TempItem->thumb_path = strdup(MF_ICON_ITEM_MMC);
316 m_TempItem->real_thumb_flag = true;
317 } else if(g_strcmp0(real_name, OTG_FOLDER) == 0) {
318 m_TempItem->thumb_path = strdup(MF_ICON_ITEM_MMC);
319 m_TempItem->real_thumb_flag = true;
321 /*else if(g_strcmp0(real_name, DROP_BOX_FOLDER) == 0) {
322 m_TempItem->thumb_path = strdup(MF_ICON_ITEM_DB);
326 Elm_Object_Item *it = NULL;
328 if (ap->mf_Status.flagViewType == MF_VIEW_SYTLE_LIST_DETAIL) {
329 char *tempdate = mf_util_icu_translate(ap, pNode->date);
330 if (tempdate == NULL)
331 m_TempItem->create_date = g_strdup("N/A");
333 m_TempItem->create_date = g_strdup(tempdate);
336 mf_file_attr_get_file_size_info(&(m_TempItem->size), pNode);
338 if (ap->mf_Status.flagViewType == MF_VIEW_STYLE_LIST || ap->mf_Status.flagViewType == MF_VIEW_SYTLE_LIST_DETAIL) {
339 if (ap->mf_Status.view_type == mf_view_root_category) {
340 it = elm_genlist_item_append(parent, &categoryitc, m_TempItem, NULL, ELM_GENLIST_ITEM_NONE, mf_genlist_gl_sel, m_TempItem);
342 if (mf_file_attr_is_dir(m_TempItem->m_ItemName->str)) {
343 it = elm_genlist_item_append(parent, &userfolderitc, m_TempItem, NULL, ELM_GENLIST_ITEM_NONE, mf_genlist_gl_sel, m_TempItem);
345 it = elm_genlist_item_append(parent, &itc, m_TempItem, NULL, ELM_GENLIST_ITEM_NONE, mf_genlist_gl_sel, m_TempItem);
349 it = elm_gengrid_item_append(parent, &gic, m_TempItem, NULL, NULL);
352 m_TempItem->item = it;
357 Evas_Object *mf_widget_get_part_content(Evas_Object *parent, const char *part)
359 mf_retvm_if(parent == NULL, NULL, "parent is NULL");
360 mf_retvm_if(part == NULL, NULL, "part is NULL");
362 Evas_Object *content = NULL;
363 content = elm_object_part_content_get(parent, part);
367 Evas_Object *mf_widget_unset_part_content(Evas_Object *parent, const char *part)
369 mf_retvm_if(parent == NULL, NULL, "parent is NULL");
370 mf_retvm_if(part == NULL, NULL, "part is NULL");
372 Evas_Object *content = NULL;
373 content = elm_object_part_content_unset(parent, part);
377 Evas_Object *mf_widget_util_create_button(Evas_Object *parent, char *style,
378 char *caption, Evas_Object *icon,
379 void (*func) (void *, Evas_Object *, void *),
387 btn = elm_button_add(parent);
390 elm_object_style_set(btn, style);
394 elm_object_text_set(btn, mf_util_get_text(caption));
395 mf_language_mgr_register_object(btn, OBJ_TYPE_ELM_OBJECT, NULL, caption);
399 elm_object_content_set(btn, icon);
401 elm_object_focus_allow_set(btn, EINA_FALSE);
402 evas_object_propagate_events_set(btn, EINA_FALSE);
404 evas_object_smart_callback_add(btn, "clicked", func, (void *)data);
409 static Eina_Bool __mf_widget_notify_popup_timer_cb(void *data)
411 struct appdata *ap = (struct appdata *)data;
412 mf_retvm_if(ap == NULL, EINA_FALSE, "ap is null");
414 mf_widget_unset_part_content(ap->mf_MainWindow.pNaviLayout,
417 SAFE_FREE_OBJ(ap->mf_MainWindow.pLabelLayout);
418 ap->mf_MainWindow.pPopupTimer = NULL;
422 Evas_Object *mf_widget_create_notify_popup(void *data,
425 mf_notify_popup_type type,
427 void func(void *data, Evas_Object *obj, void *event_info))
430 mf_retvm_if(data == NULL, NULL, "data is NULL");
431 mf_retvm_if(parent == NULL, NULL, "parent is NULL");
432 mf_retvm_if(label == NULL, NULL, "label is NULL");
434 struct appdata *ap = (struct appdata *)data;
435 mf_retvm_if(ap == NULL, NULL, "ap is NULL");
437 Evas_Object *countlabel = NULL;
438 if (ap->mf_MainWindow.pLabelLayout && ap->mf_MainWindow.pPopupTimer) {
439 elm_object_part_text_set(ap->mf_MainWindow.pLabelLayout, "elm.text", label);
440 countlabel = ap->mf_MainWindow.pLabelLayout;
442 mf_widget_unset_part_content(ap->mf_MainWindow.pNaviLayout,
444 SAFE_FREE_OBJ(ap->mf_MainWindow.pLabelLayout);
445 countlabel = elm_layout_add(parent);
446 evas_object_size_hint_weight_set(countlabel,
449 evas_object_size_hint_align_set(countlabel,
452 elm_layout_theme_set(countlabel, "standard", "selectioninfo", "center_text");
453 elm_object_part_text_set(countlabel, "elm.text", label);
454 elm_object_part_content_set(parent,
457 elm_object_signal_emit(countlabel, "show,selection,info", "elm");
460 SAFE_DEL_ECORE_TIMER(ap->mf_MainWindow.pPopupTimer);
462 ap->mf_MainWindow.pPopupTimer = ecore_timer_add(3, __mf_widget_notify_popup_timer_cb, ap);
465 evas_object_show(countlabel);
472 void mf_widget_create_entryfield(void *data,
474 void (*changed_cb)(void *data, Evas_Object *obj, void *event_info),
475 void (*click_cb)(void *data, Evas_Object *obj, void *event_info))
477 struct appdata *ap = (struct appdata *)data;
478 mf_retm_if(ap == NULL, "ap is NULL");
479 Evas_Object *entry = NULL;
481 Evas_Object *edit_field = mf_widget_create_editfield(parent, &entry);
483 elm_entry_single_line_set(entry, EINA_TRUE);
484 elm_entry_scrollable_set(entry, EINA_TRUE);
486 elm_object_signal_emit(edit_field, "elm,state,eraser,show", "elm");
488 evas_object_size_hint_weight_set(edit_field, 1, 1);
489 evas_object_size_hint_align_set(edit_field, 1, 0.5);
490 //evas_object_show(edit_field);
491 ap->mf_MainWindow.pEditField = edit_field;
493 ap->mf_MainWindow.pEntry = entry;
495 evas_object_smart_callback_add(entry, "changed", changed_cb, ap);
496 elm_object_signal_callback_add(edit_field, "elm,eraser,clicked", "elm", mf_callback_eraser_clicked_cb, entry);
498 evas_object_show(entry);
501 Evas_Object *mf_widget_button_create(Evas_Object *parent, const char *label)
503 Evas_Object *btn = NULL;
504 btn = elm_button_add(parent);
506 elm_object_text_set(btn, label);
507 mf_language_mgr_register_object(btn, OBJ_TYPE_ELM_OBJECT, NULL, label);
512 void mf_widget_panes_right_set(Evas_Object *panes, Evas_Object *content)
514 mf_retm_if(panes == NULL, "panes is NULL");
515 mf_retm_if(content == NULL, "content is NULL");
516 elm_object_part_content_set(panes, "right", content);
519 void mf_widget_panes_left_set(Evas_Object *panes, Evas_Object *content)
521 mf_retm_if(panes == NULL, "panes is NULL");
522 mf_retm_if(content == NULL, "content is NULL");
523 elm_object_part_content_set(panes, "left", content);
527 #ifdef MYFILE_SPLIT_VIEW
528 void mf_widget_unset_main_layout_content(Evas_Object *layout)
530 Evas_Object *unSet = NULL;
531 unSet = mf_widget_unset_part_content(layout, "elm.swallow.content");
532 evas_object_hide(unSet);
536 void mf_widget_unset_tabbar_layout_content(Evas_Object *layout)
538 mf_widget_unset_part_content(layout, "elm.swallow.content");
539 mf_widget_unset_part_content(layout, "elm.swallow.tabbar");
544 void mf_widget_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
547 evas_object_size_hint_min_set(obj, w, h);
548 evas_object_size_hint_max_set(obj, w, h);
552 myfileNaviBar *mf_widget_phone_storage_init(void *data)
555 mf_retvm_if(data == NULL, NULL, "data is NULL");
556 struct appdata *ap = (struct appdata*)data;
558 Evas_Object *parent = ap->mf_MainWindow.pWindow;
560 MF_TA_ACUM_ITEM_BEGIN(" mf_navi_bar_create_navi_bar", 0);
561 ap->mf_MainWindow.pNaviBar = mf_navi_bar_create_navi_bar(parent);
563 evas_object_smart_callback_add(ap->mf_MainWindow.pNaviBar, "title,clicked", mf_callback_naviframe_title_clicked_cb, NULL);
565 MF_TA_ACUM_ITEM_END(" mf_navi_bar_create_navi_bar", 0);
567 if (ap->mf_MainWindow.pNaviBar == NULL) {
570 MF_TA_ACUM_ITEM_BEGIN(" make phone navi struct", 0);
571 myfileNaviBar *pNavi_phone = malloc(sizeof(myfileNaviBar));
572 mf_retvm_if(pNavi_phone == NULL, NULL, "pNavi_phone is NULL");
573 memset(pNavi_phone, 0, sizeof(myfileNaviBar));
574 pNavi_phone->naviFlagInUse = TRUE;
575 pNavi_phone->pCurrentPath = g_strdup(ap->mf_Status.path->str);
576 pNavi_phone->pre_more = MORE_DEFAULT;
577 pNavi_phone->pNaviLabel = strdup(GET_SYS_STR(MF_LABEL_PHONE));
578 /*insert phone navi into the navi_list */
579 /** Todo: if we need to check ap->mf_MainWindow.plistNaviBar?*/
580 ap->mf_MainWindow.plistNaviBar = eina_list_append(ap->mf_MainWindow.plistNaviBar, pNavi_phone);
581 MF_TA_ACUM_ITEM_END(" make phone navi struct", 0);
587 void mf_widget_create(void *data)
590 mf_retm_if(data == NULL, "data is NULL");
592 #ifdef MYFILE_SPLIT_VIEW
593 struct appdata *ap = (struct appdata*)data;
594 if (ap->mf_Status.rotation_type == MF_ROTATE_LANDSCAPE) {
595 if (ap->mf_MainWindow.sSplitData.bFlagSplitViewCreate == FALSE) {
596 mf_split_view_init(ap);
605 #ifdef MYFILE_SPLIT_VIEW
606 void mf_widget_set_main_layout_content(void *data)
610 mf_retm_if(data == NULL, "data is NULL");
612 struct appdata *ap = (struct appdata*)data;
613 if (ap->mf_Status.more == MORE_SEARCH || ap->mf_Status.more == MORE_CREATE_FOLDER || (ap->mf_Status.more == MORE_RENAME && ap->mf_Status.preMore == MORE_SEARCH)) {
617 if (ap->mf_Status.view_type == mf_view_root_category || ap->mf_Status.view_type == mf_view_root) {
621 if (ap->mf_Status.rotation_type == MF_ROTATE_LANDSCAPE) {
623 mf_widget_unset_main_layout_content(ap->mf_MainWindow.pMainLayout);
624 elm_object_part_content_set(ap->mf_MainWindow.sSplitData.pMainLayout, "elm.swallow.content", ap->mf_MainWindow.pNaviBar);
625 mf_widget_panes_right_set(ap->mf_MainWindow.sSplitData.pPanes, ap->mf_MainWindow.sSplitData.pMainLayout);
626 mf_split_view_show(ap);
627 elm_object_part_content_set(ap->mf_MainWindow.pMainLayout, "elm.swallow.content", ap->mf_MainWindow.sSplitData.pPanes);
630 mf_split_view_unset_right_content(ap);
631 mf_widget_unset_main_layout_content(ap->mf_MainWindow.pMainLayout);
632 mf_split_view_hide(ap);
633 evas_object_show(ap->mf_MainWindow.pMainLayout);
634 elm_object_part_content_set(ap->mf_MainWindow.pMainLayout, "elm.swallow.content", ap->mf_MainWindow.pNaviBar);
641 void mf_widget_refresh_view(void *data)
644 mf_retm_if(data == NULL, "data is NULL");
646 struct appdata *ap = (struct appdata*)data;
648 if (ap->mf_Status.more == MORE_DEFAULT) {
649 mf_navi_bar_create_default_view(ap);
650 } else if (ap->mf_Status.more == MORE_INTERNAL_COPY_MOVE || ap->mf_Status.more == MORE_INTERNAL_COPY || ap->mf_Status.more == MORE_INTERNAL_MOVE
651 || ap->mf_Status.more == MORE_DATA_COPYING || ap->mf_Status.more == MORE_DATA_MOVING) {
652 mf_navi_bar_create_path_select_view(ap);
653 } else if (ap->mf_Status.more == MORE_EDIT || ap->mf_Status.more == MORE_SHARE_EDIT) {
654 mf_callback_edit_cb(ap, NULL, NULL);
657 #ifdef MYFILE_SPLIT_VIEW
658 if (ap->mf_Status.rotation_type == MF_ROTATE_LANDSCAPE) {
659 mf_split_view_refresh(ap);
662 mf_navi_bar_remove_previous_contents(ap, ap->mf_MainWindow.pNaviBar);
666 void mf_widget_set_navi_blocking(void * data,Eina_Bool is_locked)
669 mf_retm_if(data == NULL, "data is NULL");
671 struct appdata *ap = (struct appdata*)data;
672 ap->mf_Status.flagNaviPush = is_locked;
676 #ifdef MYFILE_MOTION_FEATURE
677 void mf_widget_first_item_bring_in(void *data)
680 mf_retm_if(data == NULL, "data is NULL");
681 struct appdata *ap = (struct appdata*)data;
683 Evas_Object *genlist = NULL;
684 genlist = ap->mf_MainWindow.pNaviGenlist;
685 if (ap->mf_Status.doubletab_event_handler) {
686 ap->mf_Status.doubletab_event_handler(genlist);
690 void mf_widget_imf_hide_callback_register(Evas_Object *pConformant, void *data)
692 evas_object_smart_callback_add(pConformant, "virtualkeypad,state,off",
693 mf_callback_imf_hide_cb, data);
696 void mf_widget_imf_hide_callback_del(Evas_Object *pConformant)
698 evas_object_smart_callback_del(pConformant, "virtualkeypad,state,off",
699 mf_callback_imf_hide_cb);