return TRUE;
}
-static gint collection_load_private(CollectionData *cd, const gchar *path, gint append, gint flush)
+static gint collection_load_private(CollectionData *cd, const gchar *path, CollectionLoadFlags flags)
{
gchar s_buf[2048];
FILE *f;
guint fail = 0;
gboolean changed = FALSE;
CollectManagerEntry *entry = NULL;
+ guint flush = flags & COLLECTION_LOAD_FLUSH;
+ guint append = flags & COLLECTION_LOAD_APPEND;
collection_load_stop(cd);
return success;
}
-gint collection_load(CollectionData *cd, const gchar *path, gint append)
+gint collection_load(CollectionData *cd, const gchar *path, CollectionLoadFlags flags)
{
- if (collection_load_private(cd, path, append, TRUE))
+ if (collection_load_private(cd, path, flags | COLLECTION_LOAD_FLUSH))
{
layout_recent_add_path(cd->path);
return TRUE;
if (!cd->thumb_loader) collection_load_thumb_step(cd);
}
-gint collection_load_begin(CollectionData *cd, const gchar *path, gint append)
+gint collection_load_begin(CollectionData *cd, const gchar *path, CollectionLoadFlags flags)
{
- if (!collection_load(cd, path, append)) return FALSE;
+ if (!collection_load(cd, path, flags)) return FALSE;
collection_load_thumb_idle(cd);
if (entry->empty) return FALSE;
cd = collection_new(entry->path);
- success = collection_load_private(cd, entry->path, FALSE, FALSE);
+ success = collection_load_private(cd, entry->path, COLLECTION_LOAD_NONE);
collection_unref(cd);
#ifndef COLLECT_IO_H
#define COLLECT_IO_H
+typedef enum {
+ COLLECTION_LOAD_NONE = 0,
+ COLLECTION_LOAD_APPEND = 1 << 0,
+ COLLECTION_LOAD_FLUSH = 1 << 1,
+} CollectionLoadFlags;
-gint collection_load(CollectionData *cd, const gchar *path, gint append);
+gint collection_load(CollectionData *cd, const gchar *path, CollectionLoadFlags flags);
-gint collection_load_begin(CollectionData *cd, const gchar *path, gint append);
+gint collection_load_begin(CollectionData *cd, const gchar *path, CollectionLoadFlags flags);
void collection_load_stop(CollectionData *cd);
void collection_load_thumb_idle(CollectionData *cd);
collection_set_update_info_func(cw->cd, collection_window_update_info, cw);
- if (path && *path == '/') collection_load_begin(cw->cd, NULL, FALSE);
+ if (path && *path == '/') collection_load_begin(cw->cd, NULL, COLLECTION_LOAD_NONE);
return cw;
}