annotate src/ui_fileops.h @ 1400:67573155210c

Add helper macros EDITOR_ERRORS() and EDITOR_ERRORS_BUT_SKIPPED() to clean up the code a bit. Minor tidy up.
author zas_
date Sun, 08 Mar 2009 15:30:15 +0000
parents 4da6d326919c
children 89dedc61b1bd
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 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2 * (SLIK) SimpLIstic sKin functions
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
3 * (C) 2004 John Ellis
1284
8b89e3ff286b Add year 2009 to copyright info everywhere.
zas_
parents: 1238
diff changeset
4 * Copyright (C) 2008 - 2009 The Geeqie Team
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
5 *
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
6 * Author: John Ellis
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
7 *
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
8 * This software is released under the GNU General Public License (GNU GPL).
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
9 * Please read the included file COPYING for more information.
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
10 * 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
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
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
14 #ifndef UI_FILEOPS_H
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
15 #define UI_FILEOPS_H
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
16
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
17
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
18 #include <sys/stat.h>
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
19 #include <sys/time.h>
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
20 #include <sys/types.h>
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
21 #include <time.h>
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
22
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
23
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 print_term(const gchar *text_utf8);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
26
403
2649a28d31b6 Introduce printf_term() macro and use it.
zas_
parents: 319
diff changeset
27 #define printf_term(...) \
2649a28d31b6 Introduce printf_term() macro and use it.
zas_
parents: 319
diff changeset
28 do { \
2649a28d31b6 Introduce printf_term() macro and use it.
zas_
parents: 319
diff changeset
29 gchar *msg = g_strdup_printf(__VA_ARGS__); \
2649a28d31b6 Introduce printf_term() macro and use it.
zas_
parents: 319
diff changeset
30 print_term(msg); \
2649a28d31b6 Introduce printf_term() macro and use it.
zas_
parents: 319
diff changeset
31 g_free(msg); \
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 403
diff changeset
32 } while (0)
403
2649a28d31b6 Introduce printf_term() macro and use it.
zas_
parents: 319
diff changeset
33
1386
4da6d326919c Add debug versions of path_to_utf8() and path_from_utf8() which allows to report the caller file and line, this is enabled with --enable-debug-flags (and developer mode too).
zas_
parents: 1360
diff changeset
34 #if GQ_DEBUG_PATH_UTF8
4da6d326919c Add debug versions of path_to_utf8() and path_from_utf8() which allows to report the caller file and line, this is enabled with --enable-debug-flags (and developer mode too).
zas_
parents: 1360
diff changeset
35 #define path_to_utf8(path) path_to_utf8_debug(path, __FILE__, __LINE__)
4da6d326919c Add debug versions of path_to_utf8() and path_from_utf8() which allows to report the caller file and line, this is enabled with --enable-debug-flags (and developer mode too).
zas_
parents: 1360
diff changeset
36 #define path_from_utf8(utf8) path_from_utf8_debug(utf8, __FILE__, __LINE__)
4da6d326919c Add debug versions of path_to_utf8() and path_from_utf8() which allows to report the caller file and line, this is enabled with --enable-debug-flags (and developer mode too).
zas_
parents: 1360
diff changeset
37 gchar *path_to_utf8_debug(const gchar *path, const gchar *file, gint line);
4da6d326919c Add debug versions of path_to_utf8() and path_from_utf8() which allows to report the caller file and line, this is enabled with --enable-debug-flags (and developer mode too).
zas_
parents: 1360
diff changeset
38 gchar *path_from_utf8_debug(const gchar *utf8, const gchar *file, gint line);
4da6d326919c Add debug versions of path_to_utf8() and path_from_utf8() which allows to report the caller file and line, this is enabled with --enable-debug-flags (and developer mode too).
zas_
parents: 1360
diff changeset
39 #else
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
40 gchar *path_to_utf8(const gchar *path);
1386
4da6d326919c Add debug versions of path_to_utf8() and path_from_utf8() which allows to report the caller file and line, this is enabled with --enable-debug-flags (and developer mode too).
zas_
parents: 1360
diff changeset
41 gchar *path_from_utf8(const gchar *utf8);
4da6d326919c Add debug versions of path_to_utf8() and path_from_utf8() which allows to report the caller file and line, this is enabled with --enable-debug-flags (and developer mode too).
zas_
parents: 1360
diff changeset
42 #endif
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
43
1149
c4fcf8001574 Implement preliminary support for XDG Base Directory Specification.
zas_
parents: 1148
diff changeset
44 const gchar *xdg_data_home_get(void);
c4fcf8001574 Implement preliminary support for XDG Base Directory Specification.
zas_
parents: 1148
diff changeset
45 const gchar *xdg_config_home_get(void);
c4fcf8001574 Implement preliminary support for XDG Base Directory Specification.
zas_
parents: 1148
diff changeset
46 const gchar *xdg_cache_home_get(void);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
47 const gchar *homedir(void);
1145
3a7af6a8cd5f Use functions to return directories instead of constants.
zas_
parents: 1055
diff changeset
48 const gchar *get_rc_dir(void);
3a7af6a8cd5f Use functions to return directories instead of constants.
zas_
parents: 1055
diff changeset
49 const gchar *get_collections_dir(void);
3a7af6a8cd5f Use functions to return directories instead of constants.
zas_
parents: 1055
diff changeset
50 const gchar *get_trash_dir(void);
3a7af6a8cd5f Use functions to return directories instead of constants.
zas_
parents: 1055
diff changeset
51
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
52 gint stat_utf8(const gchar *s, struct stat *st);
40
dcc04a6a58bf Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents: 9
diff changeset
53 gint lstat_utf8(const gchar *s, struct stat *st);
1229
878718372aca sidecar files grouping was made case-insensitive
nadvornik
parents: 1164
diff changeset
54 gint stat_utf8_case_insensitive_ext(GString *base, const gchar *ext, struct stat *st);
878718372aca sidecar files grouping was made case-insensitive
nadvornik
parents: 1164
diff changeset
55
878718372aca sidecar files grouping was made case-insensitive
nadvornik
parents: 1164
diff changeset
56
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
57 gint isname(const gchar *s);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
58 gint isfile(const gchar *s);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
59 gint isdir(const gchar *s);
40
dcc04a6a58bf Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents: 9
diff changeset
60 gint islink(const gchar *s);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
61 gint64 filesize(const gchar *s);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
62 time_t filetime(const gchar *s);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
63 gint filetime_set(const gchar *s, time_t tval);
1360
721ffb823d6e Introduce is_readable_file() which test if file exists, is regular and readable.
zas_
parents: 1284
diff changeset
64 gboolean is_readable_file(const gchar *s);
1000
4fe8f9656107 For the sake of consistency, use glib basic types everywhere.
zas_
parents: 702
diff changeset
65 gint access_file(const gchar *s, gint mode);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
66 gint unlink_file(const gchar *s);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
67 gint symlink_utf8(const gchar *source, const gchar *target);
1000
4fe8f9656107 For the sake of consistency, use glib basic types everywhere.
zas_
parents: 702
diff changeset
68 gint mkdir_utf8(const gchar *s, gint mode);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
69 gint rmdir_utf8(const gchar *s);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
70 gint copy_file_attributes(const gchar *s, const gchar *t, gint perms, gint mtime);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
71 gint copy_file(const gchar *s, const gchar *t);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
72 gint move_file(const gchar *s, const gchar *t);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
73 gint rename_file(const gchar *s, const gchar *t);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
74 gchar *get_current_dir(void);
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 /* return True on success, it is up to you to free
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 112
diff changeset
77 * the lists with string_list_free()
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
78 */
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 112
diff changeset
79 void string_list_free(GList *list);
1238
947e603a52c6 simplified metadata interface, dropped metadata_read,
nadvornik
parents: 1229
diff changeset
80 GList *string_list_copy(const GList *list);
9
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 gchar *unique_filename(const gchar *path, const gchar *ext, const gchar *divider, gint pad);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
83 gchar *unique_filename_simple(const gchar *path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
84
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
85 const gchar *filename_from_path(const gchar *path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
86 gchar *remove_level_from_path(const gchar *path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
87
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
88 const gchar *extension_from_path(const gchar *path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
89 gchar *remove_extension_from_path(const gchar *path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
90
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
91 gint file_extension_match(const gchar *path, const gchar *ext);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
92
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
93 /* warning note: this modifies path string! */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
94 void parse_out_relatives(gchar *path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
95
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
96 gint file_in_path(const gchar *name);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
97
1164
3692efcbd325 Fix compilation warnings.
zas_
parents: 1149
diff changeset
98 gboolean recursive_mkdir_if_not_exists(const gchar *path, mode_t mode);
1148
95860439070b Replace cache_ensure_dir_exists() by new recursive_mkdir_if_not_exists().
zas_
parents: 1145
diff changeset
99
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
100 #endif
1055
1646720364cf Adding a vim modeline to all files - patch by Klaus Ethgen
nadvornik
parents: 1000
diff changeset
101 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */