annotate src/metadata.h @ 1392:d1b32a69b40a

dnd in keywords tree improved dnd in advanced exif
author nadvornik
date Sun, 08 Mar 2009 09:56:40 +0000
parents 9e0df7903581
children 58f0b4586c8c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1178
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
1 /*
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
2 * Geeqie
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
3 * (C) 2004 John Ellis
1284
8b89e3ff286b Add year 2009 to copyright info everywhere.
zas_
parents: 1240
diff changeset
4 * Copyright (C) 2008 - 2009 The Geeqie Team
1178
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
5 *
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
6 * Author: John Ellis, Laurent Monin
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
7 *
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
8 * This software is released under the GNU General Public License (GNU GPL).
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
9 * Please read the included file COPYING for more information.
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
10 * This software comes with no warranty of any kind, use at your own risk!
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
11 */
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
12
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
13
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
14 #ifndef METADATA_H
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
15 #define METADATA_H
1224
ebfd305d902e improved sidecar writting
nadvornik
parents: 1222
diff changeset
16
1234
31f50c1b6a9a write keywords and comments with separate functions
nadvornik
parents: 1231
diff changeset
17 #define COMMENT_KEY "Xmp.dc.description"
31f50c1b6a9a write keywords and comments with separate functions
nadvornik
parents: 1231
diff changeset
18 #define KEYWORD_KEY "Xmp.dc.subject"
31f50c1b6a9a write keywords and comments with separate functions
nadvornik
parents: 1231
diff changeset
19
1205
3ff2aa99108b use the workflow in utilops.c for metadata approving and writting
nadvornik
parents: 1194
diff changeset
20 gboolean metadata_write_queue_remove(FileData *fd);
1211
e2bbe90b0dcd most of the metadata options now works
nadvornik
parents: 1205
diff changeset
21 gboolean metadata_write_queue_remove_list(GList *list);
1205
3ff2aa99108b use the workflow in utilops.c for metadata approving and writting
nadvornik
parents: 1194
diff changeset
22 gboolean metadata_write_perform(FileData *fd);
1231
ca8ccf0c3e81 added done callback to utilops
nadvornik
parents: 1224
diff changeset
23 gboolean metadata_write_queue_confirm(FileUtilDoneFunc done_func, gpointer done_data);
1214
31402ecb2aed write metadata after timeout, image change or dir change
nadvornik
parents: 1211
diff changeset
24
1240
30e207ac22e4 added a status bar button for writting metadata immediately
nadvornik
parents: 1238
diff changeset
25 gint metadata_queue_length(void);
1178
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
26
1234
31f50c1b6a9a write keywords and comments with separate functions
nadvornik
parents: 1231
diff changeset
27 gboolean metadata_write_list(FileData *fd, const gchar *key, const GList *values);
31f50c1b6a9a write keywords and comments with separate functions
nadvornik
parents: 1231
diff changeset
28 gboolean metadata_write_string(FileData *fd, const gchar *key, const char *value);
1178
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
29
1288
10073464e6aa use metadata_read_* functions where possible
nadvornik
parents: 1284
diff changeset
30 GList *metadata_read_list(FileData *fd, const gchar *key, MetadataFormat format);
10073464e6aa use metadata_read_* functions where possible
nadvornik
parents: 1284
diff changeset
31 gchar *metadata_read_string(FileData *fd, const gchar *key, MetadataFormat format);
10073464e6aa use metadata_read_* functions where possible
nadvornik
parents: 1284
diff changeset
32 guint64 metadata_read_int(FileData *fd, const gchar *key, guint64 fallback);
1178
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
33
1238
947e603a52c6 simplified metadata interface, dropped metadata_read,
nadvornik
parents: 1234
diff changeset
34 gboolean metadata_append_string(FileData *fd, const gchar *key, const char *value);
947e603a52c6 simplified metadata interface, dropped metadata_read,
nadvornik
parents: 1234
diff changeset
35 gboolean metadata_append_list(FileData *fd, const gchar *key, const GList *values);
947e603a52c6 simplified metadata interface, dropped metadata_read,
nadvornik
parents: 1234
diff changeset
36
1178
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
37 GList *string_to_keywords_list(const gchar *text);
1340
361120a66609 Use g_utf8_casefold() to compare keywords, uppercased/lowercased keywords are now matched against predefined list.
zas_
parents: 1288
diff changeset
38 gchar *find_string_in_list_utf8nocase(GList *list, const gchar *string);
1178
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
39
1222
31dc2f240afb low-level keyword-to-mark functionality
nadvornik
parents: 1220
diff changeset
40 gboolean meta_data_get_keyword_mark(FileData *fd, gint n, gpointer data);
31dc2f240afb low-level keyword-to-mark functionality
nadvornik
parents: 1220
diff changeset
41 gboolean meta_data_set_keyword_mark(FileData *fd, gint n, gboolean value, gpointer data);
31dc2f240afb low-level keyword-to-mark functionality
nadvornik
parents: 1220
diff changeset
42
1391
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
43
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
44 enum {
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
45 KEYWORD_COLUMN_MARK,
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
46 KEYWORD_COLUMN_NAME,
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
47 KEYWORD_COLUMN_CASEFOLD,
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
48 KEYWORD_COLUMN_IS_KEYWORD,
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
49 KEYWORD_COLUMN_COUNT
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
50 };
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
51
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
52 extern GtkTreeStore *keyword_tree;
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
53
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
54 gchar *keyword_get_name(GtkTreeModel *keyword_tree, GtkTreeIter *iter);
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
55 gchar *keyword_get_casefold(GtkTreeModel *keyword_tree, GtkTreeIter *iter);
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
56 gboolean keyword_get_is_keyword(GtkTreeModel *keyword_tree, GtkTreeIter *iter);
1392
d1b32a69b40a dnd in keywords tree
nadvornik
parents: 1391
diff changeset
57
d1b32a69b40a dnd in keywords tree
nadvornik
parents: 1391
diff changeset
58 void keyword_copy(GtkTreeStore *keyword_tree, GtkTreeIter *to, GtkTreeIter *from);
d1b32a69b40a dnd in keywords tree
nadvornik
parents: 1391
diff changeset
59 void keyword_copy_recursive(GtkTreeStore *keyword_tree, GtkTreeIter *to, GtkTreeIter *from);
d1b32a69b40a dnd in keywords tree
nadvornik
parents: 1391
diff changeset
60 void keyword_move_recursive(GtkTreeStore *keyword_tree, GtkTreeIter *to, GtkTreeIter *from);
d1b32a69b40a dnd in keywords tree
nadvornik
parents: 1391
diff changeset
61
d1b32a69b40a dnd in keywords tree
nadvornik
parents: 1391
diff changeset
62 GList *keyword_tree_get_path(GtkTreeModel *keyword_tree, GtkTreeIter *iter_ptr);
d1b32a69b40a dnd in keywords tree
nadvornik
parents: 1391
diff changeset
63 gboolean keyword_tree_get_iter(GtkTreeModel *keyword_tree, GtkTreeIter *iter_ptr, GList *path);
d1b32a69b40a dnd in keywords tree
nadvornik
parents: 1391
diff changeset
64
1391
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
65 void keyword_set(GtkTreeStore *keyword_tree, GtkTreeIter *iter, const gchar *name, gboolean is_keyword);
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
66 gboolean keyword_tree_is_set(GtkTreeModel *keyword_tree, GtkTreeIter *iter, GList *kw_list);
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
67 void keyword_tree_set(GtkTreeModel *keyword_tree, GtkTreeIter *iter_ptr, GList **kw_list);
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
68 void keyword_tree_reset(GtkTreeModel *keyword_tree, GtkTreeIter *iter_ptr, GList **kw_list);
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
69
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
70 void keyword_tree_new_default(void);
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
71
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
72
1178
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
73 #endif
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
74 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */