gboolean collection_rename(CollectionData *cd, FileData *fd) { CollectInfo *ci; ci = collection_list_find_fd(cd->list, fd); if (!ci) return FALSE; cd->changed = TRUE; collection_window_update(collection_window_find(cd), ci); return TRUE; }
gboolean collection_remove(CollectionData *cd, FileData *fd) { CollectInfo *ci; ci = collection_list_find_fd(cd->list, fd); if (!ci) return FALSE; g_hash_table_remove(cd->existence, fd->path); cd->list = g_list_remove(cd->list, ci); cd->changed = TRUE; collection_window_remove(collection_window_find(cd), ci); collection_info_free(ci); return TRUE; }
void collect_manager_add(FileData *fd, const gchar *collection) { CollectManagerAction *action; CollectWindow *cw; if (!fd || !collection) return; cw = collection_window_find_by_path(collection); if (cw) { if (collection_list_find_fd(cw->cd->list, fd) == NULL) { collection_add(cw->cd, fd, FALSE); } return; } action = collect_manager_action_new(fd->path, collection, COLLECTION_MANAGER_ADD); collect_manager_add_action(action); }