Eina_List *download_edit_list;
Eina_List *search_list;
Eina_List *edit_search_list;
+ Eina_List *history;
char *nTemp_entry;
Evas_Object *label;
char *file_name;
void mf_file_decompression_start(void *data);
void mf_file_compression_start(void *data);
void mf_util_to_lower(char *str);
+void mf_util_history_list_clear(void *data);
bool mf_util_get_supported_storage_cb(int storageId, storage_type_e type,
storage_state_e state,
ap->mf_Status.entry_more = MORE_DEFAULT;
}
} else {
- mf_callback_upper_click_cb(ap, NULL, NULL);
+ mf_debug("called to delete the top");
+ char *top_item = (char *)eina_list_nth(ap->history, 0);
+ if (top_item) {
+ ap->history = eina_list_remove(ap->history, top_item);
+ SAFE_FREE_CHAR(top_item);
+ }
+ char *curr = (char *)eina_list_nth(ap->history, 0);
+ if (curr && !strncmp(curr, "main_view", strlen(curr))) {
+ ap->mf_Status.view_type = 1;
+ } else if(curr) {
+ mf_debug("curr path is %s", curr);
+ ap->mf_Status.path = NULL;
+ ap->mf_Status.path = g_string_new(curr);
+ }
+ mf_view_update(ap);
}
} else if (ap->mf_Status.more == MORE_EDIT_ADD_SHORTCUT) {
//mf_callback_upper_click_cb(ap, NULL, NULL);
return true;
}
+void mf_util_history_list_clear(void *data)
+{
+ struct appdata *ap = (struct appdata *)data;
+ MF_CHECK(ap);
+ char *p = NULL;
+ Eina_List *list;
+ EINA_LIST_FOREACH(ap->history, list, p) {
+ if (p) {
+ SAFE_FREE_CHAR(p);
+ }
+ }
+ eina_list_free(ap->history);
+ ap->history = NULL;
+}
+
/******************************
** Prototype : __mf_util_is_mmc_supported
** Description :
ap->mf_Status.b_run_background = false;
+ ap->history = eina_list_prepend(ap->history, strdup("main_view"));
+
mf_initialize_datacontrol_consumer(ap);
MF_TRACE_END;
mf_edit_folder_list_clear();
mf_edit_file_list_clear();
+ mf_util_history_list_clear(ap);
mf_fs_monitor_destory();
- //mf_callback_imf_state_callback_del(ap);
mf_util_free_eina_list_with_data(&ap->mf_FileOperation.folder_list,
MYFILE_TYPE_FSNODE);
mf_util_free_eina_list_with_data(&ap->mf_FileOperation.file_list,
mf_error(">>>>>>>>>>>> path is [%s]", ap->mf_Status.path->str);
mf_error
(">>>>>>>>>>>> ap->mf_Status.more =[%d], ap->mf_Status.view_type =[%d]",
- ap->mf_Status.more, ap->mf_Status.view_type);
+ ap->mf_Status.more, ap->mf_Status.view_type);
+ char *top_item = (char *)eina_list_nth(ap->history, 0);
+
+
+ mf_debug("top item is %s and path is %s and length of top_item %d and path is %d", top_item, ap->mf_Status.path->str,
+ strlen(top_item), strlen(ap->mf_Status.path->str));
+
+
+ if (!strncmp(top_item, "main_view", strlen(top_item)) || strncmp(top_item, ap->mf_Status.path->str, strlen(ap->mf_Status.path->str))
+ || strncmp(top_item, ap->mf_Status.path->str, strlen(top_item))) {
+ if (!(ap->mf_Status.view_type == mf_view_root) && ap->mf_Status.more == MORE_DEFAULT) {
+ ap->history = eina_list_prepend(ap->history, strdup(ap->mf_Status.path->str));
+ }
+ }
mf_view_refresh_thumbnail_destroy();
mf_error();