view src/collect-io.h @ 2860:b20a96b979a3

Fix #437: Delete to standard Trash directory https://github.com/BestImageViewer/geeqie/issues/437 The method of file deletion is changed. The Preferences/Behaviour option "Safe delete" is removed. The user has the option to choose Geeqie-defined trash bin or system-defined trash bin as the normal mode - set in Preferences/Behaviour. Menus have two entries: Move to trash and Permanent delete. The Delete key moves to trash; shift-Delete deletes permanently. Both Move to trash and Permanent delete have user-selectable confirmation, set in Preferences/Behaviour. This means the function of the Delete key is changed from Permanent delete to Move to trash, which is a fail-safe change.
author Colin Clark <colin.clark@cclark.uk>
date Sat, 03 Nov 2018 17:53:31 +0000
parents 03014a1eb7e7
children
line wrap: on
line source

/*
 * Copyright (C) 2004 John Ellis
 * Copyright (C) 2008 - 2016 The Geeqie Team
 *
 * Author: John Ellis
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */

#ifndef COLLECT_IO_H
#define COLLECT_IO_H

typedef enum {
	COLLECTION_LOAD_NONE	= 0,
	COLLECTION_LOAD_APPEND	= 1 << 0,
	COLLECTION_LOAD_FLUSH	= 1 << 1,
	COLLECTION_LOAD_GEOMETRY= 1 << 2,
} CollectionLoadFlags;

gboolean collection_load(CollectionData *cd, const gchar *path, CollectionLoadFlags flags);

gboolean collection_load_begin(CollectionData *cd, const gchar *path, CollectionLoadFlags flags);
void collection_load_stop(CollectionData *cd);

void collection_load_thumb_idle(CollectionData *cd);

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

gboolean 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(FileData *fd);

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

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

void collect_manager_notify_cb(FileData *fd, NotifyType type, gpointer data);
void collect_manager_list(GList **names_exc, GList **names_inc, GList **paths);

#endif
/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */