4 * ROX-Filer, filer for the ROX desktop project
5 * By Thomas Leonard, <tal197@ecs.soton.ac.uk>.
12 #include "collection.h"
14 #include <sys/types.h>
19 extern GdkFont
*fixed_font
;
21 typedef struct _FilerWindow FilerWindow
;
22 typedef enum {LEFT
, RIGHT
, TOP
, BOTTOM
} Side
;
23 typedef enum {UNKNOWN_STYLE
, LARGE_ICONS
, SMALL_ICONS
, FULL_INFO
} DisplayStyle
;
27 FILER_NEEDS_RESCAN
= 0x01, /* Call may_rescan after scanning */
28 FILER_UPDATING
= 0x02, /* (scanning) items may already exist */
36 char *path
; /* pathname */
37 Collection
*collection
;
39 gboolean temp_item_selected
;
43 time_t m_time
; /* m-time at last scan */
44 int (*sort_fn
)(const void *a
, const void *b
);
45 DisplayStyle display_style
;
49 gboolean had_cursor
; /* (before changing directory) */
50 char *auto_select
; /* If it we find while scanning */
53 extern FilerWindow
*window_with_focus
;
54 extern GHashTable
*child_to_filer
;
58 void filer_opendir(char *path
, gboolean panel
, Side panel_side
);
59 void update_dir(FilerWindow
*filer_window
, gboolean warning
);
60 void scan_dir(FilerWindow
*filer_window
);
61 int selected_item_number(Collection
*collection
);
62 DirItem
*selected_item(Collection
*collection
);
63 void change_to_parent(FilerWindow
*filer_window
);
64 void filer_style_set(FilerWindow
*filer_window
, DisplayStyle style
);
65 char *details(DirItem
*item
);
66 void filer_set_hidden(FilerWindow
*filer_window
, gboolean hidden
);
67 int sort_by_name(const void *item1
, const void *item2
);
68 int sort_by_type(const void *item1
, const void *item2
);
69 int sort_by_date(const void *item1
, const void *item2
);
70 int sort_by_size(const void *item1
, const void *item2
);
71 void filer_set_sort_fn(FilerWindow
*filer_window
,
72 int (*fn
)(const void *a
, const void *b
));
73 void full_refresh(void);
74 void filer_openitem(FilerWindow
*filer_window
, int item_number
,
75 gboolean shift
, gboolean adjust
);
76 void filer_check_mounted(char *path
);