int dt_history_load_and_apply_on_selection(gchar *filename) { int res = 0; sqlite3_stmt *stmt; DT_DEBUG_SQLITE3_PREPARE_V2(dt_database_get(darktable.db), "SELECT imgid FROM main.selected_images", -1, &stmt, NULL); while(sqlite3_step(stmt) == SQLITE_ROW) { int imgid = sqlite3_column_int(stmt, 0); if(dt_history_load_and_apply(imgid, filename, 1)) res = 1; } sqlite3_finalize(stmt); return res; }
// reload xmp files of the selected images static void _reload_button_clicked(GtkButton *button, gpointer user_data) { dt_control_crawler_gui_t *gui = (dt_control_crawler_gui_t *)user_data; GtkTreeIter iter; gboolean valid = gtk_tree_model_get_iter_first(gui->model, &iter); while(valid) { gboolean selected; int id; gchar *xmp_path; gtk_tree_model_get(gui->model, &iter, DT_CONTROL_CRAWLER_COL_SELECTED, &selected, DT_CONTROL_CRAWLER_COL_ID, &id, DT_CONTROL_CRAWLER_COL_XMP_PATH, &xmp_path, -1); if(selected) { dt_history_load_and_apply(id, xmp_path, 0); valid = gtk_list_store_remove(GTK_LIST_STORE(gui->model), &iter); } else valid = gtk_tree_model_iter_next(gui->model, &iter); } // we also want to disable the "select all" thing _clear_select_all(gui); }