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 typedef struct _FilerWindow FilerWindow
;
20 typedef enum {PANEL_NO
, PANEL_TOP
, PANEL_BOTTOM
} PanelType
;
21 typedef enum {UNKNOWN_STYLE
, LARGE_ICONS
, SMALL_ICONS
, FULL_INFO
} DisplayStyle
;
25 OPEN_SHIFT
= 0x01, /* Do ShiftOpen */
26 OPEN_SAME_WINDOW
= 0x02, /* Directories open in same window */
27 OPEN_CLOSE_WINDOW
= 0x04, /* Opening files closes the window */
28 OPEN_FROM_MINI
= 0x08, /* Non-dir => close minibuffer */
33 FILER_NEEDS_RESCAN
= 0x01, /* Call may_rescan after scanning */
34 FILER_UPDATING
= 0x02, /* (scanning) items may already exist */
42 gboolean scanning
; /* State of the 'scanning' indicator */
43 char *path
; /* pathname */
44 Collection
*collection
;
45 gboolean temp_item_selected
;
49 int (*sort_fn
)(const void *a
, const void *b
);
50 DisplayStyle display_style
;
54 gboolean had_cursor
; /* (before changing directory) */
55 char *auto_select
; /* If it we find while scanning */
57 GtkWidget
*minibuffer
;
61 extern FilerWindow
*window_with_focus
;
62 extern GHashTable
*child_to_filer
;
63 extern gboolean o_unique_filer_windows
;
67 FilerWindow
*filer_opendir(char *path
, PanelType panel_type
);
68 void update_dir(FilerWindow
*filer_window
, gboolean warning
);
69 void scan_dir(FilerWindow
*filer_window
);
70 int selected_item_number(Collection
*collection
);
71 DirItem
*selected_item(Collection
*collection
);
72 void change_to_parent(FilerWindow
*filer_window
);
73 void filer_style_set(FilerWindow
*filer_window
, DisplayStyle style
);
74 char *details(DirItem
*item
);
75 void filer_set_hidden(FilerWindow
*filer_window
, gboolean hidden
);
76 int sort_by_name(const void *item1
, const void *item2
);
77 int sort_by_type(const void *item1
, const void *item2
);
78 int sort_by_date(const void *item1
, const void *item2
);
79 int sort_by_size(const void *item1
, const void *item2
);
80 void filer_set_sort_fn(FilerWindow
*filer_window
,
81 int (*fn
)(const void *a
, const void *b
));
82 void full_refresh(void);
83 void filer_openitem(FilerWindow
*filer_window
, int item_number
,
85 void filer_check_mounted(char *path
);
86 void filer_change_to(FilerWindow
*filer_window
, char *path
, char *from
);