![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "metadata/metadata.h"#include "common/act_on.h"#include "system/macros.h"#include "system/mem_alloc.h"#include "common/module_versioning.h"#include "widgets/gdkkeys.h"#include "widgets/accelerators.h"#include "database/metadata_repository.h"#include "common/conf.h"#include "widgets/label.h"#include "widgets/widget_settings.h"#include "widgets/widget_style.h"#include "control/signal.h"#include "gui/application.h"#include "libs/lib.h"#include "libs/lib_api.h"#include <gdk/gdkkeysyms.h>
Include dependency graph for libs/metadata.c:Go to the source code of this file.
Data Structures | |
| struct | dt_lib_metadata_t |
| struct | _selected_metadata_ctx_t |
Typedefs | |
| typedef enum dt_metadata_pref_cols_t | dt_metadata_pref_cols_t |
| typedef struct dt_lib_metadata_t | dt_lib_metadata_t |
| typedef struct _selected_metadata_ctx_t | _selected_metadata_ctx_t |
Enumerations | |
| enum | dt_metadata_pref_cols_t { DT_METADATA_PREF_COL_INDEX = 0 , DT_METADATA_PREF_COL_NAME , DT_METADATA_PREF_COL_VISIBLE , DT_METADATA_PREF_COL_PRIVATE , DT_METADATA_PREF_NUM_COLS } |
Functions | |
| const char * | name (struct dt_lib_module_t *self) |
| const char ** | views (dt_lib_module_t *self) |
| uint32_t | container (dt_lib_module_t *self) |
| void | _textbuffer_changed (GtkTextBuffer *textbuffer, dt_lib_module_t *self) |
| static void | _write_metadata (GtkTextView *textview, dt_lib_module_t *self) |
| static gboolean | _is_leave_unchanged (GtkTextView *textview) |
| static gchar * | _get_buffer_text (GtkTextView *textview) |
| static void | _text_set_all_selected (GtkTextView *textview, const gboolean selected) |
| static void | _text_set_italic (GtkTextView *textview, const gboolean italic) |
| static void | _set_text_buffer (GtkTextBuffer *buffer, const char *text) |
| static void | _fill_text_view (const uint32_t i, const uint32_t count, dt_lib_module_t *self) |
| static void | _selected_metadata_row (void *user_data, const int keyid, const char *value, const uint32_t count) |
| static void | _commit_pending_edit (dt_lib_module_t *self) |
| static void | _refresh (dt_lib_module_t *self) |
| static void | _update (dt_lib_module_t *self) |
| static void | _image_selection_changed_callback (gpointer instance, dt_lib_module_t *self) |
| static void | _append_kv (GList **l, const gchar *key, const gchar *value) |
| static void | _metadata_set_list (const int i, GList **key_value, dt_lib_metadata_t *d) |
| static void | _apply_button_clicked (GtkButton *button, dt_lib_module_t *self) |
| static gboolean | _key_pressed (GtkWidget *textview, GdkEventKey *event, dt_lib_module_t *self) |
| gboolean | _textview_focus (GtkWidget *widget, GtkDirectionType d, gpointer user_data) |
| static gboolean | _got_focus (GtkWidget *textview, dt_lib_module_t *self) |
| static gboolean | _lost_focus (GtkWidget *textview, GdkEventFocus *event, dt_lib_module_t *self) |
| int | position () |
| static void | _update_layout (dt_lib_module_t *self) |
| void | gui_reset (dt_lib_module_t *self) |
| static void | _toggled_callback (gchar *path_str, gpointer user_data, const int column) |
| static void | _visible_toggled_callback (GtkCellRendererToggle *cell_renderer, gchar *path_str, gpointer user_data) |
| static void | _private_toggled_callback (GtkCellRendererToggle *cell_renderer, gchar *path_str, gpointer user_data) |
| void | _menuitem_preferences (GtkMenuItem *menuitem, dt_lib_module_t *self) |
| void | set_preferences (void *menu, dt_lib_module_t *self) |
| void | _menu_line_activated (GtkMenuItem *menuitem, GtkTextView *textview) |
| static void | _populate_popup_multi (GtkTextView *textview, GtkWidget *popup, dt_lib_module_t *self) |
| static gboolean | _metadata_reset (GtkWidget *label, GdkEventButton *event, GtkWidget *widget) |
| void | gui_init (dt_lib_module_t *self) |
| void | gui_cleanup (dt_lib_module_t *self) |
| static void | add_rights_preset (dt_lib_module_t *self, char *name, char *string) |
| void | init_presets (dt_lib_module_t *self) |
| void * | legacy_params (dt_lib_module_t *self, const void *const old_params, const size_t old_params_size, const int old_version, int *new_version, size_t *new_size) |
| void * | get_params (dt_lib_module_t *self, int *size) |
| int | set_params (dt_lib_module_t *self, const void *params, int size) |
| typedef struct _selected_metadata_ctx_t _selected_metadata_ctx_t |
| typedef struct dt_lib_metadata_t dt_lib_metadata_t |
| typedef enum dt_metadata_pref_cols_t dt_metadata_pref_cols_t |
| Enumerator | |
|---|---|
| DT_METADATA_PREF_COL_INDEX | |
| DT_METADATA_PREF_COL_NAME | |
| DT_METADATA_PREF_COL_VISIBLE | |
| DT_METADATA_PREF_COL_PRIVATE | |
| DT_METADATA_PREF_NUM_COLS | |
Definition at line 71 of file libs/metadata.c.
|
static |
Definition at line 303 of file libs/metadata.c.
Referenced by _metadata_set_list(), and set_params().
|
static |
Definition at line 359 of file libs/metadata.c.
References _write_metadata().
Referenced by gui_init().
|
static |
Definition at line 196 of file libs/metadata.c.
References _write_metadata(), d, dt_lib_module_t::data, DT_METADATA_NUMBER, i, and IS_NULL_PTR.
Referenced by _update().
|
static |
Definition at line 147 of file libs/metadata.c.
References _set_text_buffer(), _text_set_italic(), d, dt_lib_module_t::data, FALSE, i, and TRUE.
Referenced by _refresh().
|
static |
Definition at line 113 of file libs/metadata.c.
References TRUE.
Referenced by _metadata_set_list().
|
static |
Definition at line 432 of file libs/metadata.c.
References _is_leave_unchanged(), _set_text_buffer(), _text_set_all_selected(), _text_set_italic(), d, dt_lib_module_t::data, FALSE, and TRUE.
Referenced by gui_init().
|
static |
Definition at line 298 of file libs/metadata.c.
References _update().
Referenced by gui_cleanup(), and gui_init().
|
static |
Definition at line 108 of file libs/metadata.c.
Referenced by _got_focus(), _lost_focus(), _metadata_set_list(), and _populate_popup_multi().
|
static |
Definition at line 364 of file libs/metadata.c.
References _refresh(), _text_set_all_selected(), _write_metadata(), d, dt_lib_module_t::data, dt_gui_main_window(), dt_keys_mainpad_alternatives(), dt_modifier_is(), DT_PRIMARY_MASK, FALSE, key, and TRUE.
Referenced by gui_init().
|
static |
Definition at line 448 of file libs/metadata.c.
References _is_leave_unchanged(), _set_text_buffer(), _text_set_italic(), _write_metadata(), d, dt_lib_module_t::data, FALSE, and TRUE.
Referenced by gui_cleanup(), and gui_init().
| void _menu_line_activated | ( | GtkMenuItem * | menuitem, |
| GtkTextView * | textview | ||
| ) |
Definition at line 696 of file libs/metadata.c.
Referenced by _populate_popup_multi().
| void _menuitem_preferences | ( | GtkMenuItem * | menuitem, |
| dt_lib_module_t * | self | ||
| ) |
Definition at line 550 of file libs/metadata.c.
References _private_toggled_callback(), _update_layout(), _visible_toggled_callback(), dt_conf_get_int(), dt_conf_set_int(), dt_control_signal_get_global(), DT_DEBUG_CONTROL_SIGNAL_RAISE, dt_free, dt_gui_add_class(), dt_gui_main_window(), dt_handle_dialog_enter(), DT_METADATA_FLAG_HIDDEN, DT_METADATA_FLAG_PRIVATE, dt_metadata_get_name_by_display_order(), dt_metadata_get_type(), dt_metadata_get_type_by_display_order(), DT_METADATA_NUMBER, DT_METADATA_PREF_COL_INDEX, DT_METADATA_PREF_COL_NAME, DT_METADATA_PREF_COL_PRIVATE, DT_METADATA_PREF_COL_VISIBLE, DT_METADATA_PREF_NUM_COLS, DT_METADATA_SIGNAL_HIDDEN, DT_METADATA_SIGNAL_SHOWN, DT_METADATA_TYPE_INTERNAL, DT_METADATA_TYPE_OPTIONAL, dt_osx_disallow_fullscreen(), DT_PIXEL_APPLY_DPI, DT_SIGNAL_METADATA_CHANGED, FALSE, flag, i, model, name, res, store, TRUE, type, and view.
Referenced by set_preferences().
|
static |
Definition at line 722 of file libs/metadata.c.
References _set_text_buffer(), FALSE, and TRUE.
Referenced by gui_init().
|
static |
Definition at line 309 of file libs/metadata.c.
References _append_kv(), _get_buffer_text(), _is_leave_unchanged(), d, dt_metadata_get_key(), dt_metadata_get_keyid_by_display_order(), dt_metadata_get_type(), DT_METADATA_TYPE_INTERNAL, and i.
Referenced by _write_metadata().
|
static |
Definition at line 702 of file libs/metadata.c.
References _is_leave_unchanged(), _menu_line_activated(), d, dt_lib_module_t::data, and i.
Referenced by gui_init().
|
static |
Definition at line 545 of file libs/metadata.c.
References _toggled_callback(), and DT_METADATA_PREF_COL_PRIVATE.
Referenced by _menuitem_preferences().
|
static |
Definition at line 254 of file libs/metadata.c.
References _fill_text_view(), _selected_metadata_row(), d, dt_lib_module_t::data, dt_free_gpointer(), dt_metadata_get_keyid_by_display_order(), dt_metadata_get_type(), DT_METADATA_NUMBER, dt_metadata_repository_foreach_selected(), DT_METADATA_TYPE_INTERNAL, i, key, and _selected_metadata_ctx_t::metadata.
Referenced by _key_pressed(), _update(), and _write_metadata().
|
static |
Definition at line 179 of file libs/metadata.c.
References DT_METADATA_NUMBER, _selected_metadata_ctx_t::imgs_count, IS_NULL_PTR, _selected_metadata_ctx_t::metadata, _selected_metadata_ctx_t::metadata_count, and value.
Referenced by _refresh().
|
static |
Definition at line 140 of file libs/metadata.c.
References _textbuffer_changed().
Referenced by _fill_text_view(), _got_focus(), _lost_focus(), _metadata_reset(), and gui_reset().
|
static |
Definition at line 121 of file libs/metadata.c.
References selected.
Referenced by _got_focus(), and _key_pressed().
|
static |
Definition at line 129 of file libs/metadata.c.
Referenced by _fill_text_view(), _got_focus(), _lost_focus(), and gui_reset().
| void _textbuffer_changed | ( | GtkTextBuffer * | textbuffer, |
| dt_lib_module_t * | self | ||
| ) |
Definition at line 417 of file libs/metadata.c.
References d, dt_lib_module_t::data, FALSE, and TRUE.
Referenced by _set_text_buffer(), and gui_init().
| gboolean _textview_focus | ( | GtkWidget * | widget, |
| GtkDirectionType | d, | ||
| gpointer | user_data | ||
| ) |
|
static |
Definition at line 526 of file libs/metadata.c.
References store.
Referenced by _private_toggled_callback(), and _visible_toggled_callback().
|
static |
Definition at line 215 of file libs/metadata.c.
References _commit_pending_edit(), _refresh(), d, dt_lib_module_t::data, dt_act_on_get_images(), dt_lib_cancel_postponed_update(), and IS_NULL_PTR.
Referenced by _image_selection_changed_callback(), gui_init(), and set_params().
|
static |
Definition at line 469 of file libs/metadata.c.
References d, dt_lib_module_t::data, dt_conf_get_int(), dt_free, DT_METADATA_FLAG_HIDDEN, dt_metadata_get_name_by_display_order(), dt_metadata_get_type_by_display_order(), DT_METADATA_NUMBER, DT_METADATA_TYPE_INTERNAL, i, IS_NULL_PTR, name, type, and dt_lib_module_t::widget.
Referenced by _menuitem_preferences(), and gui_init().
|
static |
Definition at line 540 of file libs/metadata.c.
References _toggled_callback(), and DT_METADATA_PREF_COL_VISIBLE.
Referenced by _menuitem_preferences().
|
static |
Definition at line 319 of file libs/metadata.c.
References _metadata_set_list(), _refresh(), d, dt_lib_module_t::data, dt_control_signal_get_global(), DT_DEBUG_CONTROL_SIGNAL_RAISE, dt_free, dt_image_synch_xmps(), DT_METADATA_NUMBER, dt_metadata_set_list(), DT_METADATA_SIGNAL_NEW_VALUE, DT_SIGNAL_METADATA_CHANGED, FALSE, i, IS_NULL_PTR, and TRUE.
Referenced by _apply_button_clicked(), _commit_pending_edit(), _key_pressed(), _lost_focus(), and gui_reset().
|
static |
Definition at line 838 of file libs/metadata.c.
References dt_free, dt_lib_presets_add(), dt_metadata_get_nb_user_metadata(), name, params_size(), dt_lib_module_t::plugin_name, and TRUE.
Referenced by init_presets().
| uint32_t container | ( | dt_lib_module_t * | self | ) |
Definition at line 100 of file libs/metadata.c.
References DT_UI_CONTAINER_PANEL_LEFT_CENTER.
| void * get_params | ( | dt_lib_module_t * | self, |
| int * | size | ||
| ) |
Definition at line 920 of file libs/metadata.c.
References d, dt_lib_module_t::data, dt_free, dt_metadata_get_keyid_by_display_order(), dt_metadata_get_type_by_display_order(), DT_METADATA_NUMBER, DT_METADATA_TYPE_INTERNAL, i, size, and TRUE.
| void gui_cleanup | ( | dt_lib_module_t * | self | ) |
Definition at line 817 of file libs/metadata.c.
References _image_selection_changed_callback(), _lost_focus(), d, dt_lib_module_t::data, dt_control_signal_get_global(), DT_DEBUG_CONTROL_SIGNAL_DISCONNECT, dt_free, dt_free_gpointer(), dt_lib_cancel_postponed_update(), dt_metadata_get_type_by_display_order(), DT_METADATA_NUMBER, DT_METADATA_TYPE_INTERNAL, i, and IS_NULL_PTR.
| void gui_init | ( | dt_lib_module_t * | self | ) |
Definition at line 740 of file libs/metadata.c.
References _apply_button_clicked(), _got_focus(), _image_selection_changed_callback(), _key_pressed(), _lost_focus(), _metadata_reset(), _populate_popup_multi(), _textbuffer_changed(), _textview_focus(), _update(), _update_layout(), d, dt_lib_module_t::data, dt_accels_disconnect_on_text_input(), dt_action_button_new(), dt_control_signal_get_global(), DT_DEBUG_CONTROL_SIGNAL_CONNECT, DT_GUI_BOX_SPACING, dt_gui_textview_set_padding(), dt_metadata_get_name_by_display_order(), dt_metadata_get_type_by_display_order(), DT_METADATA_NUMBER, DT_METADATA_TYPE_INTERNAL, DT_SIGNAL_SELECTION_CHANGED, dt_ui_label_new(), FALSE, i, dt_lib_module_t::timeout_handle, TRUE, and dt_lib_module_t::widget.
| void gui_reset | ( | dt_lib_module_t * | self | ) |
Definition at line 505 of file libs/metadata.c.
References _set_text_buffer(), _text_set_italic(), _write_metadata(), d, dt_lib_module_t::data, dt_conf_get_int(), dt_free, DT_METADATA_FLAG_HIDDEN, dt_metadata_get_name_by_display_order(), dt_metadata_get_type_by_display_order(), DT_METADATA_NUMBER, DT_METADATA_TYPE_INTERNAL, FALSE, i, name, and type.
| void init_presets | ( | dt_lib_module_t * | self | ) |
Definition at line 850 of file libs/metadata.c.
References add_rights_preset().
| void * legacy_params | ( | dt_lib_module_t * | self, |
| const void *const | old_params, | ||
| const size_t | old_params_size, | ||
| const int | old_version, | ||
| int * | new_version, | ||
| size_t * | new_size | ||
| ) |
Definition at line 865 of file libs/metadata.c.
References dt_free, DT_METADATA_NUMBER, and i.
| const char * name | ( | struct dt_lib_module_t * | self | ) |
Definition at line 89 of file libs/metadata.c.
| int position | ( | ) |
Definition at line 464 of file libs/metadata.c.
| int set_params | ( | dt_lib_module_t * | self, |
| const void * | params, | ||
| int | size | ||
| ) |
Definition at line 961 of file libs/metadata.c.
References _append_kv(), _update(), d, dt_lib_module_t::data, dt_act_on_get_images(), dt_image_synch_xmps(), dt_metadata_get_key(), dt_metadata_get_type_by_display_order(), DT_METADATA_NUMBER, dt_metadata_set_list(), DT_METADATA_TYPE_INTERNAL, i, IS_NULL_PTR, size, and TRUE.
| void set_preferences | ( | void * | menu, |
| dt_lib_module_t * | self | ||
| ) |
Definition at line 689 of file libs/metadata.c.
References _menuitem_preferences().
| const char ** views | ( | dt_lib_module_t * | self | ) |
Definition at line 94 of file libs/metadata.c.
References v.