view src/collect-io.h @ 35:e46aedb70f67

Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net> * pan-view.c: Optimize pan_layout_intersect by dividing object list into smaller sets (of ~ 1000 each) grouped by coordinates, this makes drawing tiles much faster when the window contains > 100,000 images. This adds the complexity of walking two lists when searching for a specific item, but the speed increase is worth it. ##### Note: GQview CVS on sourceforge is not always up to date, please use ##### ##### an offical release when making enhancements and translation updates. #####
author gqview
date Fri, 08 Apr 2005 19:43:25 +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 COLLECT_IO_H
#define COLLECT_IO_H


gint collection_load(CollectionData *cd, const gchar *path, gint append);

gint collection_load_begin(CollectionData *cd, const gchar *path, gint append);
void collection_load_stop(CollectionData *cd);

void collection_load_thumb_idle(CollectionData *cd);

gint collection_save(CollectionData *cd, const gchar *path);

gint collection_load_only_geometry(CollectionData *cd, const gchar *path);


/* these are used to update collections contained in user's collection
 * folder when moving or renaming files.
 * also handles:
 *   deletes file when newpath == NULL
 *   adds file when oldpath == NULL
 */
void collect_manager_moved(const gchar *oldpath, const gchar *newpath);

/* add or removing from a specific collection */
void collect_manager_add(const gchar *path, const gchar *collection);
void collect_manager_remove(const gchar *path, const gchar *collection);

/* commit pending operations to disk */
void collect_manager_flush(void);



#endif