1 #ifndef E_MOD_MAIN_H
2 #define E_MOD_MAIN_H
3 
4 #include "e.h"
5 
6 /* Increment for Major Changes */
7 #define MOD_CONFIG_FILE_EPOCH      1
8 /* Increment for Minor Changes (ie: user doesn't need a new config) */
9 #define MOD_CONFIG_FILE_GENERATION 0
10 #define MOD_CONFIG_FILE_VERSION    ((MOD_CONFIG_FILE_EPOCH * 1000000) + MOD_CONFIG_FILE_GENERATION)
11 
12 typedef struct _Config Config;
13 
14 typedef struct Fileman_Path
15 {
16    const char *dev, *path;
17    unsigned int zone;
18    E_Fm2_View_Mode desktop_mode;
19 } Fileman_Path;
20 
21 struct _Config
22 {
23    int config_version;
24 
25    struct
26    {
27       E_Fm2_View_Mode mode;
28       unsigned char   open_dirs_in_place;
29       unsigned char   selector;
30       unsigned char   single_click;
31       unsigned char   no_subdir_jump;
32       unsigned char   no_subdir_drop;
33       unsigned char   always_order;
34       unsigned char   link_drop;
35       unsigned char   fit_custom_pos;
36       unsigned char   show_full_path;
37       unsigned char   show_toolbar;
38       unsigned char   show_sidebar;
39       unsigned char   desktop_navigation;
40       unsigned char   menu_shows_files;
41       int spring_delay;
42       E_Gadcon_Orient toolbar_orient;
43    } view;
44    struct
45    {
46       double delay;
47       double size;
48       Eina_Bool enable;
49       Eina_Bool clamp_size;
50    } tooltip;
51    /* display of icons */
52    struct
53    {
54       struct
55       {
56          int w, h;
57       } icon;
58       struct
59       {
60          int w, h;
61       } list;
62       struct
63       {
64          unsigned char w;
65          unsigned char h;
66       } fixed;
67       struct
68       {
69          unsigned char show;
70       } extension;
71       const char *key_hint;
72       unsigned int max_thumb_size;
73    } icon;
74    /* how to sort files */
75    struct
76    {
77       struct
78       {
79          unsigned char no_case;
80          unsigned char extension;
81          unsigned char size;
82          unsigned char mtime;
83          struct
84          {
85             unsigned char first;
86             unsigned char last;
87          } dirs;
88       } sort;
89    } list;
90    /* control how you can select files */
91    struct
92    {
93       unsigned char single;
94       unsigned char windows_modifiers;
95    } selection;
96    /* the background - if any, and how to handle it */
97    /* FIXME: not implemented yet */
98    struct
99    {
100       const char   *background;
101       const char   *frame;
102       const char   *icons;
103       unsigned char fixed;
104    } theme;
105    Eina_List *paths; // Fileman_Path
106 };
107 
108 extern Config *fileman_config;
109 Fileman_Path *e_mod_fileman_path_find(E_Zone *zone);
110 
111 E_Menu *e_mod_menu_add(E_Menu *m, const char *path);
112 
113 E_Config_Dialog *e_int_config_fileman(Evas_Object *parent, const char *params EINA_UNUSED);
114 E_Config_Dialog *e_int_config_mime_edit(E_Config_Mime_Icon *data, void *data2);
115 E_Config_Dialog *e_int_config_mime(Evas_Object *parent, const char *params EINA_UNUSED);
116 void e_int_config_mime_edit_done(void *data);
117 
118 void e_fileman_dbus_init(void);
119 void e_fileman_dbus_shutdown(void);
120 
121 int  e_fwin_init          (void);
122 int  e_fwin_shutdown      (void);
123 void e_fwin_new           (const char *dev, const char *path);
124 void e_fwin_zone_new      (E_Zone *zone, void *path);
125 void e_fwin_zone_shutdown (E_Zone *zone);
126 void e_fwin_all_unsel     (void *data);
127 void e_fwin_reload_all    (void);
128 void *e_fwin_zone_find    (E_Zone *zone);
129 Eina_Bool e_fwin_show     (const char *dev, const char *path);
130 
131 Eina_Bool e_fwin_nav_init(void);
132 Eina_Bool e_fwin_nav_shutdown(void);
133 
134 /**
135  * @addtogroup Optional_Fileman
136  * @{
137  *
138  * @defgroup Module_Fileman File Manager
139  *
140  * Basic file manager with list and grid view, shows thumbnails, can
141  * copy, cut, paste, delete and rename files.
142  *
143  * @see Module_Fileman_Opinfo
144  * @}
145  */
146 
147 #endif
148