return;\r
}\r
\r
- if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) {\r
+ if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) {\r
result = g_strdup(ugd->ug_Status.ug_pPath->str);\r
} else {\r
result = mf_ug_util_get_send_result(ugd);\r
return;\r
}\r
\r
- if (mf_ug_fm_svc_wapper_is_root_path(ugd)) {\r
+ if (mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath)) {\r
ugd->ug_Status.ug_iViewType = mf_ug_view_root;\r
}\r
\r
\r
Evas_Object *parent = NULL;\r
const char *labelStorage = NULL;\r
- parent = ugd->ug_MainWindow.ug_pContent;\r
+ parent = ugd->ug_MainWindow.ug_pNaviGenlist;\r
labelStorage = MEMORY_FOLDER;\r
\r
mf_ug_genlist_item_remove(parent, labelStorage);\r
** Modification : Created function\r
**\r
******************************/\r
+static GString *__mf_ug_cb_dir_pipe_get_parent(GString *path)\r
+{\r
+\r
+ ug_mf_retvm_if(path == NULL, NULL, "path is NULL");\r
+ ug_mf_retvm_if(path->str == NULL, NULL, "path->str is NULL");\r
+\r
+ if (ecore_file_exists(path->str)) {\r
+ return path;\r
+ } else if (mf_ug_fm_svc_wapper_is_root_path(path)) {\r
+ return path;\r
+ } else {\r
+ GString *parent = mf_ug_fm_svc_wrapper_get_file_parent_path(path);\r
+ UG_SAFE_FREE_GSTRING(path);\r
+ __mf_ug_cb_dir_pipe_get_parent(parent);\r
+ }\r
+ return path;\r
+}\r
+\r
void mf_ug_cb_dir_pipe_cb(void *data, void *buffer, unsigned int nbyte)\r
{\r
UG_TRACE_BEGIN;\r
ug_mf_retm_if(ugd == NULL, "ugd is NULL");\r
\r
\r
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);\r
- ug_mf_retm_if(pNavi_s == NULL, "get navigation bar in use failed");\r
-\r
if (ugd->ug_ListPlay.ug_iPlayState != PLAY_STATE_INIT) {\r
return;\r
}\r
+ if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) {\r
+ return;\r
+ }\r
+\r
+ if (g_strcmp0(ugd->ug_Status.monitor_path, ugd->ug_Status.ug_pPath->str)) {\r
+ return;\r
+ }\r
if (buffer) {\r
ug_dir_event_t *msg = (ug_dir_event_t *) buffer;\r
ug_debug("event : %d, name : %s", msg->event, msg->name);\r
\r
Evas_Object *newContent = NULL;\r
+ ugListItemData *itemData = NULL;\r
+ Elm_Object_Item *it = NULL;\r
+ GString *parent = NULL;\r
+ char *path = NULL;\r
+ int count = 0;\r
+\r
switch (msg->event) {\r
case UG_MF_INOTI_CREATE:\r
case UG_MF_INOTI_MOVE_IN:\r
/*/1 TODO: add new item to list */\r
+ if(msg->name) {\r
+ path = g_strconcat(ugd->ug_Status.ug_pPath->str, "/", msg->name, NULL);\r
+ int file_type = 0;\r
+ if (mf_ug_file_attr_is_dir(path)) {\r
+ file_type = UG_FILE_TYPE_DIR;\r
+ } else {\r
+ file_type = UG_FILE_TYPE_FILE;\r
+ }\r
+ ugFsNodeInfo *pNode = mf_ug_util_generate_pnode(path, file_type);\r
+ if (ugd->ug_MainWindow.ug_pNaviGenlist == NULL) {\r
+\r
+ Evas_Object *genlist = NULL;\r
+ genlist = elm_genlist_add(ugd->ug_MainWindow.ug_pNaviBar);\r
+ evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
+ evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);\r
+\r
+ ugd->ug_MainWindow.ug_pNaviGenlist = genlist;\r
+ evas_object_smart_callback_add(genlist, "selected", mf_ug_genlist_selected_gl, ugd);\r
+\r
+ evas_object_del(elm_object_part_content_unset(ugd->ug_MainWindow.ug_pNaviLayout, "part1"));\r
+\r
+ elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", newContent);\r
+ elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", genlist);\r
+ }\r
+ if (file_type == UG_FILE_TYPE_DIR) {\r
+ if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE ||\r
+ ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE ||\r
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE ||\r
+ ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE ||\r
+ ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE ||\r
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {\r
+\r
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc);\r
+ } else {\r
+ int groupValue = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist);\r
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, groupValue, &ugd->ug_Status.ug_itc);\r
+ }\r
+ } else {\r
+ if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {\r
+ int groupValue = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist);\r
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, groupValue, &ugd->ug_Status.ug_itc);\r
+ } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) {\r
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc);\r
+ } else {\r
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_itc);\r
+ }\r
+\r
+ }\r
+\r
+ if (pNode != NULL) {\r
+ UG_SAFE_FREE_CHAR(pNode->ext);\r
+ free(pNode);\r
+ pNode = NULL;\r
+ }\r
+ }\r
break;\r
case UG_MF_INOTI_DELETE:\r
case UG_MF_INOTI_MOVE_OUT:\r
/*/1 TODO: remove item from list */\r
+ path = g_strconcat(ugd->ug_Status.ug_pPath->str, "/", msg->name, NULL);\r
+ it = elm_genlist_first_item_get(ugd->ug_MainWindow.ug_pNaviGenlist);\r
+ while (it) {\r
+ itemData = elm_object_item_data_get(it);\r
+ if (itemData->ug_pItemName == NULL || itemData->ug_pItemName->str == NULL) {\r
+ ug_debug();\r
+ continue;\r
+ }\r
+ if (g_strcmp0(path, itemData->ug_pItemName->str) == 0) {\r
+ elm_object_item_del(it);\r
+ break;\r
+ }\r
+\r
+ it = elm_genlist_item_next_get(it);\r
+ }\r
+ count = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist);\r
+ ugd->ug_Status.ug_bNoContentFlag = !count;\r
+\r
break;\r
case UG_MF_INOTI_MODIFY:\r
/*/1 TODO: update item in list */\r
+ ugd->ug_MainWindow.ug_pNaviGenlist = newContent = mf_ug_genlist_create_content_list_view(ugd);\r
+ mf_ug_navi_bar_set_new_content(ugd->ug_MainWindow.ug_pNaviLayout, newContent);\r
break;\r
case UG_MF_INOTI_DELETE_SELF:\r
case UG_MF_INOTI_MOVE_SELF:\r
/*/1 TODO: watching directory is removed, change current directory. */\r
+ {\r
+ GString *current = NULL;\r
+ current = g_string_new(ugd->ug_Status.ug_pPath->str);\r
+ parent = __mf_ug_cb_dir_pipe_get_parent(current);\r
+\r
+ ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);\r
+\r
+\r
+ g_string_free(ugd->ug_Status.ug_pPath, TRUE);\r
+ ugd->ug_Status.ug_pPath = NULL;\r
+ ugd->ug_Status.ug_pPath = parent;\r
+\r
+ if (pNavi_s->ug_pCurrentPath != NULL) {\r
+ free(pNavi_s->ug_pCurrentPath);\r
+ pNavi_s->ug_pCurrentPath = NULL;\r
+ }\r
+ pNavi_s->ug_pCurrentPath = g_strdup(parent->str);\r
+\r
+\r
+\r
+ mf_ug_navi_bar_create_default_view(ugd);\r
+ }\r
break;\r
default:\r
ug_mf_error("Unknown event");\r
break;\r
}\r
- ugd->ug_MainWindow.ug_pContent = newContent = mf_ug_genlist_create_content_list_view(ugd);\r
- mf_ug_navi_bar_set_new_content(ugd->ug_MainWindow.ug_pNaviLayout, newContent);\r
mf_ug_ctrl_bar_set_item_disable(ugd);\r
if (msg->name) {\r
free(msg->name);\r