Move a part of pop up menu common code to view_file.[ch].
[geeqie.git] / src / view_file.h
1 /*
2  * Geeqie
3  * Copyright (C) 2008 The Geeqie Team
4  *
5  * Author: Laurent Monin
6  *
7  * This software is released under the GNU General Public License (GNU GPL).
8  * Please read the included file COPYING for more information.
9  * This software comes with no warranty of any kind, use at your own risk!
10  */
11
12 #ifndef VIEW_FILE_H
13 #define VIEW_FILE_H
14
15 #define VIEW_FILE_TYPES_COUNT 2
16
17 void vf_send_update(ViewFile *vf);
18
19 ViewFile *vf_new(FileViewType type, const gchar *path);
20
21 void vf_set_status_func(ViewFile *vf, void (*func)(ViewFile *vf, gpointer data), gpointer data);
22 void vf_set_thumb_status_func(ViewFile *vf, void (*func)(ViewFile *vf, gdouble val, const gchar *text, gpointer data), gpointer data);
23
24 void vf_set_layout(ViewFile *vf, LayoutWindow *layout);
25
26 gint vf_set_path(ViewFile *vf, const gchar *path);
27 gint vf_refresh(ViewFile *vf);
28
29 void vf_thumb_set(ViewFile *vf, gint enable);
30 void vf_marks_set(ViewFile *vf, gint enable);
31 void vf_sort_set(ViewFile *vf, SortType type, gint ascend);
32
33 GList *vf_pop_menu_file_list(ViewFile *vf);
34 void vf_pop_menu_edit_cb(GtkWidget *widget, gpointer data);
35 void vf_pop_menu_info_cb(GtkWidget *widget, gpointer data);
36 void vf_pop_menu_copy_cb(GtkWidget *widget, gpointer data);
37 void vf_pop_menu_move_cb(GtkWidget *widget, gpointer data);
38 void vf_pop_menu_delete_cb(GtkWidget *widget, gpointer data);
39 void vf_pop_menu_copy_path_cb(GtkWidget *widget, gpointer data);
40 void vf_pop_menu_sort_cb(GtkWidget *widget, gpointer data);
41 void vf_pop_menu_sort_ascend_cb(GtkWidget *widget, gpointer data);
42 void vf_pop_menu_sel_mark_cb(GtkWidget *widget, gpointer data);
43 void vf_pop_menu_sel_mark_and_cb(GtkWidget *widget, gpointer data);
44 void vf_pop_menu_sel_mark_or_cb(GtkWidget *widget, gpointer data);
45 void vf_pop_menu_sel_mark_minus_cb(GtkWidget *widget, gpointer data);
46 void vf_pop_menu_set_mark_sel_cb(GtkWidget *widget, gpointer data);
47 void vf_pop_menu_res_mark_sel_cb(GtkWidget *widget, gpointer data);
48 void vf_pop_menu_toggle_mark_sel_cb(GtkWidget *widget, gpointer data);
49 void vf_pop_menu_toggle_view_type_cb(GtkWidget *widget, gpointer data);
50
51 FileData *vf_index_get_data(ViewFile *vf, gint row);
52 gint vf_index_by_path(ViewFile *vf, const gchar *path);
53 gint vf_index_by_fd(ViewFile *vf, FileData *in_fd);
54 gint vf_count(ViewFile *vf, gint64 *bytes);
55 GList *vf_get_list(ViewFile *vf);
56
57 gint vf_index_is_selected(ViewFile *vf, gint row);
58 gint vf_selection_count(ViewFile *vf, gint64 *bytes);
59 GList *vf_selection_get_list(ViewFile *vf);
60 GList *vf_selection_get_list_by_index(ViewFile *vf);
61
62 void vf_select_all(ViewFile *vf);
63 void vf_select_none(ViewFile *vf);
64 void vf_select_invert(ViewFile *vf);
65 void vf_select_by_fd(ViewFile *vf, FileData *fd);
66
67 void vf_mark_to_selection(ViewFile *vf, gint mark, MarkToSelectionMode mode);
68 void vf_selection_to_mark(ViewFile *vf, gint mark, SelectionToMarkMode mode);
69
70 void vf_select_marked(ViewFile *vf, gint mark);
71 void vf_mark_selected(ViewFile *vf, gint mark, gint value);
72
73 gint vf_maint_renamed(ViewFile *vf, FileData *fd);
74 gint vf_maint_removed(ViewFile *vf, FileData *fd, GList *ignore_list);
75 gint vf_maint_moved(ViewFile *vf, FileData *fd, GList *ignore_list);
76
77
78 #endif /* VIEW_FILE_H */