![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "common/history_merge_gui.h"#include "common/darktable.h"#include "common/debug.h"#include "common/iop_order.h"#include "common/topological_sort.h"#include "develop/blend.h"#include "develop/dev_history.h"#include "develop/develop.h"#include "develop/imageop.h"#include "develop/masks.h"#include "gui/gtk.h"#include <glib.h>#include <string.h>
Include dependency graph for history_merge_gui.c:Data Structures | |
| struct | _hm_id_info_t |
| struct | _hm_report_reorder_ctx_t |
| struct | _hm_label_t |
Typedefs | |
| typedef enum dt_hm_report_col_t | dt_hm_report_col_t |
Functions | |
| static gchar * | _hm_clean_module_name (const dt_iop_module_t *mod) |
| static gchar * | _hm_module_label_short (const dt_iop_module_t *mod) |
| static gchar * | _hm_pretty_id (const char *id) |
| static gchar * | _hm_pretty_id_from_id_ht (const char *id, GHashTable *id_ht, const gboolean prefer_dest) |
| static gchar * | _hm_cycle_node_label (const dt_digraph_node_t *n, GHashTable *id_ht) |
| static void | _hm_append_cycle_label (GString *out, const char *s, const gboolean bold) |
| 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) |
| static gchar * | _hm_module_row_label (const dt_iop_module_t *mod) |
| static gboolean | _hm_history_masks_match (const dt_dev_history_item_t *a, const dt_dev_history_item_t *b) |
| static gboolean | _hm_history_items_match (const dt_dev_history_item_t *a, const dt_dev_history_item_t *b) |
| static gboolean | _hm_history_item_uses_masks (const dt_dev_history_item_t *hist) |
| static gint | _hm_label_cmp (gconstpointer a, gconstpointer b) |
| GPtrArray * | _hm_collect_labels_from_history_map (GHashTable *last_by_id, const GHashTable *mod_list_ids, GPtrArray **out_styles) |
| static dt_iop_module_t * | _hm_module_from_id (dt_develop_t *dev, const char *id) |
| static gboolean | _hm_module_visible_in_report (const dt_iop_module_t *mod, const GHashTable *mod_list_ids) |
| static gchar * | _hm_report_dest_label (const dt_iop_module_t *mod, GHashTable *dst_last_by_id, const GHashTable *orig_ids) |
| static GPtrArray * | _hm_collect_enabled_modules_gui_order (const dt_develop_t *dev, const GHashTable *mod_list_ids) |
| static void | _hm_report_resync_history_iop_order (dt_develop_t *dev) |
| static GPtrArray * | _hm_report_collect_dest_ids (GtkTreeModel *model) |
| static GPtrArray * | _hm_report_build_desired_visible_order (dt_develop_t *dev_dest, GtkTreeModel *model) |
| static GList * | _hm_report_build_ordered_modules (dt_develop_t *dev_dest, const GPtrArray *visible_order, const GHashTable *mod_list_ids) |
| static gboolean | _hm_report_apply_visible_order (dt_develop_t *dev_dest, const GPtrArray *visible_order, const GHashTable *mod_list_ids) |
| static GHashTable * | _hm_report_build_moved_set (dt_develop_t *dev_src, GtkTreeModel *model, const GHashTable *mod_list_ids) |
| static void | _hm_report_update_move_styles (GtkListStore *store, dt_develop_t *dev_src, const GHashTable *mod_list_ids) |
| static void | _hm_report_update_arrows (GtkListStore *store, GHashTable *override, GHashTable *dst_last_by_id, GHashTable *dst_last_before_by_id) |
| static void | _hm_report_keep_input_row_at_bottom (GtkListStore *store) |
| static void | _hm_report_update_dest_labels (GtkListStore *store, dt_develop_t *dev_dest, GHashTable *dst_last_by_id, const GHashTable *orig_ids) |
| static void | _hm_report_apply_store_order (_hm_report_reorder_ctx_t *ctx) |
| static void | _hm_report_drag_begin (GtkWidget *widget, GdkDragContext *context, gpointer user_data) |
| static void | _hm_report_drag_data_get (GtkWidget *widget, GdkDragContext *context, GtkSelectionData *selection_data, guint info, guint time, gpointer user_data) |
| static void | _hm_report_drag_data_received (GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *selection_data, guint info, guint time, gpointer user_data) |
| static GHashTable * | _hm_build_override_map (const dt_develop_t *dev_dest, GHashTable *src_last_by_id, GHashTable *dst_last_before_by_id) |
| gboolean | _hm_show_merge_report_popup (dt_develop_t *dev_dest, 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) |
| typedef enum dt_hm_report_col_t dt_hm_report_col_t |
| enum dt_hm_report_col_t |
|
static |
Referenced by _hm_show_toposort_cycle_popup().
| 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 | ||
| ) |
|
static |
|
static |
References delete_underscore(), dt_capitalize_label(), and dt_iop_module_t::op.
Referenced by _hm_module_label_short(), _hm_module_row_label(), and _hm_pretty_id_from_id_ht().
|
static |
References _hm_module_visible_in_report(), and dt_develop_t::iop.
Referenced by _hm_show_merge_report_popup().
| GPtrArray * _hm_collect_labels_from_history_map | ( | GHashTable * | last_by_id, |
| const GHashTable * | mod_list_ids, | ||
| GPtrArray ** | out_styles | ||
| ) |
References _hm_history_item_uses_masks(), _hm_label_cmp(), _hm_module_row_label(), dt_free, dt_dev_history_item_t::enabled, IOP_FLAGS_NO_HISTORY_STACK, _hm_label_t::iop_order, dt_dev_history_item_t::iop_order, key, _hm_label_t::label, _hm_label_t::style, TRUE, and value.
Referenced by _hm_backup_dest().
|
static |
References _hm_pretty_id_from_id_ht(), n, and TRUE.
Referenced by _hm_show_toposort_cycle_popup().
|
static |
|
static |
References _hm_history_masks_match(), a, b, FALSE, and TRUE.
Referenced by _hm_build_override_map().
|
static |
References a, b, dt_masks_get_from_id_ext(), dt_masks_group_get_hash(), FALSE, and TRUE.
Referenced by _hm_history_items_match(), and _hm_report_update_arrows().
|
static |
References a, b, and _hm_label_t::iop_order.
Referenced by _hm_collect_labels_from_history_map().
|
static |
References _hm_id_to_op_name(), dt_iop_get_module_by_instance_name(), dt_iop_get_module_by_op_priority(), dt_develop_t::iop, and name.
Referenced by _hm_report_build_desired_visible_order(), and _hm_report_update_dest_labels().
|
static |
References _hm_clean_module_name(), dt_free, dt_iop_module_t::multi_name, name, and out.
Referenced by _hm_warn_missing_raster_producers().
|
static |
References _hm_clean_module_name(), dt_free, dt_iop_module_t::iop_order, dt_iop_module_t::multi_name, name, and out.
Referenced by _hm_collect_labels_from_history_map(), _hm_report_dest_label(), and _hm_show_merge_report_popup().
|
static |
|
static |
References _hm_id_to_op_name(), and name.
Referenced by _hm_pretty_id_from_id_ht().
|
static |
References _hm_clean_module_name(), _hm_pretty_id(), _hm_id_info_t::dst_iop, dt_free, _hm_id_info_t::mod_list, dt_iop_module_t::multi_name, name, out, and _hm_id_info_t::src_iop.
Referenced by _hm_ask_user_constraints_choice(), and _hm_cycle_node_label().
|
static |
References _hm_report_apply_visible_order(), _hm_report_build_desired_visible_order(), _hm_report_keep_input_row_at_bottom(), _hm_report_resync_history_iop_order(), _hm_report_update_arrows(), _hm_report_update_dest_labels(), _hm_report_update_move_styles(), _hm_report_reorder_ctx_t::dev_dest, _hm_report_reorder_ctx_t::dev_src, _hm_report_reorder_ctx_t::dst_last_before_by_id, _hm_report_reorder_ctx_t::dst_last_by_id, FALSE, _hm_report_reorder_ctx_t::in_reorder, _hm_report_reorder_ctx_t::mod_list_ids, _hm_report_reorder_ctx_t::orig_ids, _hm_report_reorder_ctx_t::override, _hm_report_reorder_ctx_t::store, and TRUE.
Referenced by _hm_report_drag_data_received().
|
static |
References _hm_report_build_ordered_modules(), dt_ioppr_rebuild_iop_order_from_modules(), FALSE, and TRUE.
Referenced by _hm_report_apply_store_order().
|
static |
References _hm_module_from_id(), _hm_report_collect_dest_ids(), DT_DEBUG_HISTORY, dt_print(), i, model, and TRUE.
Referenced by _hm_report_apply_store_order().
|
static |
References _hm_make_node_id(), _hm_module_visible_in_report(), _hm_report_collect_dest_ids(), a, b, dt_free, dt_free_gpointer(), FALSE, i, dt_develop_t::iop, model, dt_iop_module_t::multi_name, dt_iop_module_t::op, and TRUE.
Referenced by _hm_report_update_move_styles().
|
static |
References _hm_module_visible_in_report(), DT_DEBUG_HISTORY, dt_print(), and dt_develop_t::iop.
Referenced by _hm_report_apply_visible_order().
|
static |
References dt_free, FALSE, HM_REPORT_COL_DST_ID, HM_REPORT_COL_IS_INPUT, and model.
Referenced by _hm_report_build_desired_visible_order(), and _hm_report_build_moved_set().
|
static |
References _hm_history_item_uses_masks(), _hm_make_node_id(), _hm_module_row_label(), dt_free, dt_iop_module_t::multi_name, and dt_iop_module_t::op.
Referenced by _hm_report_update_dest_labels(), and _hm_show_merge_report_popup().
|
static |
References _hm_report_reorder_ctx_t::drag_path.
Referenced by _hm_show_merge_report_popup().
|
static |
References _hm_report_reorder_ctx_t::drag_path, dt_free, FALSE, HM_REPORT_COL_DST_ID, HM_REPORT_COL_IS_INPUT, and _hm_report_reorder_ctx_t::store.
Referenced by _hm_show_merge_report_popup().
|
static |
References _hm_report_apply_store_order(), dt_free, FALSE, HM_REPORT_COL_DST_ID, HM_REPORT_COL_IS_INPUT, i, row, _hm_report_reorder_ctx_t::store, TRUE, and x.
Referenced by _hm_show_merge_report_popup().
|
static |
References FALSE, HM_REPORT_COL_IS_INPUT, and store().
Referenced by _hm_report_apply_store_order().
|
static |
References dt_develop_t::history, and dt_dev_history_item_t::iop_order.
Referenced by _hm_report_apply_store_order().
|
static |
References _hm_history_item_uses_masks(), _hm_history_masks_match(), delta, dt_free, dt_free_gpointer(), FALSE, HM_REPORT_COL_ARROW, HM_REPORT_COL_DST_ID, HM_REPORT_COL_IS_INPUT, HM_REPORT_COL_SRC_ID, row, and store().
Referenced by _hm_report_apply_store_order(), and _hm_show_merge_report_popup().
|
static |
References _hm_module_from_id(), _hm_report_dest_label(), dt_free, FALSE, HM_REPORT_COL_DST, HM_REPORT_COL_DST_ID, HM_REPORT_COL_IS_INPUT, and store().
Referenced by _hm_report_apply_store_order().
|
static |
References _hm_report_build_moved_set(), dt_free, FALSE, HM_REPORT_COL_DST_ID, HM_REPORT_COL_DST_WEIGHT, HM_REPORT_COL_IS_INPUT, HM_REPORT_COL_SRC_ID, HM_REPORT_COL_SRC_WEIGHT, and store().
Referenced by _hm_report_apply_store_order(), and _hm_show_merge_report_popup().
| gboolean _hm_show_merge_report_popup | ( | dt_develop_t * | dev_dest, |
| 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 | ||
| ) |
References _hm_build_last_history_by_id(), _hm_build_override_map(), _hm_collect_enabled_modules_gui_order(), _hm_history_item_uses_masks(), _hm_make_node_id(), _hm_module_row_label(), _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(), darktable, _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_HISTORY_MERGE_APPEND, DT_HISTORY_MERGE_APPSTART, dt_ui_main_window(), dt_iop_module_t::enabled, FALSE, dt_image_t::filename, darktable_t::gui, HM_REPORT_COL_ARROW, HM_REPORT_COL_COUNT, HM_REPORT_COL_DST, 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_STYLE, HM_REPORT_COL_SRC, HM_REPORT_COL_SRC_ID, HM_REPORT_COL_SRC_STYLE, HM_REPORT_COL_SRC_WEIGHT, dt_image_t::id, dt_develop_t::image_storage, MAX, _hm_report_reorder_ctx_t::mod_list_ids, dt_iop_module_t::multi_name, dt_iop_module_t::op, _hm_report_reorder_ctx_t::orig_ids, _hm_report_reorder_ctx_t::override, r, scrolled(), _hm_report_reorder_ctx_t::store, store(), TRUE, and dt_gui_gtk_t::ui.
Referenced by dt_history_merge().
| void _hm_show_toposort_cycle_popup | ( | GList * | cycle_nodes, |
| GHashTable * | id_ht | ||
| ) |
References _hm_append_cycle_label(), _hm_cycle_node_label(), darktable, dt_free, dt_ui_main_window(), FALSE, darktable_t::gui, i, n, TRUE, and dt_gui_gtk_t::ui.
Referenced by _hm_topo_sort_constraints().
| gboolean _hm_warn_missing_raster_producers | ( | const GList * | mod_list | ) |
References _hm_module_label_short(), darktable, dt_free, dt_ui_main_window(), FALSE, darktable_t::gui, dt_iop_module_t::raster_mask, dt_iop_module_t::sink, dt_iop_module_t::source, TRUE, and dt_gui_gtk_t::ui.
Referenced by dt_history_merge().