Mercurial > geeqie.yaz
diff src/filedata.c @ 964:ba1d3c4bc0cd
implemented marks filter
author | nadvornik |
---|---|
date | Sat, 16 Aug 2008 20:34:14 +0000 |
parents | d7cb8d5714d1 |
children | cbdabb499684 |
line wrap: on
line diff
--- a/src/filedata.c Sat Aug 16 07:18:16 2008 +0000 +++ b/src/filedata.c Sat Aug 16 20:34:14 2008 +0000 @@ -1068,6 +1068,33 @@ file_data_send_notification(fd, NOTIFY_TYPE_INTERNAL); } +gboolean file_data_filter_marks(FileData *fd, guint filter) +{ + return ((fd->marks & filter) == filter); +} + +GList *file_data_filter_marks_list(GList *list, guint filter) +{ + GList *work; + + work = list; + while (work) + { + FileData *fd = work->data; + GList *link = work; + work = work->next; + + if (!file_data_filter_marks(fd, filter)) + { + list = g_list_remove_link(list, link); + file_data_unref(fd); + g_list_free(link); + } + } + + return list; +} + gint file_data_get_user_orientation(FileData *fd) { return fd->user_orientation;