![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include <glib.h>
#include <sqlite3.h>
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | dt_tag_t |
Macros | |
#define | DT_TF_ALL (DT_TF_CATEGORY | DT_TF_PRIVATE | DT_TF_ORDER_SET) |
Typedefs | |
typedef struct dt_tag_t | dt_tag_t |
typedef enum dt_tag_flags_t | dt_tag_flags_t |
typedef enum dt_tag_selection_t | dt_tag_selection_t |
Enumerations | |
enum | dt_tag_flags_t { DT_TF_NONE = 0 , DT_TF_CATEGORY = 1 << 0 , DT_TF_PRIVATE = 1 << 1 , DT_TF_ORDER_SET = 1 << 2 , DT_TF_DESCENDING = 1U << 31 } |
enum | dt_tag_selection_t { DT_TS_NO_IMAGE = 0 , DT_TS_SOME_IMAGES , DT_TS_ALL_IMAGES } |
Functions | |
gboolean | dt_tag_new (const char *name, guint *tagid) |
gboolean | dt_tag_new_from_gui (const char *name, guint *tagid) |
ssize_t | dt_tag_import (const char *filename) |
ssize_t | dt_tag_export (const char *filename) |
gchar * | dt_tag_get_name (const guint tagid) |
guint | dt_tag_remove (const guint tagid, gboolean final) |
guint | dt_tag_remove_list (GList *tag_list) |
void | dt_tag_rename (const guint tagid, const gchar *new_tagname) |
gboolean | dt_tag_exists (const char *name, guint *tagid) |
gboolean | dt_tag_attach_images (const guint tagid, const GList *img, const gboolean undo_on) |
gboolean | dt_tag_attach (const guint tagid, const int32_t imgid, const gboolean undo_on, const gboolean group_on) |
gboolean | dt_is_tag_attached (const guint tagid, const int32_t imgid) |
gboolean | dt_tag_set_tags (const GList *tags, const GList *img, const gboolean ignore_dt_tags, const gboolean clear_on, const gboolean undo_on) |
gboolean | dt_tag_attach_string_list (const gchar *tags, const GList *img, const gboolean undo_on) |
gboolean | dt_tag_detach_images (const guint tagid, const GList *img, const gboolean undo_on) |
gboolean | dt_tag_detach (const guint tagid, const int32_t imgid, const gboolean undo_on, const gboolean group_on) |
gboolean | dt_tag_detach_by_string (const char *name, const int32_t imgid, const gboolean undo_on, const gboolean group_on) |
uint32_t | dt_tag_get_attached (const int32_t imgid, GList **result, const gboolean ignore_dt_tags) |
GList * | dt_sort_tag (GList *tags, gboolean byname) |
GList * | dt_tag_get_list (int32_t imgid) |
GList * | dt_tag_get_list_export (int32_t imgid, int32_t flags) |
GList * | dt_tag_get_hierarchical (int32_t imgid) |
GList * | dt_tag_get_hierarchical_export (int32_t imgid, int32_t flags) |
GList * | dt_tag_get_tags (const int32_t imgid, const gboolean ignore_dt_tags) |
GList * | dt_tag_get_images (const gint tagid) |
GList * | dt_tag_get_images_from_list (const GList *img, const gint tagid) |
uint32_t | dt_tag_get_suggestions (GList **result) |
void | dt_tag_count_tags_images (const gchar *keyword, int *tag_count, int *img_count) |
void | dt_tag_get_tags_images (const gchar *keyword, GList **tag_list, GList **img_list) |
uint32_t | dt_tag_get_with_usage (GList **result) |
gchar * | dt_tag_get_synonyms (gint tagid) |
void | dt_tag_set_synonyms (gint tagid, gchar *synonyms) |
gint | dt_tag_get_flags (gint tagid) |
void | dt_tag_set_flags (gint tagid, gint flags) |
uint32_t | dt_tag_get_recent_used (GList **result) |
void | dt_tag_free_result (GList **result) |
uint32_t | dt_tag_images_count (gint tagid) |
char * | dt_tag_get_subtags (const int32_t imgid, const char *category, const int level) |
gboolean | dt_tag_get_tag_order_by_id (const uint32_t tagid, uint32_t *sort, gboolean *descending) |
void | dt_tag_set_tag_order_by_id (const uint32_t tagid, const uint32_t sort, const gboolean descending) |
uint32_t | dt_tag_get_tag_id_by_name (const char *const name) |
void | dt_set_darktable_tags () |
#define DT_TF_ALL (DT_TF_CATEGORY | DT_TF_PRIVATE | DT_TF_ORDER_SET) |
typedef enum dt_tag_flags_t dt_tag_flags_t |
typedef enum dt_tag_selection_t dt_tag_selection_t |
enum dt_tag_flags_t |
enum dt_tag_selection_t |
gboolean dt_is_tag_attached | ( | const guint | tagid, |
const int32_t | imgid | ||
) |
check if a tag is attached to the given image
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, and DT_DEBUG_SQLITE3_PREPARE_V2.
Referenced by dt_tag_attach().
void dt_set_darktable_tags | ( | ) |
init the darktable tags table
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_EXEC, and DT_DEBUG_SQLITE3_PREPARE_V2.
Referenced by dt_init(), and dt_tag_delete_tag_batch().
GList * dt_sort_tag | ( | GList * | tags, |
gboolean | byname | ||
) |
sort tags per name (including '|') or per count (desc)
gboolean dt_tag_attach | ( | const guint | tagid, |
const int32_t | imgid, | ||
const gboolean | undo_on, | ||
const gboolean | group_on | ||
) |
attach a tag on images. tagid id of tag to attach. imgid the image id to attach tag to, if < 0 images to act on are used.
References dt_act_on_get_images(), dt_is_tag_attached(), dt_tag_attach_images(), FALSE, and UNKNOWN_IMAGE.
Referenced by _attach_selected_tag(), _exif_decode_exif_data(), _exif_decode_iptc_data(), _image_import_internal(), _lrop(), _pop_menu_attached_attach_to_all(), _print_job_run(), dt_control_export_job_run(), dt_control_local_copy_images_job_run(), dt_dev_append_changed_tag(), dt_imageio_set_hdr_tag(), dt_imageio_update_monochrome_workflow_tag(), dt_lua_tag_attach(), dt_map_location_update_images(), and dt_map_location_update_locations().
gboolean dt_tag_attach_images | ( | const guint | tagid, |
const GList * | img, | ||
const gboolean | undo_on | ||
) |
attach a tag on images list. tagid id of tag to attach. img the list of image id to attach tag to
References _pop_undo(), _tag_execute(), _tags_undo_data_free(), darktable, DT_TA_ATTACH, dt_undo_end_group(), dt_undo_record(), dt_undo_start_group(), DT_UNDO_TAGS, FALSE, and darktable_t::undo.
Referenced by _event_dnd_received(), and dt_tag_attach().
gboolean dt_tag_attach_string_list | ( | const gchar * | tags, |
const GList * | img, | ||
const gboolean | undo_on | ||
) |
attach a list of tags on list of images.
[in] | tags | a comma separated string of tags. |
[in] | img | the list of images to attach tag to. |
References _pop_undo(), _tag_execute(), _tags_undo_data_free(), darktable, DT_TA_ATTACH, dt_tag_new(), dt_undo_end_group(), dt_undo_record(), dt_undo_start_group(), DT_UNDO_TAGS, FALSE, and darktable_t::undo.
Referenced by _new_button_clicked().
void dt_tag_count_tags_images | ( | const gchar * | keyword, |
int * | tag_count, | ||
int * | img_count | ||
) |
retrieves count of tagged images.
[in] | keyword | the keyword to search |
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_EXEC, and DT_DEBUG_SQLITE3_PREPARE_V2.
Referenced by _pop_menu_dictionary_change_path(), _pop_menu_dictionary_delete_node(), and _pop_menu_dictionary_edit_tag().
gboolean dt_tag_detach | ( | const guint | tagid, |
const int32_t | imgid, | ||
const gboolean | undo_on, | ||
const gboolean | group_on | ||
) |
detach tag from images.
[in] | tagid | of tag to detach. |
[in] | imgid | the image id to detach tag from, if < 0 images to act on are used. |
References dt_act_on_get_images(), dt_grouping_add_grouped_images(), dt_tag_detach_images(), and UNKNOWN_IMAGE.
Referenced by dt_control_export_job_run(), dt_control_local_copy_images_job_run(), dt_lua_tag_detach(), dt_map_location_update_images(), dt_map_location_update_locations(), and dt_tag_detach_by_string().
gboolean dt_tag_detach_by_string | ( | const char * | name, |
const int32_t | imgid, | ||
const gboolean | undo_on, | ||
const gboolean | group_on | ||
) |
detach tags from images that matches name, it is valid to use % to match tag
References dt_tag_detach(), dt_tag_exists(), FALSE, and name.
Referenced by _image_duplicate_with_version(), dt_history_delete_on_image_ext(), and dt_imageio_update_monochrome_workflow_tag().
gboolean dt_tag_detach_images | ( | const guint | tagid, |
const GList * | img, | ||
const gboolean | undo_on | ||
) |
detach tag from images.
[in] | tagid | of tag to detach. |
[in] | img | the list of image id to detach tag from |
References _pop_undo(), _tag_execute(), _tags_undo_data_free(), darktable, DT_TA_DETACH, dt_undo_end_group(), dt_undo_record(), dt_undo_start_group(), DT_UNDO_TAGS, FALSE, and darktable_t::undo.
Referenced by _detach_selected_tag(), and dt_tag_detach().
gboolean dt_tag_exists | ( | const char * | name, |
guint * | tagid | ||
) |
checks if tag exists.
[in] | name | of tag to check. |
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_PREPARE_V2, FALSE, name, and TRUE.
Referenced by _apply_rename_path(), _lrop(), _pop_menu_dictionary_create_tag(), _pop_menu_dictionary_edit_tag(), dt_map_location_name_exists(), dt_tag_detach_by_string(), dt_tag_rename(), and tag_lib_find().
ssize_t dt_tag_export | ( | const char * | filename | ) |
References dt_sort_tag(), dt_tag_free_result(), dt_tag_get_with_usage(), DT_TF_CATEGORY, and flags.
Referenced by _export_button_clicked().
void dt_tag_free_result | ( | GList ** | result | ) |
frees the memory of a result set.
References _free_result_item().
Referenced by _apply_rename_path(), _init_treeview(), _metadata_view_update_values(), _pop_menu_dictionary_delete_node(), _pop_menu_dictionary_edit_tag(), _update_sel_on_tree(), dt_tag_export(), dt_tag_get_hierarchical(), dt_tag_get_hierarchical_export(), dt_tag_get_list(), dt_tag_get_list_export(), and get_params().
uint32_t dt_tag_get_attached | ( | const int32_t | imgid, |
GList ** | result, | ||
const gboolean | ignore_dt_tags | ||
) |
retrieves a list of tags of specified imgid
[out] | result | a list of dt_tag_t, sorted by tag. |
References dt_tag_t::count, darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_PREPARE_V2, dt_selection_get_length(), dt_selection_ids_to_string(), DT_TS_ALL_IMAGES, DT_TS_NO_IMAGE, DT_TS_SOME_IMAGES, dt_tag_t::flags, dt_tag_t::id, dt_tag_t::leave, dt_tag_t::select, darktable_t::selection, dt_tag_t::synonym, and dt_tag_t::tag.
Referenced by _init_treeview(), _metadata_view_update_values(), _update_sel_on_tree(), dt_tag_get_hierarchical(), dt_tag_get_hierarchical_export(), dt_tag_get_list(), and get_params().
gint dt_tag_get_flags | ( | gint | tagid | ) |
retrieves flags of the tag
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_PREPARE_V2, and flags.
Referenced by _pop_menu_dictionary_edit_tag().
GList * dt_tag_get_hierarchical | ( | int32_t | imgid | ) |
get a flat list of only hierarchical tags, the difference to dt_tag_get_attached() is that this one filters out the "darktable|" tags.
References dt_tag_free_result(), dt_tag_get_attached(), dt_tag_t::tag, and TRUE.
Referenced by _exif_xmp_read_data().
GList * dt_tag_get_hierarchical_export | ( | int32_t | imgid, |
int32_t | flags | ||
) |
get a flat list of only hierarchical tags, the difference to dt_tag_get_hierarchical() is that this one checks option for exportation
References DT_META_PRIVATE_TAG, dt_tag_free_result(), dt_tag_get_attached(), DT_TF_PRIVATE, flags, dt_tag_t::flags, dt_tag_t::tag, and TRUE.
Referenced by _exif_xmp_read_data_export().
GList * dt_tag_get_images | ( | const gint | tagid | ) |
get the subset of images that have a given tag attached
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, and DT_DEBUG_SQLITE3_PREPARE_V2.
Referenced by dt_map_location_update_images().
GList * dt_tag_get_images_from_list | ( | const GList * | img, |
const gint | tagid | ||
) |
get the subset of images from the given list that have a given tag attached
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_PREPARE_V2, and dt_util_dstrcat().
Referenced by _detach_selected_tag().
GList * dt_tag_get_list | ( | int32_t | imgid | ) |
get a list of tags, the difference to dt_tag_get_attached() is that this one splits at '|' and filters out the "darktable|" tags.
References dt_conf_get_bool(), dt_tag_free_result(), dt_tag_get_attached(), dt_util_glist_uniq(), dt_tag_t::tag, and TRUE.
Referenced by _exif_xmp_read_data().
GList * dt_tag_get_list_export | ( | int32_t | imgid, |
int32_t | flags | ||
) |
get a list of tags, the difference to dt_tag_get_list() is that this one checks option for exportation
References _is_not_exportable_tag(), _tag_get_attached_export(), DT_META_OMIT_HIERARCHY, DT_META_PRIVATE_TAG, DT_META_SYNONYMS_TAG, dt_sort_tag(), dt_tag_free_result(), DT_TF_CATEGORY, DT_TF_PRIVATE, dt_util_glist_uniq(), flags, dt_tag_t::flags, dt_tag_t::leave, dt_tag_t::synonym, and dt_tag_t::tag.
Referenced by _exif_xmp_read_data_export(), _get_base_value(), and store().
gchar * dt_tag_get_name | ( | const guint | tagid | ) |
get the name of specified id
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_PREPARE_V2, and name.
Referenced by _attach_selected_tag(), _pop_menu_attached_attach_to_all(), dt_map_location_delete(), dt_map_location_rename(), tag_name(), and tag_tostring().
uint32_t dt_tag_get_recent_used | ( | GList ** | result | ) |
retrieves a list of recent tags used.
[out] | result | a pointer to list populated with result. |
char * dt_tag_get_subtags | ( | const int32_t | imgid, |
const char * | category, | ||
const int | level | ||
) |
retrieves the subtags of requested level for the requested category
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_PREPARE_V2, dt_util_dstrcat(), dt_util_string_count_char(), FALSE, and TRUE.
Referenced by _get_base_value().
uint32_t dt_tag_get_suggestions | ( | GList ** | result | ) |
retrieves a list of suggested tags matching keyword.
[in] | keyword | the keyword to search |
[out] | result | a pointer to list populated with result. |
References dt_tag_t::count, darktable, darktable_t::db, dt_conf_get_int(), dt_conf_get_string_const(), dt_database_get(), DT_DEBUG_SQLITE3_EXEC, DT_DEBUG_SQLITE3_PREPARE_V2, dt_selection_get_length(), DT_TS_ALL_IMAGES, DT_TS_NO_IMAGE, DT_TS_SOME_IMAGES, dt_tag_t::flags, dt_tag_t::id, dt_tag_t::leave, dt_tag_t::select, darktable_t::selection, dt_tag_t::synonym, and dt_tag_t::tag.
Referenced by _init_treeview().
gchar * dt_tag_get_synonyms | ( | gint | tagid | ) |
retrieves synonyms of the tag
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, and DT_DEBUG_SQLITE3_PREPARE_V2.
Referenced by dt_tag_add_synonym().
uint32_t dt_tag_get_tag_id_by_name | ( | const char *const | name | ) |
return the tagid of that tag - follow tag sensitivity - return 0 if not found
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_PREPARE_V2, and name.
Referenced by row_activated_with_event().
gboolean dt_tag_get_tag_order_by_id | ( | const uint32_t | tagid, |
uint32_t * | sort, | ||
gboolean * | descending | ||
) |
return the images order associated to that tag
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_PREPARE_V2, DT_TF_DESCENDING, DT_TF_ORDER_SET, FALSE, flags, and TRUE.
Referenced by row_activated_with_event().
GList * dt_tag_get_tags | ( | const int32_t | imgid, |
const gboolean | ignore_dt_tags | ||
) |
get a flat list of tags id attached to image id
References _tag_get_tags(), DT_TAG_TYPE_ALL, and DT_TAG_TYPE_USER.
void dt_tag_get_tags_images | ( | const gchar * | keyword, |
GList ** | tag_list, | ||
GList ** | img_list | ||
) |
retrieves list of tags and tagged images.
[in] | keyword | the keyword to search. |
[out] | result | pointers to list populated with result. |
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_EXEC, DT_DEBUG_SQLITE3_PREPARE_V2, dt_tag_t::id, and dt_tag_t::tag.
Referenced by _apply_rename_path(), _pop_menu_dictionary_delete_node(), and _pop_menu_dictionary_edit_tag().
uint32_t dt_tag_get_with_usage | ( | GList ** | result | ) |
retrieves the list of tags matching keyword.
[in] | keyword | the keyword to search |
[out] | result | a pointer to list populated with result. |
References dt_tag_t::count, darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_EXEC, DT_DEBUG_SQLITE3_PREPARE_V2, dt_selection_get_length(), DT_TS_ALL_IMAGES, DT_TS_NO_IMAGE, DT_TS_SOME_IMAGES, dt_tag_t::flags, dt_tag_t::id, dt_tag_t::leave, dt_tag_t::select, darktable_t::selection, dt_tag_t::synonym, and dt_tag_t::tag.
Referenced by _init_treeview(), and dt_tag_export().
uint32_t dt_tag_images_count | ( | gint | tagid | ) |
get number of images affected with that tag
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, and DT_DEBUG_SQLITE3_PREPARE_V2.
Referenced by _attach_selected_tag(), _detach_selected_tag(), _pop_menu_attached_attach_to_all(), and _update_attached_count().
ssize_t dt_tag_import | ( | const char * | filename | ) |
References darktable, DT_DEBUG_CONTROL_SIGNAL_RAISE, DT_SIGNAL_TAG_CHANGED, dt_tag_add_synonym(), dt_tag_new(), dt_tag_rename(), dt_tag_set_flags(), dt_tag_set_synonyms(), DT_TF_CATEGORY, dt_util_glist_to_str(), FALSE, getline(), darktable_t::signals, and TRUE.
Referenced by _import_button_clicked().
gboolean dt_tag_new | ( | const char * | name, |
guint * | tagid | ||
) |
creates a new tag, returns tagid
[in] | name | the tag name. |
[in] | tagid | a pointer to tagid of new tag, this can be NULL |
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_PREPARE_V2, FALSE, name, and TRUE.
Referenced by _exif_decode_exif_data(), _exif_decode_iptc_data(), _image_import_internal(), _lrop(), _pop_menu_dictionary_create_tag(), _pop_menu_dictionary_set_as_tag(), _print_job_run(), dt_control_export_job_run(), dt_control_local_copy_images_job_run(), dt_dev_append_changed_tag(), dt_imageio_set_hdr_tag(), dt_imageio_update_monochrome_workflow_tag(), dt_map_location_new(), dt_tag_attach_string_list(), dt_tag_import(), and dt_tag_new_from_gui().
gboolean dt_tag_new_from_gui | ( | const char * | name, |
guint * | tagid | ||
) |
creates a new tag, returns tagid
[in] | name | the tag name. |
[in] | tagid | a pointer to tagid of new tag, this can be NULL |
References darktable, DT_DEBUG_CONTROL_SIGNAL_RAISE, DT_SIGNAL_TAG_CHANGED, dt_tag_new(), name, and darktable_t::signals.
Referenced by tag_lib_create().
guint dt_tag_remove | ( | const guint | tagid, |
gboolean | final | ||
) |
removes a tag from db and from assigned images.
final | TRUE actually performs the remove |
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_PREPARE_V2, and TRUE.
Referenced by _pop_menu_dictionary_delete_tag(), dt_map_location_delete(), and tag_delete().
guint dt_tag_remove_list | ( | GList * | tag_list | ) |
removes a list of tags from db and from assigned images.
References dt_tag_delete_tag_batch(), and dt_util_dstrcat().
Referenced by _pop_menu_dictionary_delete_node().
void dt_tag_rename | ( | const guint | tagid, |
const gchar * | new_tagname | ||
) |
set the name of specified id
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_PREPARE_V2, and dt_tag_exists().
Referenced by _apply_rename_path(), _pop_menu_dictionary_edit_tag(), dt_map_location_rename(), and dt_tag_import().
void dt_tag_set_flags | ( | gint | tagid, |
gint | flags | ||
) |
sets flags of the tag
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_PREPARE_V2, and flags.
Referenced by _pop_menu_dictionary_create_tag(), _pop_menu_dictionary_edit_tag(), and dt_tag_import().
void dt_tag_set_synonyms | ( | gint | tagid, |
gchar * | synonyms | ||
) |
sets synonyms of the tag
References darktable, darktable_t::db, dt_cleanup_synonyms(), dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_BIND_TEXT, and DT_DEBUG_SQLITE3_PREPARE_V2.
Referenced by _pop_menu_dictionary_create_tag(), _pop_menu_dictionary_edit_tag(), and dt_tag_import().
void dt_tag_set_tag_order_by_id | ( | const uint32_t | tagid, |
const uint32_t | sort, | ||
const gboolean | descending | ||
) |
save the images order on the tag
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_PREPARE_V2, DT_TF_ALL, DT_TF_DESCENDING, DT_TF_ORDER_SET, and flags.
Referenced by _lib_filter_set_tag_order(), and row_activated_with_event().
gboolean dt_tag_set_tags | ( | const GList * | tags, |
const GList * | img, | ||
const gboolean | ignore_dt_tags, | ||
const gboolean | clear_on, | ||
const gboolean | undo_on | ||
) |
attach a list of tags on selected images.
[in] | tags | a list of ids of tags. |
[in] | imgid | the image id to attach tag to, if < 0 selected images are used. |
References _pop_undo(), _tag_execute(), _tags_undo_data_free(), darktable, DT_TA_ATTACH, DT_TA_SET, DT_TA_SET_ALL, dt_undo_end_group(), dt_undo_record(), dt_undo_start_group(), DT_UNDO_TAGS, FALSE, and darktable_t::undo.
Referenced by _exif_decode_xmp_data(), and set_params().