Beispiel #1
0
void
dt_styles_apply_to_selection(const char *name,gboolean duplicate)
{
  gboolean selected = FALSE;

  /* write current history changes so nothing gets lost, do that only in the darkroom as there is nothing to be
     save when in the lighttable (and it would write over current history stack) */
  const dt_view_t *cv = dt_view_manager_get_current_view(darktable.view_manager);
  if(cv->view((dt_view_t*)cv) == DT_VIEW_DARKROOM)
    dt_dev_write_history(darktable.develop);

  /* for each selected image apply style */
  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_styles_apply_to_image (name,duplicate,imgid);
    selected = TRUE;
  }
  sqlite3_finalize(stmt);

  if (!selected)
    dt_control_log(_("no image selected!"));
}
Beispiel #2
0
static void _darkroom_ui_apply_style_activate_callback(gchar *name)
{
  dt_control_log(_("applied style `%s' on current image"),name);

  /* write current history changes so nothing gets lost */
  dt_dev_write_history(darktable.develop);

  /* apply style on image and reload*/
  dt_styles_apply_to_image (name, FALSE, darktable.develop->image_storage.id);
  dt_dev_reload_image(darktable.develop, darktable.develop->image_storage.id);
}
Beispiel #3
0
void
dt_styles_apply_to_selection(const char *name,gboolean duplicate)
{
  /* for each selected image apply style */
  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_styles_apply_to_image (name,duplicate,imgid);
  }
  sqlite3_finalize(stmt);
}
Beispiel #4
0
int dt_lua_style_apply(lua_State *L)
{
  dt_lua_image_t imgid = -1;
  dt_style_t style;
  if(luaL_testudata(L, 1, "dt_lua_image_t"))
  {
    luaA_to(L, dt_lua_image_t, &imgid, 1);
    luaA_to(L, dt_style_t, &style, 2);
  }
  else
  {
    luaA_to(L, dt_style_t, &style, 1);
    luaA_to(L, dt_lua_image_t, &imgid, 2);
  }
  dt_styles_apply_to_image(style.name, FALSE, imgid);
  return 1;
}
Beispiel #5
0
void
dt_styles_apply_to_selection(const char *name,gboolean duplicate)
{
  gboolean selected = FALSE;

  /* write current history changes so nothing gets lost */
  dt_dev_write_history(darktable.develop);

  /* for each selected image apply style */
  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_styles_apply_to_image (name,duplicate,imgid);
    selected = TRUE;
  }
  sqlite3_finalize(stmt);

  if (!selected)
    dt_control_log(_("no image selected!"));
}