gboolean collection_load(CollectionData *cd, const gchar *path, CollectionLoadFlags flags) { if (collection_load_private(cd, path, flags | COLLECTION_LOAD_FLUSH)) { layout_recent_add_path(cd->path); return TRUE; } return FALSE; }
gint collection_load(CollectionData *cd, const gchar *path, gint append) { if (collection_load_private(cd, path, append, TRUE)) { layout_recent_add_path(cd->path); return TRUE; } return FALSE; }
static gint collect_manager_process_entry(CollectManagerEntry *entry) { CollectionData *cd; gint success; GList *work; if (!entry->action_list) return FALSE; cd = collection_new(entry->path); success = collection_load_private(cd, entry->path, FALSE, FALSE); work = g_list_last(entry->action_list); while (work) { CollectManagerAction *action; action = work->data; work = work->prev; if (!action->oldpath) { /* add image */ if (collection_list_find(cd->list, action->newpath) == NULL) { collection_add_check(cd, action->newpath, FALSE, FALSE); } } else if (action->newpath) { /* rename image */ while (collection_rename(cd, action->oldpath, action->newpath)); } else { /* remove image */ while (collection_remove(cd, action->oldpath)); } collect_manager_action_unref(action); } if (success && cd->changed) { collection_save_private(cd, entry->path); if (debug) printf("collection manager updated: %s\n", entry->path); } collection_unref(cd); g_list_free(entry->action_list); entry->action_list = NULL; return TRUE; }
static gboolean collect_manager_process_entry(CollectManagerEntry *entry) { CollectionData *cd; if (entry->empty) return FALSE; cd = collection_new(entry->path); (void) collection_load_private(cd, entry->path, COLLECTION_LOAD_NONE); collection_unref(cd); return TRUE; }