Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
history_merge_gui.h
Go to the documentation of this file.
1/*
2 This file is part of Ansel,
3 Copyright (C) 2026 Aurélien PIERRE.
4
5 Ansel is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 Ansel is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with Ansel. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#ifndef DT_GUI_COMMON_HISTORY_MERGE_H
20#define DT_GUI_COMMON_HISTORY_MERGE_H
21
23
24#include <glib.h>
25
26struct dt_develop_t;
27
28
29
30dt_hm_constraint_choice_t _hm_ask_user_constraints_choice(GHashTable *id_ht, const char *faulty_id,
31 const char *src_prev, const char *src_next,
32 const char *dst_prev, const char *dst_next);
33
34gboolean _hm_warn_missing_raster_producers(const GList *mod_list);
35
36void _hm_show_toposort_cycle_popup(GList *cycle_nodes, GHashTable *id_ht);
37
38
39GPtrArray *_hm_collect_labels_from_history_map(GHashTable *last_by_id, const GHashTable *mod_list_ids,
40 GPtrArray **out_styles);
41
56gboolean dt_gui_merge_options_dialog(const char *title,
57 const char *mode_key,
58 const char *iop_order_key,
59 const char *ask_key,
60 gboolean iop_order_available);
61
62gboolean _hm_show_merge_report_popup(struct dt_develop_t *dev_dest, struct dt_develop_t *dev_src,
63 const gboolean merge_iop_order, const gboolean used_source_order,
64 const dt_history_merge_strategy_t strategy, GHashTable *src_last_by_id,
65 GHashTable *dst_last_before_by_id, const GHashTable *orig_ids,
66 const GHashTable *mod_list_ids, const char *source_label,
67 dt_hm_batch_state_t *batch);
71
72#endif // DT_GUI_COMMON_HISTORY_MERGE_H
dt_hm_constraint_choice_t
dt_history_merge_strategy_t
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 GHashTable *orig_ids, const GHashTable *mod_list_ids, const char *source_label, dt_hm_batch_state_t *batch)
gboolean _hm_warn_missing_raster_producers(const GList *mod_list)
void _hm_show_toposort_cycle_popup(GList *cycle_nodes, GHashTable *id_ht)
void dt_history_merge_gui_register_handlers(void)
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)
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.