static void _dialog_delete_ok_clicked_cb(void *data, Evas_Object *btn, void *ev) { Enna_Localfiles_Priv *priv = data; Enna_File *file = evas_object_data_get(priv->dialog, "file"); if (priv->file_dialog) enna_file_free(priv->file_dialog); priv->file_dialog = enna_file_ref(file); if (file->type == ENNA_FILE_DIRECTORY) { eio_dir_unlink(file->mrl, _dir_filter_cb, _dir_progress_cb, _delete_done_cb, _error_cb, priv); } else if (file->type == ENNA_FILE_FILE) { eio_file_unlink(file->mrl, _delete_done_cb, _error_cb, priv); } evas_object_del(priv->dialog); }
static void _delete_done_cb(void *data, Eio_File *handler) { Enna_Localfiles_Priv *priv = data; enna_browser_file_del(priv->browser, priv->file_dialog); enna_file_free(priv->file_dialog); }
static void bs_menu_delete (void) { Enna_File *f; if (!mod->menu) return; EINA_LIST_FREE(mod->menu_items, f); enna_file_free(f); ENNA_OBJECT_DEL(mod->menu); }
static void _dialog_rename_ok_clicked_cb(void *data, Evas_Object *btn, void *ev) { Enna_Localfiles_Priv *priv = data; Enna_File *file; Evas_Object *entry; const char *new_name; const char *new_path; file = evas_object_data_get(priv->dialog, "file"); entry = evas_object_data_get(priv->dialog, "entry"); new_name = elm_object_text_get(entry); new_path = eina_stringshare_printf("%s/%s", ecore_file_dir_get(file->mrl), new_name); priv->new_path = new_path; if (priv->file_dialog) enna_file_free(priv->file_dialog); priv->file_dialog = enna_file_ref(file); if (file->type == ENNA_FILE_DIRECTORY) { eio_dir_move(file->mrl, new_path, _dir_filter_cb, _dir_progress_cb, _rename_done_cb, _error_cb, priv); } else if (file->type == ENNA_FILE_FILE) { eio_file_move(file->mrl, new_path, _dir_progress_cb, _rename_done_cb, _error_cb, priv); } evas_object_del(priv->dialog); }
void enna_browser_del(Enna_Browser *b) { Enna_File *file; char *token; if (!b) return; if (b->queue_idler) ecore_idler_del(b->queue_idler); b->queue_idler = NULL; eina_stringshare_del(b->uri); if (b->ev_handler) ecore_event_handler_del(b->ev_handler); EINA_LIST_FREE(b->files, file) enna_file_free(file); EINA_LIST_FREE(b->tokens, token) free(token); if (b->vfs) b->vfs->func.del(b->priv_module); free(b); }