1 /*
2  * ROX-Filer, filer for the ROX desktop project
3  * By Thomas Leonard, <tal197@users.sourceforge.net>.
4  */
5 
6 #ifndef _BIND_H
7 #define _BIND_H
8 
9 #include <gtk/gtk.h>
10 
11 extern Option o_new_button_1, o_single_click;
12 
13 typedef enum {
14 	BIND_DIRECTORY,
15 	BIND_DIRECTORY_ICON,
16 	BIND_PANEL,
17 	BIND_PANEL_ICON,
18 	BIND_PINBOARD,
19 	BIND_PINBOARD_ICON,
20 } BindContext;
21 
22 typedef enum {
23 	ACT_IGNORE,		/* Do nothing */
24 	ACT_SELECT_EXCL,	/* Select just this one item */
25 	ACT_TOGGLE_SELECTED,	/* Toggle this item's selected state */
26 	ACT_OPEN_ITEM,		/* Run app, load file or open dir */
27 	ACT_EDIT_ITEM,		/* Open app, load text file or mount dir */
28 	ACT_POPUP_MENU,		/* Show the popup menu */
29 	ACT_CLEAR_SELECTION,	/* Unselect all icons in this area */
30 	ACT_MOVE_ICON,		/* Reposition a pinboard/panel icon */
31 	ACT_PRIME_FOR_DND,	/* Significant motion will start dnd */
32 	ACT_PRIME_AND_SELECT,	/* As above, but select the item too */
33 	ACT_PRIME_AND_TOGGLE,	/* As above, but toggle the item instead */
34 	ACT_LASSO_CLEAR,	/* Clear selection, and start lasso drag */
35 	ACT_LASSO_MODIFY,	/* Start lasso drag without clearing */
36 	ACT_RESIZE,		/* Auto-resize the filer window */
37 } BindAction;
38 
39 void bind_init(void);
40 BindAction bind_lookup_bev(BindContext context, GdkEventButton *event);
41 
42 #endif /* _BIND_H */
43