static void thumb_std_maint_move_step(TMaintMove *tm) { const gchar *folder; tm->pass++; if (tm->pass > 2) { g_free(tm->source); g_free(tm->dest); g_free(tm->source_uri); g_free(tm->thumb_path); g_free(tm); if (thumb_std_maint_move_list) { g_idle_add_full(G_PRIORITY_LOW, thumb_std_maint_move_idle, NULL, NULL); } return; } folder = (tm->pass == 1) ? THUMB_FOLDER_NORMAL : THUMB_FOLDER_LARGE; g_free(tm->thumb_path); tm->thumb_path = thumb_std_cache_path(tm->source, tm->source_uri, FALSE, folder); tm->tl = thumb_loader_std_thumb_file_validate(tm->thumb_path, 0, thumb_std_maint_move_validate_cb, tm); }
static void cache_manager_standard_clean_valid_cb(const gchar *path, gboolean valid, gpointer data) { CleanData *cd = data; if (path) { if (!valid) { DEBUG_1("thumb cleaned: %s", path); unlink_file(path); } cd->count_done++; if (cd->count_total != 0) { gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(cd->progress), (gdouble)cd->count_done / cd->count_total); } } cd->tl = NULL; if (cd->list) { FileData *next_fd; next_fd = cd->list->data; cd->list = g_list_remove(cd->list, next_fd); cd->tl = thumb_loader_std_thumb_file_validate(next_fd->path, cd->days, cache_manager_standard_clean_valid_cb, cd); file_data_unref(next_fd); } else { cache_manager_standard_clean_done(cd); } }