Mercurial > geeqie.yaz
comparison src/cache_maint.c @ 1145:3a7af6a8cd5f
Use functions to return directories instead of constants.
Following functions were added:
get_collections_dir()
get_metadata_cache_dir()
get_rc_dir()
get_thumbnails_cache_dir()
get_trash_dir()
They return the full directory path.
author | zas_ |
---|---|
date | Sat, 15 Nov 2008 17:30:45 +0000 |
parents | ba2a41f053e6 |
children | 95860439070b |
comparison
equal
deleted
inserted
replaced
1144:5fe3b8b3a612 | 1145:3a7af6a8cd5f |
---|---|
141 FileData *fd; | 141 FileData *fd; |
142 gboolean just_done = FALSE; | 142 gboolean just_done = FALSE; |
143 gboolean still_have_a_file = TRUE; | 143 gboolean still_have_a_file = TRUE; |
144 gsize base_length; | 144 gsize base_length; |
145 const gchar *cache_folder; | 145 const gchar *cache_folder; |
146 gchar *base; | |
147 | 146 |
148 if (cm->metadata) | 147 if (cm->metadata) |
149 { | 148 { |
150 cache_folder = GQ_CACHE_RC_METADATA; | 149 cache_folder = get_metadata_cache_dir(); |
151 } | 150 } |
152 else | 151 else |
153 { | 152 { |
154 cache_folder = GQ_CACHE_RC_THUMB; | 153 cache_folder = get_thumbnails_cache_dir(); |
155 } | 154 } |
156 | 155 |
157 base = g_build_filename(homedir(), cache_folder, NULL); | 156 base_length = strlen(cache_folder); |
158 base_length = strlen(base); | |
159 g_free(base); | |
160 | 157 |
161 if (!cm->list) | 158 if (!cm->list) |
162 { | 159 { |
163 DEBUG_1("purge chk done."); | 160 DEBUG_1("purge chk done."); |
164 cm->idle_id = -1; | 161 cm->idle_id = -1; |
274 /* sorry for complexity (cm->done_list), but need it to remove empty dirs */ | 271 /* sorry for complexity (cm->done_list), but need it to remove empty dirs */ |
275 void cache_maintain_home(gint metadata, gint clear, GtkWidget *parent) | 272 void cache_maintain_home(gint metadata, gint clear, GtkWidget *parent) |
276 { | 273 { |
277 CMData *cm; | 274 CMData *cm; |
278 GList *dlist; | 275 GList *dlist; |
279 gchar *base; | |
280 FileData *dir_fd; | 276 FileData *dir_fd; |
281 const gchar *msg; | 277 const gchar *msg; |
282 const gchar *cache_folder; | 278 const gchar *cache_folder; |
283 GtkWidget *hbox; | 279 GtkWidget *hbox; |
284 | 280 |
285 if (metadata) | 281 if (metadata) |
286 { | 282 { |
287 cache_folder = GQ_CACHE_RC_METADATA; | 283 cache_folder = get_metadata_cache_dir(); |
288 } | 284 } |
289 else | 285 else |
290 { | 286 { |
291 cache_folder = GQ_CACHE_RC_THUMB; | 287 cache_folder = get_thumbnails_cache_dir(); |
292 } | 288 } |
293 | 289 |
294 base = g_build_filename(homedir(), cache_folder, NULL); | 290 dir_fd = file_data_new_simple(cache_folder); |
295 dir_fd = file_data_new_simple(base); | |
296 if (!filelist_read(dir_fd, NULL, &dlist)) | 291 if (!filelist_read(dir_fd, NULL, &dlist)) |
297 { | 292 { |
298 g_free(base); | |
299 file_data_unref(dir_fd); | 293 file_data_unref(dir_fd); |
300 return; | 294 return; |
301 } | 295 } |
302 | 296 |
303 dlist = g_list_append(dlist, dir_fd); | 297 dlist = g_list_append(dlist, dir_fd); |
304 g_free(base); | |
305 | 298 |
306 cm = g_new0(CMData, 1); | 299 cm = g_new0(CMData, 1); |
307 cm->list = dlist; | 300 cm->list = dlist; |
308 cm->done_list = NULL; | 301 cm->done_list = NULL; |
309 cm->clear = clear; | 302 cm->clear = clear; |
1244 | 1237 |
1245 sizegroup = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); | 1238 sizegroup = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
1246 | 1239 |
1247 group = pref_group_new(gd->vbox, FALSE, _("Thumbnail cache"), GTK_ORIENTATION_VERTICAL); | 1240 group = pref_group_new(gd->vbox, FALSE, _("Thumbnail cache"), GTK_ORIENTATION_VERTICAL); |
1248 | 1241 |
1249 cache_manager_location_label(group, GQ_CACHE_RC_THUMB); | 1242 cache_manager_location_label(group, get_thumbnails_cache_dir()); |
1250 | 1243 |
1251 table = pref_table_new(group, 2, 2, FALSE, FALSE); | 1244 table = pref_table_new(group, 2, 2, FALSE, FALSE); |
1252 | 1245 |
1253 button = pref_table_button(table, 0, 0, GTK_STOCK_CLEAR, _("Clean up"), FALSE, | 1246 button = pref_table_button(table, 0, 0, GTK_STOCK_CLEAR, _("Clean up"), FALSE, |
1254 G_CALLBACK(cache_manager_main_clean_cb), cache_manager); | 1247 G_CALLBACK(cache_manager_main_clean_cb), cache_manager); |
1286 gtk_size_group_add_widget(sizegroup, button); | 1279 gtk_size_group_add_widget(sizegroup, button); |
1287 pref_table_label(table, 1, 1, _("Render thumbnails for a specific folder."), 0.0); | 1280 pref_table_label(table, 1, 1, _("Render thumbnails for a specific folder."), 0.0); |
1288 | 1281 |
1289 group = pref_group_new(gd->vbox, FALSE, _("Metadata"), GTK_ORIENTATION_VERTICAL); | 1282 group = pref_group_new(gd->vbox, FALSE, _("Metadata"), GTK_ORIENTATION_VERTICAL); |
1290 | 1283 |
1291 cache_manager_location_label(group, GQ_CACHE_RC_METADATA); | 1284 cache_manager_location_label(group, get_metadata_cache_dir()); |
1292 | 1285 |
1293 table = pref_table_new(group, 2, 1, FALSE, FALSE); | 1286 table = pref_table_new(group, 2, 1, FALSE, FALSE); |
1294 | 1287 |
1295 button = pref_table_button(table, 0, 0, GTK_STOCK_CLEAR, _("Clean up"), FALSE, | 1288 button = pref_table_button(table, 0, 0, GTK_STOCK_CLEAR, _("Clean up"), FALSE, |
1296 G_CALLBACK(cache_manager_metadata_clean_cb), cache_manager); | 1289 G_CALLBACK(cache_manager_metadata_clean_cb), cache_manager); |