annotate src/collect.h @ 276:4f526d436873

Implement secure rc file saving. First data is written to a temporary file, then if nothing was wrong, this file is renamed to the final name. This way the risk of corrupted rc file is greatly reduced. The code is borrowed from ELinks (http://elinks.cz).
author zas_
date Tue, 08 Apr 2008 21:55:58 +0000
parents f6e307c7bad6
children ddabc4873a3f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1 /*
196
f6e307c7bad6 rename GQview -> Geeqie over the code
nadvornik
parents: 138
diff changeset
2 * Geeqie
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
3 * (C) 2004 John Ellis
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
4 *
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
5 * Author: John Ellis
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
6 *
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
7 * This software is released under the GNU General Public License (GNU GPL).
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
8 * Please read the included file COPYING for more information.
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
9 * This software comes with no warranty of any kind, use at your own risk!
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
10 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
11
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
12
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
13 #ifndef COLLECT_H
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
14 #define COLLECT_H
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
15
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
16
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 9
diff changeset
17 CollectInfo *collection_info_new(FileData *fd, struct stat *st, GdkPixbuf *pixbuf);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
18
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
19 void collection_info_free_thumb(CollectInfo *ci);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
20 void collection_info_free(CollectInfo *ci);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
21
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
22 void collection_info_set_thumb(CollectInfo *ci, GdkPixbuf *pixbuf);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
23 gint collection_info_load_thumb(CollectInfo *ci);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
24
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
25 void collection_list_free(GList *list);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
26
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
27 GList *collection_list_sort(GList *list, SortType method);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
28 GList *collection_list_add(GList *list, CollectInfo *ci, SortType method);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
29 GList *collection_list_insert(GList *list, CollectInfo *ci, CollectInfo *insert_ci, SortType method);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
30 GList *collection_list_remove(GList *list, CollectInfo *ci);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
31 CollectInfo *collection_list_find(GList *list, const gchar *path);
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 9
diff changeset
32 GList *collection_list_to_filelist(GList *list);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
33
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
34 CollectionData *collection_new(const gchar *path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
35 void collection_free(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
36
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
37 void collection_ref(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
38 void collection_unref(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
39
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
40 void collection_path_changed(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
41
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
42 gint collection_to_number(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
43 CollectionData *collection_from_number(gint n);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
44
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
45 /* pass a NULL pointer to whatever you don't need
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
46 * use free_selected_list to free list, and
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
47 * g_list_free to free info_list, which is a list of
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
48 * CollectInfo pointers into CollectionData
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
49 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
50 CollectionData *collection_from_dnd_data(const gchar *data, GList **list, GList **info_list);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
51 gchar *collection_info_list_to_dnd_data(CollectionData *cd, GList *list, gint *length);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
52
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
53 gint collection_info_valid(CollectionData *cd, CollectInfo *info);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
54
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
55 CollectInfo *collection_next_by_info(CollectionData *cd, CollectInfo *info);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
56 CollectInfo *collection_prev_by_info(CollectionData *cd, CollectInfo *info);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
57 CollectInfo *collection_get_first(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
58 CollectInfo *collection_get_last(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
59
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
60 void collection_set_sort_method(CollectionData *cd, SortType method);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
61 void collection_set_update_info_func(CollectionData *cd,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
62 void (*func)(CollectionData *, CollectInfo *, gpointer), gpointer data);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
63
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 9
diff changeset
64 gint collection_add(CollectionData *cd, FileData *fd, gint sorted);
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 9
diff changeset
65 gint collection_add_check(CollectionData *cd, FileData *fd, gint sorted, gint must_exist);
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 9
diff changeset
66 gint collection_insert(CollectionData *cd, FileData *fd, CollectInfo *insert_ci, gint sorted);
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 9
diff changeset
67 gint collection_remove(CollectionData *cd, FileData *fd);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
68 void collection_remove_by_info_list(CollectionData *cd, GList *list);
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 9
diff changeset
69 gint collection_rename(CollectionData *cd, FileData *fd);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
70
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
71 void collection_update_geometry(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
72
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 9
diff changeset
73 void collection_maint_removed(FileData *fd);
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 9
diff changeset
74 void collection_maint_renamed(FileData *fd);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
75
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
76 CollectWindow *collection_window_new(const gchar *path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
77 void collection_window_close_by_collection(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
78 CollectWindow *collection_window_find(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
79 CollectWindow *collection_window_find_by_path(const gchar *path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
80 gint collection_window_modified_exists(void);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
81
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
82
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
83 #endif
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
84