static int history_delete(lua_State *L) { dt_lua_image_t imgid = -1; luaA_to(L,dt_lua_image_t,&imgid,-1); dt_history_delete_on_image(imgid); return 0; }
static gboolean _lib_filmstrip_discard_history_key_accel_callback(GtkAccelGroup *accel_group, GObject *aceeleratable, guint keyval, GdkModifierType modifier, gpointer data) { int32_t mouse_over_id = dt_control_get_mouse_over_id(); if(mouse_over_id <= 0) return FALSE; dt_history_delete_on_image(mouse_over_id); dt_control_queue_redraw_center(); return TRUE; }
static void _lib_duplicate_new_clicked_callback(GtkWidget *widget, GdkEventButton *event, dt_lib_module_t *self) { dt_lib_duplicate_t *d = (dt_lib_duplicate_t *)self->data; d->select = DT_DUPLICATE_SELECT_NONE; const int imgid = darktable.develop->image_storage.id; const int newid = dt_image_duplicate(imgid); if (newid <= 0) return; dt_history_delete_on_image(newid); // to select the duplicate, we reuse the filmstrip proxy dt_view_filmstrip_scroll_to_image(darktable.view_manager,newid,TRUE); }
void dt_history_delete_on_selection() { sqlite3_stmt *stmt; DT_DEBUG_SQLITE3_PREPARE_V2(dt_database_get(darktable.db), "select * from selected_images", -1, &stmt, NULL); while(sqlite3_step(stmt) == SQLITE_ROW) { int imgid = sqlite3_column_int (stmt, 0); dt_history_delete_on_image (imgid); } sqlite3_finalize(stmt); }
static gboolean _lib_filmstrip_discard_history_key_accel_callback(GtkAccelGroup *accel_group, GObject *aceeleratable, guint keyval, GdkModifierType modifier, gpointer data) { dt_lib_filmstrip_t *strip = (dt_lib_filmstrip_t *)data; if (strip->history_copy_imgid==-1) return FALSE; int32_t mouse_over_id; DT_CTL_GET_GLOBAL(mouse_over_id, lib_image_mouse_over_id); if(mouse_over_id <= 0) return FALSE; dt_history_delete_on_image(mouse_over_id); dt_control_queue_redraw_center(); return TRUE; }