#ifndef NAUTILUS_VIEW_MODEL_H
#define NAUTILUS_VIEW_MODEL_H
#include <glib.h>
#include "nautilus-file.h"
#include "nautilus-view-item-model.h"
G_BEGIN_DECLS
#define NAUTILUS_TYPE_VIEW_MODEL (nautilus_view_model_get_type())
G_DECLARE_FINAL_TYPE (NautilusViewModel, nautilus_view_model, NAUTILUS, VIEW_MODEL, GObject)
typedef struct
{
NautilusFileSortType sort_type;
gboolean reversed;
gboolean directories_first;
} NautilusViewModelSortData;
NautilusViewModel * nautilus_view_model_new (void);
void nautilus_view_model_set_sort_type (NautilusViewModel *self,
NautilusViewModelSortData *sort_data);
NautilusViewModelSortData * nautilus_view_model_get_sort_type (NautilusViewModel *self);
GListStore * nautilus_view_model_get_g_model (NautilusViewModel *self);
NautilusViewItemModel * nautilus_view_model_get_item_from_file (NautilusViewModel *self,
NautilusFile *file);
GQueue * nautilus_view_model_get_items_from_files (NautilusViewModel *self,
GQueue *files);
/* Don't use inside a loop, use nautilus_view_model_remove_all_items instead. */
void nautilus_view_model_remove_item (NautilusViewModel *self,
NautilusViewItemModel *item);
void nautilus_view_model_remove_all_items (NautilusViewModel *self);
/* Don't use inside a loop, use nautilus_view_model_add_items instead. */
void nautilus_view_model_add_item (NautilusViewModel *self,
NautilusViewItemModel *item);
void nautilus_view_model_add_items (NautilusViewModel *self,
GQueue *items);
void nautilus_view_model_set_items (NautilusViewModel *self,
GQueue *items);
G_END_DECLS
#endif /* NAUTILUS_VIEW_MODEL_H */