Mercurial > geeqie.yaz
annotate src/metadata.h @ 1528:6fdb447d87b7
improved Exiv2 error reporting:
- use correct charset
- respect --debug
author | nadvornik |
---|---|
date | Wed, 08 Apr 2009 19:32:30 +0000 |
parents | e70bbc97acc5 |
children | c776b1310ca6 |
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 | 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 | 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 | 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 | 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 | 30 GList *metadata_read_list(FileData *fd, const gchar *key, MetadataFormat format); |
31 gchar *metadata_read_string(FileData *fd, const gchar *key, MetadataFormat format); | |
32 guint64 metadata_read_int(FileData *fd, const gchar *key, guint64 fallback); | |
1509 | 33 gdouble metadata_read_GPS_coord(FileData *fd, const gchar *key, gdouble fallback); |
1178
f6449c17306b
Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff
changeset
|
34 |
1238
947e603a52c6
simplified metadata interface, dropped metadata_read,
nadvornik
parents:
1234
diff
changeset
|
35 gboolean metadata_append_string(FileData *fd, const gchar *key, const char *value); |
947e603a52c6
simplified metadata interface, dropped metadata_read,
nadvornik
parents:
1234
diff
changeset
|
36 gboolean metadata_append_list(FileData *fd, const gchar *key, const GList *values); |
947e603a52c6
simplified metadata interface, dropped metadata_read,
nadvornik
parents:
1234
diff
changeset
|
37 |
1178
f6449c17306b
Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff
changeset
|
38 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
|
39 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
|
40 |
1222 | 41 gboolean meta_data_get_keyword_mark(FileData *fd, gint n, gpointer data); |
42 gboolean meta_data_set_keyword_mark(FileData *fd, gint n, gboolean value, gpointer data); | |
43 | |
1391 | 44 |
45 enum { | |
46 KEYWORD_COLUMN_MARK, | |
47 KEYWORD_COLUMN_NAME, | |
48 KEYWORD_COLUMN_CASEFOLD, | |
49 KEYWORD_COLUMN_IS_KEYWORD, | |
1428 | 50 KEYWORD_COLUMN_HIDE_IN, |
1391 | 51 KEYWORD_COLUMN_COUNT |
52 }; | |
53 | |
54 extern GtkTreeStore *keyword_tree; | |
55 | |
1425 | 56 void meta_data_connect_mark_with_keyword(GtkTreeModel *keyword_tree, GtkTreeIter *kw_iter, gint mark); |
57 | |
58 | |
1391 | 59 gchar *keyword_get_name(GtkTreeModel *keyword_tree, GtkTreeIter *iter); |
60 gchar *keyword_get_casefold(GtkTreeModel *keyword_tree, GtkTreeIter *iter); | |
61 gboolean keyword_get_is_keyword(GtkTreeModel *keyword_tree, GtkTreeIter *iter); | |
1392 | 62 |
1396 | 63 gboolean keyword_compare(GtkTreeModel *keyword_tree, GtkTreeIter *a, GtkTreeIter *b); |
1429
985366bccfb8
do not allow to add keywords with the same name as siblings
nadvornik
parents:
1428
diff
changeset
|
64 gboolean keyword_same_parent(GtkTreeModel *keyword_tree, GtkTreeIter *a, GtkTreeIter *b); |
1465 | 65 gboolean keyword_exists(GtkTreeModel *keyword_tree, GtkTreeIter *parent_ptr, GtkTreeIter *sibling, const gchar *name, gboolean exclude_sibling, GtkTreeIter *result); |
1396 | 66 |
1392 | 67 void keyword_copy(GtkTreeStore *keyword_tree, GtkTreeIter *to, GtkTreeIter *from); |
68 void keyword_copy_recursive(GtkTreeStore *keyword_tree, GtkTreeIter *to, GtkTreeIter *from); | |
69 void keyword_move_recursive(GtkTreeStore *keyword_tree, GtkTreeIter *to, GtkTreeIter *from); | |
70 | |
71 GList *keyword_tree_get_path(GtkTreeModel *keyword_tree, GtkTreeIter *iter_ptr); | |
72 gboolean keyword_tree_get_iter(GtkTreeModel *keyword_tree, GtkTreeIter *iter_ptr, GList *path); | |
73 | |
1391 | 74 void keyword_set(GtkTreeStore *keyword_tree, GtkTreeIter *iter, const gchar *name, gboolean is_keyword); |
75 gboolean keyword_tree_is_set(GtkTreeModel *keyword_tree, GtkTreeIter *iter, GList *kw_list); | |
76 void keyword_tree_set(GtkTreeModel *keyword_tree, GtkTreeIter *iter_ptr, GList **kw_list); | |
77 void keyword_tree_reset(GtkTreeModel *keyword_tree, GtkTreeIter *iter_ptr, GList **kw_list); | |
78 | |
1414 | 79 void keyword_delete(GtkTreeStore *keyword_tree, GtkTreeIter *iter_ptr); |
80 | |
1428 | 81 |
82 void keyword_hide_in(GtkTreeStore *keyword_tree, GtkTreeIter *iter, gpointer id); | |
83 void keyword_show_in(GtkTreeStore *keyword_tree, GtkTreeIter *iter, gpointer id); | |
84 gboolean keyword_is_hidden_in(GtkTreeModel *keyword_tree, GtkTreeIter *iter, gpointer id); | |
85 void keyword_show_all_in(GtkTreeStore *keyword_tree, gpointer id); | |
86 void keyword_hide_unset_in(GtkTreeStore *keyword_tree, gpointer id, GList *keywords); | |
87 void keyword_show_set_in(GtkTreeStore *keyword_tree, gpointer id, GList *keywords); | |
88 | |
1391 | 89 void keyword_tree_new_default(void); |
1404 | 90 void keyword_tree_new(void); |
1391 | 91 |
1404 | 92 void keyword_tree_write_config(GString *outstr, gint indent); |
93 GtkTreeIter *keyword_add_from_config(GtkTreeStore *keyword_tree, GtkTreeIter *parent, const gchar **attribute_names, const gchar **attribute_values); | |
1391 | 94 |
1178
f6449c17306b
Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff
changeset
|
95 #endif |
f6449c17306b
Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff
changeset
|
96 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */ |