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);