Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
history_merge_gui.h File Reference
#include "common/history_merge.h"
#include <glib.h>
+ Include dependency graph for history_merge_gui.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef enum dt_hm_constraint_choice_t dt_hm_constraint_choice_t
 

Enumerations

enum  dt_hm_constraint_choice_t {
  DT_HM_CONSTRAINTS_PREFER_DEST = 0 ,
  DT_HM_CONSTRAINTS_PREFER_SRC = 1
}
 

Functions

char * _hm_make_node_id (const char *op, const char *multi_name)
 
void _hm_id_to_op_name (const char *id, char *op, char *name)
 
dt_hm_constraint_choice_t _hm_ask_user_constraints_choice (GHashTable *id_ht, const char *faulty_id, const char *src_prev, const char *src_next, const char *dst_prev, const char *dst_next)
 
gboolean _hm_warn_missing_raster_producers (const GList *mod_list)
 
void _hm_show_toposort_cycle_popup (GList *cycle_nodes, GHashTable *id_ht)
 
int _hm_build_last_history_by_id (const struct dt_develop_t *dev, GHashTable **out_map)
 
GPtrArray * _hm_collect_labels_from_history_map (GHashTable *last_by_id, const GHashTable *mod_list_ids, GPtrArray **out_styles)
 
gboolean dt_gui_merge_options_dialog (const char *title, const char *mode_key, const char *iop_order_key, const char *ask_key, gboolean iop_order_available)
 Show a modal dialog to pick merge mode and pipeline order before a paste or style apply.
 
gboolean _hm_show_merge_report_popup (struct dt_develop_t *dev_dest, struct dt_develop_t *dev_src, const gboolean merge_iop_order, const gboolean used_source_order, const dt_history_merge_strategy_t strategy, GHashTable *src_last_by_id, GHashTable *dst_last_before_by_id, const GPtrArray *orig_labels, const GPtrArray *orig_styles, const GHashTable *orig_ids, const GHashTable *mod_list_ids, const char *source_label, dt_hm_batch_state_t *batch)
 

Typedef Documentation

◆ dt_hm_constraint_choice_t

Enumeration Type Documentation

◆ dt_hm_constraint_choice_t

Enumerator
DT_HM_CONSTRAINTS_PREFER_DEST 
DT_HM_CONSTRAINTS_PREFER_SRC 

Definition at line 30 of file history_merge_gui.h.

Function Documentation

◆ _hm_ask_user_constraints_choice()

dt_hm_constraint_choice_t _hm_ask_user_constraints_choice ( GHashTable *  id_ht,
const char *  faulty_id,
const char *  src_prev,
const char *  src_next,
const char *  dst_prev,
const char *  dst_next 
)

◆ _hm_build_last_history_by_id()

int _hm_build_last_history_by_id ( const struct dt_develop_t dev,
GHashTable **  out_map 
)

◆ _hm_collect_labels_from_history_map()

GPtrArray * _hm_collect_labels_from_history_map ( GHashTable *  last_by_id,
const GHashTable *  mod_list_ids,
GPtrArray **  out_styles 
)

◆ _hm_id_to_op_name()

void _hm_id_to_op_name ( const char *  id,
char *  op,
char *  name 
)

Definition at line 149 of file history_merge.c.

References IS_NULL_PTR, MIN, and name.

Referenced by _hm_module_from_id(), _hm_pretty_id(), and _hm_topo_apply_solution().

◆ _hm_make_node_id()

◆ _hm_show_merge_report_popup()

gboolean _hm_show_merge_report_popup ( struct dt_develop_t dev_dest,
struct dt_develop_t dev_src,
const gboolean  merge_iop_order,
const gboolean  used_source_order,
const dt_history_merge_strategy_t  strategy,
GHashTable *  src_last_by_id,
GHashTable *  dst_last_before_by_id,
const GPtrArray *  orig_labels,
const GPtrArray *  orig_styles,
const GHashTable *  orig_ids,
const GHashTable *  mod_list_ids,
const char *  source_label,
dt_hm_batch_state_t batch 
)

Definition at line 1263 of file history_merge_gui.c.

References _hm_build_last_history_by_id(), _hm_build_override_map(), _hm_collect_enabled_modules_gui_order(), _hm_make_node_id(), _hm_module_row_label(), _hm_report_align_drag_hint(), _hm_report_dest_label(), _hm_report_drag_begin(), _hm_report_drag_data_get(), _hm_report_drag_data_received(), _hm_report_update_arrows(), _hm_report_update_move_styles(), dt_hm_drag_hint_align_t::arrow_column, darktable, dt_hm_batch_state_t::decision, _hm_report_reorder_ctx_t::dev_dest, _hm_report_reorder_ctx_t::dev_src, _hm_report_reorder_ctx_t::drag_path, _hm_report_reorder_ctx_t::dst_last_before_by_id, _hm_report_reorder_ctx_t::dst_last_by_id, dt_free, dt_gui_add_class(), DT_HISTORY_MERGE_APPEND, DT_HISTORY_MERGE_PREPEND, DT_HM_BATCH_ACCEPT, DT_HM_BATCH_REVERT, dt_iop_module_needs_mask_history(), DT_PIXEL_APPLY_DPI, dt_ui_main_window(), dt_iop_module_t::enabled, FALSE, dt_image_t::filename, dt_hm_drag_hint_align_t::filet_column, darktable_t::gui, dt_hm_drag_hint_align_t::hint, HM_REPORT_COL_ARROW, HM_REPORT_COL_COUNT, HM_REPORT_COL_DST, HM_REPORT_COL_DST_DISABLED, HM_REPORT_COL_DST_FG, HM_REPORT_COL_DST_FG_SET, HM_REPORT_COL_DST_ID, HM_REPORT_COL_DST_STYLE, HM_REPORT_COL_DST_WEIGHT, HM_REPORT_COL_FILET, HM_REPORT_COL_IS_INPUT, HM_REPORT_COL_ORIG, HM_REPORT_COL_ORIG_FG, HM_REPORT_COL_ORIG_FG_SET, HM_REPORT_COL_SRC, HM_REPORT_COL_SRC_FG, HM_REPORT_COL_SRC_FG_SET, HM_REPORT_COL_SRC_ID, HM_REPORT_COL_SRC_WEIGHT, HM_REPORT_DISABLED_FG, HM_REPORT_EXISTING_DST_FG, dt_image_t::id, dt_develop_t::image_storage, IS_NULL_PTR, dt_hm_drag_hint_align_t::legend, MAX, _hm_report_reorder_ctx_t::mod_list_ids, dt_iop_module_t::multi_name, dt_iop_module_t::op, dt_hm_drag_hint_align_t::orig_column, _hm_report_reorder_ctx_t::orig_ids, _hm_report_reorder_ctx_t::override, r, row, scrolled(), dt_hm_drag_hint_align_t::src_column, _hm_report_reorder_ctx_t::store, store(), TRUE, and dt_gui_gtk_t::ui.

Referenced by dt_history_merge().

◆ _hm_show_toposort_cycle_popup()

void _hm_show_toposort_cycle_popup ( GList *  cycle_nodes,
GHashTable *  id_ht 
)

◆ _hm_warn_missing_raster_producers()

gboolean _hm_warn_missing_raster_producers ( const GList *  mod_list)

◆ dt_gui_merge_options_dialog()

gboolean dt_gui_merge_options_dialog ( const char *  title,
const char *  mode_key,
const char *  iop_order_key,
const char *  ask_key,
gboolean  iop_order_available 
)

Show a modal dialog to pick merge mode and pipeline order before a paste or style apply.

Reads the current saved settings from mode_key and iop_order_key, lets the user adjust them, and writes back on OK. Returns TRUE when the user confirmed (proceed), FALSE when they cancelled (abort the operation).

Parameters
titleWindow title string (already translated).
mode_keyConf key for the dt_history_merge_strategy_t value (int).
iop_order_keyConf key for the "use incoming pipeline order" boolean.
ask_keyConf key for the "show this dialog next time" boolean.
iop_order_availableWhether the source has a stored pipeline order to offer. When FALSE the pipeline-order checkbox is disabled.

Definition at line 1623 of file history_merge_gui.c.

References darktable, dt_conf_get_bool(), dt_conf_get_int(), dt_conf_set_bool(), dt_conf_set_int(), DT_HISTORY_MERGE_APPEND, DT_HISTORY_MERGE_PREPEND, DT_HISTORY_MERGE_REPLACE, dt_ui_main_window(), FALSE, darktable_t::gui, IS_NULL_PTR, TRUE, and dt_gui_gtk_t::ui.

Referenced by _styles_apply_callback(), paste_all_callback(), and paste_parts_callback().