annotate src/metadata.h @ 1715:f1e316c4cc4d

Fix a small problem with casefull keywords In @1636 I miss one check for keyword case. Now it should be all fixed.
author mow
date Sat, 01 Aug 2009 22:37:57 +0000
parents 249b539cc952
children 808d4308ca00
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"
1567
c776b1310ca6 added an option to write image orientation to the metadata
nadvornik
parents: 1509
diff changeset
19 #define ORIENTATION_KEY "Xmp.tiff.Orientation"
1234
31f50c1b6a9a write keywords and comments with separate functions
nadvornik
parents: 1231
diff changeset
20
1205
3ff2aa99108b use the workflow in utilops.c for metadata approving and writting
nadvornik
parents: 1194
diff changeset
21 gboolean metadata_write_queue_remove(FileData *fd);
1211
e2bbe90b0dcd most of the metadata options now works
nadvornik
parents: 1205
diff changeset
22 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
23 gboolean metadata_write_perform(FileData *fd);
1586
249b539cc952 force the metadata dialog if it was triggered by the menu or the button
nadvornik
parents: 1567
diff changeset
24 gboolean metadata_write_queue_confirm(gboolean force_dialog, FileUtilDoneFunc done_func, gpointer done_data);
1214
31402ecb2aed write metadata after timeout, image change or dir change
nadvornik
parents: 1211
diff changeset
25
1240
30e207ac22e4 added a status bar button for writting metadata immediately
nadvornik
parents: 1238
diff changeset
26 gint metadata_queue_length(void);
1178
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
27
1567
c776b1310ca6 added an option to write image orientation to the metadata
nadvornik
parents: 1509
diff changeset
28 gboolean metadata_write_revert(FileData *fd, const gchar *key);
1234
31f50c1b6a9a write keywords and comments with separate functions
nadvornik
parents: 1231
diff changeset
29 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
30 gboolean metadata_write_string(FileData *fd, const gchar *key, const char *value);
1567
c776b1310ca6 added an option to write image orientation to the metadata
nadvornik
parents: 1509
diff changeset
31 gboolean metadata_write_int(FileData *fd, const gchar *key, guint64 value);
1178
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
32
1288
10073464e6aa use metadata_read_* functions where possible
nadvornik
parents: 1284
diff changeset
33 GList *metadata_read_list(FileData *fd, const gchar *key, MetadataFormat format);
10073464e6aa use metadata_read_* functions where possible
nadvornik
parents: 1284
diff changeset
34 gchar *metadata_read_string(FileData *fd, const gchar *key, MetadataFormat format);
10073464e6aa use metadata_read_* functions where possible
nadvornik
parents: 1284
diff changeset
35 guint64 metadata_read_int(FileData *fd, const gchar *key, guint64 fallback);
1509
e70bbc97acc5 added metadata_read_GPS_coord
nadvornik
parents: 1465
diff changeset
36 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
37
1238
947e603a52c6 simplified metadata interface, dropped metadata_read,
nadvornik
parents: 1234
diff changeset
38 gboolean metadata_append_string(FileData *fd, const gchar *key, const char *value);
947e603a52c6 simplified metadata interface, dropped metadata_read,
nadvornik
parents: 1234
diff changeset
39 gboolean metadata_append_list(FileData *fd, const gchar *key, const GList *values);
947e603a52c6 simplified metadata interface, dropped metadata_read,
nadvornik
parents: 1234
diff changeset
40
1178
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
41 GList *string_to_keywords_list(const gchar *text);
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
42
1222
31dc2f240afb low-level keyword-to-mark functionality
nadvornik
parents: 1220
diff changeset
43 gboolean meta_data_get_keyword_mark(FileData *fd, gint n, gpointer data);
31dc2f240afb low-level keyword-to-mark functionality
nadvornik
parents: 1220
diff changeset
44 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
45
1391
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
46
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
47 enum {
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
48 KEYWORD_COLUMN_MARK,
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
49 KEYWORD_COLUMN_NAME,
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
50 KEYWORD_COLUMN_CASEFOLD,
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
51 KEYWORD_COLUMN_IS_KEYWORD,
1428
3019f5d3a3c7 added keyword tree filtering
nadvornik
parents: 1425
diff changeset
52 KEYWORD_COLUMN_HIDE_IN,
1391
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
53 KEYWORD_COLUMN_COUNT
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
54 };
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
55
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
56 extern GtkTreeStore *keyword_tree;
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
57
1425
80462be81410 fixed keyword to mark connection
nadvornik
parents: 1414
diff changeset
58 void meta_data_connect_mark_with_keyword(GtkTreeModel *keyword_tree, GtkTreeIter *kw_iter, gint mark);
80462be81410 fixed keyword to mark connection
nadvornik
parents: 1414
diff changeset
59
80462be81410 fixed keyword to mark connection
nadvornik
parents: 1414
diff changeset
60
1391
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
61 gchar *keyword_get_name(GtkTreeModel *keyword_tree, GtkTreeIter *iter);
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
62 gchar *keyword_get_casefold(GtkTreeModel *keyword_tree, GtkTreeIter *iter);
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
63 gboolean keyword_get_is_keyword(GtkTreeModel *keyword_tree, GtkTreeIter *iter);
1392
d1b32a69b40a dnd in keywords tree
nadvornik
parents: 1391
diff changeset
64
1396
58f0b4586c8c dnd fixes
nadvornik
parents: 1392
diff changeset
65 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
66 gboolean keyword_same_parent(GtkTreeModel *keyword_tree, GtkTreeIter *a, GtkTreeIter *b);
1465
400ecfc3d8b1 do not add duplicate keywords from config file
nadvornik
parents: 1429
diff changeset
67 gboolean keyword_exists(GtkTreeModel *keyword_tree, GtkTreeIter *parent_ptr, GtkTreeIter *sibling, const gchar *name, gboolean exclude_sibling, GtkTreeIter *result);
1396
58f0b4586c8c dnd fixes
nadvornik
parents: 1392
diff changeset
68
1392
d1b32a69b40a dnd in keywords tree
nadvornik
parents: 1391
diff changeset
69 void keyword_copy(GtkTreeStore *keyword_tree, GtkTreeIter *to, GtkTreeIter *from);
d1b32a69b40a dnd in keywords tree
nadvornik
parents: 1391
diff changeset
70 void keyword_copy_recursive(GtkTreeStore *keyword_tree, GtkTreeIter *to, GtkTreeIter *from);
d1b32a69b40a dnd in keywords tree
nadvornik
parents: 1391
diff changeset
71 void keyword_move_recursive(GtkTreeStore *keyword_tree, GtkTreeIter *to, GtkTreeIter *from);
d1b32a69b40a dnd in keywords tree
nadvornik
parents: 1391
diff changeset
72
d1b32a69b40a dnd in keywords tree
nadvornik
parents: 1391
diff changeset
73 GList *keyword_tree_get_path(GtkTreeModel *keyword_tree, GtkTreeIter *iter_ptr);
d1b32a69b40a dnd in keywords tree
nadvornik
parents: 1391
diff changeset
74 gboolean keyword_tree_get_iter(GtkTreeModel *keyword_tree, GtkTreeIter *iter_ptr, GList *path);
d1b32a69b40a dnd in keywords tree
nadvornik
parents: 1391
diff changeset
75
1391
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
76 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
77 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
78 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
79 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
80
1414
6ce1f7171d48 added a popup menu in keyword tree
nadvornik
parents: 1404
diff changeset
81 void keyword_delete(GtkTreeStore *keyword_tree, GtkTreeIter *iter_ptr);
6ce1f7171d48 added a popup menu in keyword tree
nadvornik
parents: 1404
diff changeset
82
1428
3019f5d3a3c7 added keyword tree filtering
nadvornik
parents: 1425
diff changeset
83
3019f5d3a3c7 added keyword tree filtering
nadvornik
parents: 1425
diff changeset
84 void keyword_hide_in(GtkTreeStore *keyword_tree, GtkTreeIter *iter, gpointer id);
3019f5d3a3c7 added keyword tree filtering
nadvornik
parents: 1425
diff changeset
85 void keyword_show_in(GtkTreeStore *keyword_tree, GtkTreeIter *iter, gpointer id);
3019f5d3a3c7 added keyword tree filtering
nadvornik
parents: 1425
diff changeset
86 gboolean keyword_is_hidden_in(GtkTreeModel *keyword_tree, GtkTreeIter *iter, gpointer id);
3019f5d3a3c7 added keyword tree filtering
nadvornik
parents: 1425
diff changeset
87 void keyword_show_all_in(GtkTreeStore *keyword_tree, gpointer id);
3019f5d3a3c7 added keyword tree filtering
nadvornik
parents: 1425
diff changeset
88 void keyword_hide_unset_in(GtkTreeStore *keyword_tree, gpointer id, GList *keywords);
3019f5d3a3c7 added keyword tree filtering
nadvornik
parents: 1425
diff changeset
89 void keyword_show_set_in(GtkTreeStore *keyword_tree, gpointer id, GList *keywords);
3019f5d3a3c7 added keyword tree filtering
nadvornik
parents: 1425
diff changeset
90
1391
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
91 void keyword_tree_new_default(void);
1404
de06d83e1adc save and restore the keyword tree
nadvornik
parents: 1396
diff changeset
92 void keyword_tree_new(void);
1391
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
93
1404
de06d83e1adc save and restore the keyword tree
nadvornik
parents: 1396
diff changeset
94 void keyword_tree_write_config(GString *outstr, gint indent);
de06d83e1adc save and restore the keyword tree
nadvornik
parents: 1396
diff changeset
95 GtkTreeIter *keyword_add_from_config(GtkTreeStore *keyword_tree, GtkTreeIter *parent, const gchar **attribute_names, const gchar **attribute_values);
1391
9e0df7903581 implemented keywords editor as described at
nadvornik
parents: 1340
diff changeset
96
1178
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
97 #endif
f6449c17306b Move comments/keywords read and write stuff to new metadata.{c,h}.
zas_
parents:
diff changeset
98 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */