Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
presets.c File Reference
#include "bauhaus/bauhaus.h"
#include "common/darktable.h"
#include "common/debug.h"
#include "common/file_location.h"
#include "common/presets.h"
#include "control/control.h"
#include "develop/blend.h"
#include "develop/develop.h"
#include "gui/gtk.h"
#include "gui/guides.h"
#include "gui/presets.h"
#include <assert.h>
#include <stdlib.h>
+ Include dependency graph for gui/presets.c:

Functions

void dt_gui_presets_init ()
 
void dt_gui_presets_add_generic (const char *name, dt_dev_operation_t op, const int32_t version, const void *params, const int32_t params_size, const int32_t enabled, const dt_develop_blend_colorspace_t blend_cst)
 
void dt_gui_presets_add_with_blendop (const char *name, dt_dev_operation_t op, const int32_t version, const void *params, const int32_t params_size, const void *blend_params, const int32_t enabled)
 
static gchar * _get_active_preset_name (dt_iop_module_t *module, int *writeprotect)
 
static void _menuitem_delete_preset (GtkMenuItem *menuitem, dt_iop_module_t *module)
 
static void _edit_preset_final_callback (dt_gui_presets_edit_dialog_t *g)
 
static void _edit_preset_response (GtkDialog *dialog, gint response_id, dt_gui_presets_edit_dialog_t *g)
 
void dt_gui_presets_confirm_and_delete (GtkWidget *parent_dialog, const char *name, const char *module_name, int rowid)
 
static void _check_buttons_activated (GtkCheckButton *button, dt_gui_presets_edit_dialog_t *g)
 
static void _presets_show_edit_dialog (dt_gui_presets_edit_dialog_t *g, gboolean allow_name_change, gboolean allow_desc_change, gboolean allow_remove)
 
void dt_gui_presets_show_iop_edit_dialog (const char *name_in, dt_iop_module_t *module, GCallback final_callback, gpointer data, gboolean allow_name_change, gboolean allow_desc_change, gboolean allow_remove, GtkWindow *parent)
 
void dt_gui_presets_show_edit_dialog (const char *name_in, const char *module_name, int rowid, GCallback final_callback, gpointer data, gboolean allow_name_change, gboolean allow_desc_change, gboolean allow_remove, GtkWindow *parent)
 
static void _edit_preset (const char *name_in, dt_iop_module_t *module)
 
static void _menuitem_edit_preset (GtkMenuItem *menuitem, dt_iop_module_t *module)
 
static void _menuitem_update_preset (GtkMenuItem *menuitem, dt_iop_module_t *module)
 
static void _menuitem_new_preset (GtkMenuItem *menuitem, dt_iop_module_t *module)
 
void dt_gui_presets_apply_preset (const gchar *name, dt_iop_module_t *module)
 
static void _menuitem_pick_preset (GtkMenuItem *menuitem, dt_iop_module_t *module)
 
gboolean dt_gui_presets_autoapply_for_module (dt_iop_module_t *module)
 
static gboolean _menuitem_button_released_preset (GtkMenuItem *menuitem, GdkEventButton *event, dt_iop_module_t *module)
 
static void _gui_presets_popup_menu_show_internal (dt_dev_operation_t op, int32_t version, dt_iop_params_t *params, int32_t params_size, dt_develop_blend_params_t *bl_params, dt_iop_module_t *module, const dt_image_t *image, void(*pick_callback)(GtkMenuItem *, void *), void *callback_data)
 
void dt_gui_presets_popup_menu_show_for_params (dt_dev_operation_t op, int32_t version, void *params, int32_t params_size, void *blendop_params, const dt_image_t *image, void(*pick_callback)(GtkMenuItem *, void *), void *callback_data)
 
void dt_gui_presets_popup_menu_show_for_module (dt_iop_module_t *module)
 
void dt_gui_presets_update_mml (const char *name, dt_dev_operation_t op, const int32_t version, const char *maker, const char *model, const char *lens)
 
void dt_gui_presets_update_iso (const char *name, dt_dev_operation_t op, const int32_t version, const float min, const float max)
 
void dt_gui_presets_update_av (const char *name, dt_dev_operation_t op, const int32_t version, const float min, const float max)
 
void dt_gui_presets_update_tv (const char *name, dt_dev_operation_t op, const int32_t version, const float min, const float max)
 
void dt_gui_presets_update_fl (const char *name, dt_dev_operation_t op, const int32_t version, const float min, const float max)
 
void dt_gui_presets_update_ldr (const char *name, dt_dev_operation_t op, const int32_t version, const int ldrflag)
 
void dt_gui_presets_update_autoapply (const char *name, dt_dev_operation_t op, const int32_t version, const int autoapply)
 
void dt_gui_presets_update_filter (const char *name, dt_dev_operation_t op, const int32_t version, const int filter)
 

Variables

const int dt_gui_presets_exposure_value_cnt = 24
 
const float dt_gui_presets_exposure_value []
 
const char * dt_gui_presets_exposure_value_str []
 
const int dt_gui_presets_aperture_value_cnt = 19
 
const float dt_gui_presets_aperture_value [] = { 0, 0.5, 0.7, 1.0, 1.4, 2.0, 2.8, 4.0, 5.6, 8.0, 11.0, 16.0, 22.0, 32.0, 45.0, 64.0, 90.0, 128.0, FLT_MAX }
 
const char * dt_gui_presets_aperture_value_str []
 
static const char * _gui_presets_format_value_str [5] = { N_("non-raw"), N_("raw"), N_("HDR"), N_("monochrome"), N_("color") }
 
static const int _gui_presets_format_flag [5] = { FOR_LDR, FOR_RAW, FOR_HDR, FOR_NOT_MONO, FOR_NOT_COLOR }
 

Function Documentation

◆ _check_buttons_activated()

static void _check_buttons_activated ( GtkCheckButton *  button,
dt_gui_presets_edit_dialog_t g 
)
static

References FALSE, and TRUE.

Referenced by _presets_show_edit_dialog().

◆ _edit_preset()

◆ _edit_preset_final_callback()

static void _edit_preset_final_callback ( dt_gui_presets_edit_dialog_t g)
static

References dt_gui_store_last_preset().

Referenced by _edit_preset().

◆ _edit_preset_response()

◆ _get_active_preset_name()

◆ _gui_presets_popup_menu_show_internal()

◆ _menuitem_button_released_preset()

static gboolean _menuitem_button_released_preset ( GtkMenuItem *  menuitem,
GdkEventButton *  event,
dt_iop_module_t module 
)
static

◆ _menuitem_delete_preset()

◆ _menuitem_edit_preset()

static void _menuitem_edit_preset ( GtkMenuItem *  menuitem,
dt_iop_module_t module 
)
static

◆ _menuitem_new_preset()

static void _menuitem_new_preset ( GtkMenuItem *  menuitem,
dt_iop_module_t module 
)
static

◆ _menuitem_pick_preset()

static void _menuitem_pick_preset ( GtkMenuItem *  menuitem,
dt_iop_module_t module 
)
static

◆ _menuitem_update_preset()

◆ _presets_show_edit_dialog()

◆ dt_gui_presets_add_generic()

void dt_gui_presets_add_generic ( const char *  name,
dt_dev_operation_t  op,
const int32_t  version,
const void params,
const int32_t  params_size,
const int32_t  enabled,
const dt_develop_blend_colorspace_t  blend_cst 
)

add or replace a generic (i.e. non-exif specific) preset for this operation.

References dt_develop_blend_init_blend_parameters(), dt_gui_presets_add_with_blendop(), name, and params_size().

Referenced by init_presets(), and set_presets().

◆ dt_gui_presets_add_with_blendop()

void dt_gui_presets_add_with_blendop ( const char *  name,
dt_dev_operation_t  op,
const int32_t  version,
const void params,
const int32_t  params_size,
const void blend_params,
const int32_t  enabled 
)

◆ dt_gui_presets_apply_preset()

◆ dt_gui_presets_autoapply_for_module()

◆ dt_gui_presets_confirm_and_delete()

void dt_gui_presets_confirm_and_delete ( GtkWidget *  parent_dialog,
const char *  name,
const char *  module_name,
int  rowid 
)

◆ dt_gui_presets_init()

void dt_gui_presets_init ( )

create a db table with presets for all operations.

References darktable, darktable_t::db, dt_database_get(), and DT_DEBUG_SQLITE3_EXEC.

Referenced by dt_gui_gtk_init(), and dt_init().

◆ dt_gui_presets_popup_menu_show_for_module()

void dt_gui_presets_popup_menu_show_for_module ( dt_iop_module_t module)

◆ dt_gui_presets_popup_menu_show_for_params()

void dt_gui_presets_popup_menu_show_for_params ( dt_dev_operation_t  op,
int32_t  version,
void params,
int32_t  params_size,
void blendop_params,
const dt_image_t image,
void(*)(GtkMenuItem *, void *)  pick_callback,
void callback_data 
)

show a popup menu without initialized module.

References _gui_presets_popup_menu_show_internal(), params_size(), and pick_callback().

◆ dt_gui_presets_show_edit_dialog()

void dt_gui_presets_show_edit_dialog ( const char *  name_in,
const char *  module_name,
int  rowid,
GCallback  final_callback,
gpointer  data,
gboolean  allow_name_change,
gboolean  allow_desc_change,
gboolean  allow_remove,
GtkWindow *  parent 
)

◆ dt_gui_presets_show_iop_edit_dialog()

void dt_gui_presets_show_iop_edit_dialog ( const char *  name_in,
dt_iop_module_t module,
GCallback  final_callback,
gpointer  data,
gboolean  allow_name_change,
gboolean  allow_desc_change,
gboolean  allow_remove,
GtkWindow *  parent 
)

◆ dt_gui_presets_update_autoapply()

void dt_gui_presets_update_autoapply ( const char *  name,
dt_dev_operation_t  op,
const int32_t  version,
const int  autoapply 
)

◆ dt_gui_presets_update_av()

void dt_gui_presets_update_av ( const char *  name,
dt_dev_operation_t  op,
const int32_t  version,
const float  min,
const float  max 
)

◆ dt_gui_presets_update_filter()

void dt_gui_presets_update_filter ( const char *  name,
dt_dev_operation_t  op,
const int32_t  version,
const int  filter 
)

set filter mode. if 1, the preset will only show for matching images.

References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_PREPARE_V2, and name.

Referenced by init_presets(), and set_presets().

◆ dt_gui_presets_update_fl()

void dt_gui_presets_update_fl ( const char *  name,
dt_dev_operation_t  op,
const int32_t  version,
const float  min,
const float  max 
)

◆ dt_gui_presets_update_iso()

void dt_gui_presets_update_iso ( const char *  name,
dt_dev_operation_t  op,
const int32_t  version,
const float  min,
const float  max 
)

update ranges for iso, aperture, exposure, and focal length, respectively.

References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_DOUBLE, DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_PREPARE_V2, and name.

Referenced by init_presets(), and set_presets().

◆ dt_gui_presets_update_ldr()

void dt_gui_presets_update_ldr ( const char *  name,
dt_dev_operation_t  op,
const int32_t  version,
const int  ldrflag 
)

update ldr flag: 0-don't care, 1-low dynamic range, 2-raw

References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_PREPARE_V2, and name.

Referenced by init_presets(), and set_presets().

◆ dt_gui_presets_update_mml()

void dt_gui_presets_update_mml ( const char *  name,
dt_dev_operation_t  op,
const int32_t  version,
const char *  maker,
const char *  model,
const char *  lens 
)

◆ dt_gui_presets_update_tv()

void dt_gui_presets_update_tv ( const char *  name,
dt_dev_operation_t  op,
const int32_t  version,
const float  min,
const float  max 
)

Variable Documentation

◆ _gui_presets_format_flag

const int _gui_presets_format_flag[5] = { FOR_LDR, FOR_RAW, FOR_HDR, FOR_NOT_MONO, FOR_NOT_COLOR }
static

◆ _gui_presets_format_value_str

const char* _gui_presets_format_value_str[5] = { N_("non-raw"), N_("raw"), N_("HDR"), N_("monochrome"), N_("color") }
static

◆ dt_gui_presets_aperture_value

const float dt_gui_presets_aperture_value[] = { 0, 0.5, 0.7, 1.0, 1.4, 2.0, 2.8, 4.0, 5.6, 8.0, 11.0, 16.0, 22.0, 32.0, 45.0, 64.0, 90.0, 128.0, FLT_MAX }

◆ dt_gui_presets_aperture_value_cnt

const int dt_gui_presets_aperture_value_cnt = 19

◆ dt_gui_presets_aperture_value_str

const char* dt_gui_presets_aperture_value_str[]
Initial value:
= { "f/0", "f/0.5", "f/0.7", "f/1.0", "f/1.4", "f/2", "f/2.8", "f/4", "f/5.6", "f/8",
"f/11", "f/16", "f/22", "f/32", "f/45", "f/64", "f/90", "f/128", "f/+" }

Referenced by _presets_show_edit_dialog(), and tree_insert_presets().

◆ dt_gui_presets_exposure_value

const float dt_gui_presets_exposure_value[]
Initial value:
= { 0., 1. / 8000, 1. / 4000, 1. / 2000, 1. / 1000, 1. / 1000, 1. / 500, 1. / 250,
1. / 125, 1. / 60, 1. / 30, 1. / 15, 1. / 15, 1. / 8, 1. / 4, 1. / 2,
1, 2, 4, 8, 15, 30, 60, FLT_MAX }

Referenced by _edit_preset_response(), _presets_show_edit_dialog(), and tree_insert_presets().

◆ dt_gui_presets_exposure_value_cnt

const int dt_gui_presets_exposure_value_cnt = 24

◆ dt_gui_presets_exposure_value_str

const char* dt_gui_presets_exposure_value_str[]
Initial value:
= { "0", "1/8000", "1/4000", "1/2000", "1/1000", "1/1000", "1/500", "1/250",
"1/125", "1/60", "1/30", "1/15", "1/15", "1/8", "1/4", "1/2",
"1\"", "2\"", "4\"", "8\"", "15\"", "30\"", "60\"", "+" }

Referenced by _presets_show_edit_dialog(), and tree_insert_presets().