view src/filelist.h @ 11:3c3b40dbde11

######## DO NOT BASE ENHANCEMENTS OR TRANSLATION UPDATES ON CODE IN THIS CVS! This CVS is never up to date with current development and is provided solely for reference purposes, please use the latest official release package when making any changes or translation updates. ######## Sync to updated autogen.sh so building is actually possible.
author gqview
date Tue, 01 Mar 2005 14:50:03 +0000
parents d907d608745f
children 71e1ebee420e
line wrap: on
line source

/*
 * GQview
 * (C) 2004 John Ellis
 *
 * Author: John Ellis
 *
 * This software is released under the GNU General Public License (GNU GPL).
 * Please read the included file COPYING for more information.
 * This software comes with no warranty of any kind, use at your own risk!
 */


#ifndef FILELIST_H
#define FILELIST_H


typedef struct _FilterEntry FilterEntry;
struct _FilterEntry {
	gchar *key;
	gchar *description;
	gchar *extensions;
	gint enabled;
};

/* you can change, but not add or remove entries from the returned list */
GList *filter_get_list(void);
void filter_remove_entry(FilterEntry *fe);

void filter_add(const gchar *key, const gchar *description, const gchar *extensions, gint enabled);
void filter_add_unique(const gchar *description, const gchar *extensions, gint enabled);
void filter_add_defaults(void);
void filter_reset(void);
void filter_rebuild(void);

gint filter_name_exists(const gchar *name);

void filter_write_list(FILE *f);
void filter_parse(const gchar *text);

gint ishidden(const gchar *name);


GList *path_list_filter(GList *list, gint is_dir_list);

GList *path_list_sort(GList *list);
GList *path_list_recursive(const gchar *path);

gchar *text_from_size(gint64 size);
gchar *text_from_size_abrev(gint64 size);
const gchar *text_from_time(time_t t);

/* this expects a locale encoded path */
FileData *file_data_new(const gchar *path, struct stat *st);
/* this expects a utf-8 path */
FileData *file_data_new_simple(const gchar *path);
void file_data_free(FileData *fd);

GList *filelist_sort(GList *list, SortType method, gint ascend);
GList *filelist_insert_sort(GList *list, FileData *fd, SortType method, gint ascend);

gint filelist_read(const gchar *path, GList **files, GList **dirs);
void filelist_free(GList *list);

#endif