static CajaRequestStatus search_directory_file_get_deep_counts (CajaFile *file, guint *directory_count, guint *file_count, guint *unreadable_directory_count, goffset *total_size, goffset *total_size_on_disk) { GList *file_list, *l; guint dirs, files; GFileType type; CajaFile *dir_file = NULL; file_list = caja_directory_get_file_list (file->details->directory); dirs = files = 0; for (l = file_list; l != NULL; l = l->next) { dir_file = CAJA_FILE (l->data); type = caja_file_get_file_type (dir_file); if (type == G_FILE_TYPE_DIRECTORY) { dirs++; } else { files++; } } if (directory_count != NULL) { *directory_count = dirs; } if (file_count != NULL) { *file_count = files; } if (unreadable_directory_count != NULL) { *unreadable_directory_count = 0; } if (total_size != NULL) { /* FIXME: Maybe we want to calculate this? */ *total_size = 0; } if (total_size_on_disk != NULL) { /* FIXME: Maybe we want to calculate this? */ *total_size_on_disk = 0; } caja_file_list_free (file_list); return CAJA_REQUEST_DONE; }
static GList * desktop_get_file_list (CajaDirectory *directory) { GList *real_dir_file_list, *desktop_dir_file_list = NULL; real_dir_file_list = caja_directory_get_file_list (CAJA_DESKTOP_DIRECTORY (directory)->details->real_directory); desktop_dir_file_list = EEL_CALL_PARENT_WITH_RETURN_VALUE (CAJA_DIRECTORY_CLASS, get_file_list, (directory)); return g_list_concat (real_dir_file_list, desktop_dir_file_list); }
static gboolean search_directory_file_get_item_count (CajaFile *file, guint *count, gboolean *count_unreadable) { if (count) { GList *file_list; file_list = caja_directory_get_file_list (file->details->directory); *count = g_list_length (file_list); caja_file_list_free (file_list); } return TRUE; }