4 * ROX-Filer, filer for the ROX desktop project
5 * By Thomas Leonard, <tal197@users.sourceforge.net>.
21 OPEN_SHIFT
= 0x01, /* Do ShiftOpen */
22 OPEN_SAME_WINDOW
= 0x02, /* Directories open in same window */
23 OPEN_CLOSE_WINDOW
= 0x04, /* Opening files closes the window */
24 OPEN_FROM_MINI
= 0x08, /* Non-dir => close minibuffer */
29 FILER_NEEDS_RESCAN
= 0x01, /* Call may_rescan after scanning */
30 FILER_UPDATING
= 0x02, /* (scanning) items may already exist */
31 FILER_CREATE_THUMBS
= 0x04, /* Create thumbs when scan ends */
34 typedef void (*TargetFunc
)(FilerWindow
*filer_window
, int item
, gpointer data
);
39 GtkBox
*toplevel_vbox
;
40 gboolean scanning
; /* State of the 'scanning' indicator */
41 gchar
*sym_path
; /* Path the user sees */
42 gchar
*real_path
; /* realpath(sym_path) */
43 Collection
*collection
;
45 gboolean temp_item_selected
;
48 int (*sort_fn
)(const void *a
, const void *b
);
50 DetailsType details_type
;
51 DisplayStyle display_style
;
55 gboolean had_cursor
; /* (before changing directory) */
56 char *auto_select
; /* If it we find while scanning */
58 GtkWidget
*message
; /* The 'Running as ...' message */
60 GtkWidget
*minibuffer_area
; /* The hbox to show/hide */
61 GtkWidget
*minibuffer_label
; /* The operation name */
62 GtkWidget
*minibuffer
; /* The text entry */
66 /* TRUE if hidden files are shown because the minibuffer leafname
69 gboolean temp_show_hidden
;
75 GtkWidget
*toolbar_text
;
78 gint open_timeout
; /* Will resize and show window... */
80 GtkStateType selection_state
; /* for drawing selection */
83 GList
*thumb_queue
; /* paths to thumbnail */
84 GtkWidget
*thumb_bar
, *thumb_progress
;
85 int max_thumbs
; /* total for this batch */
88 extern FilerWindow
*window_with_focus
;
89 extern GList
*all_filer_windows
;
90 extern GHashTable
*child_to_filer
;
91 extern Option o_filer_auto_resize
, o_unique_filer_windows
;
94 void filer_init(void);
95 FilerWindow
*filer_opendir(const char *path
, FilerWindow
*src_win
);
96 void filer_update_dir(FilerWindow
*filer_window
, gboolean warning
);
97 void filer_update_all(void);
98 DirItem
*filer_selected_item(FilerWindow
*filer_window
);
99 void change_to_parent(FilerWindow
*filer_window
);
100 void full_refresh(void);
101 void filer_openitem(FilerWindow
*filer_window
, int item_number
,
103 void filer_check_mounted(const char *real_path
);
104 void filer_close_recursive(const char *path
);
105 void filer_change_to(FilerWindow
*filer_window
,
106 const char *path
, const char *from
);
107 gboolean
filer_exists(FilerWindow
*filer_window
);
108 void filer_open_parent(FilerWindow
*filer_window
);
109 void filer_detach_rescan(FilerWindow
*filer_window
);
110 void filer_target_mode(FilerWindow
*filer_window
,
114 void filer_window_autosize(FilerWindow
*filer_window
, gboolean allow_shrink
);
115 GList
*filer_selected_items(FilerWindow
*filer_window
);
116 void filer_create_thumb(FilerWindow
*filer_window
, const gchar
*pathname
);
117 void filer_cancel_thumbnails(FilerWindow
*filer_window
);
118 void filer_set_title(FilerWindow
*filer_window
);
119 void filer_create_thumbs(FilerWindow
*filer_window
);
120 void filer_add_tip_details(FilerWindow
*filer_window
,
121 GString
*tip
, DirItem
*item
);
122 void filer_lost_selection(FilerWindow
*filer_window
, gint time
);
123 void filer_lost_primary(FilerWindow
*filer_window
);
124 void filer_selection_changed(FilerWindow
*filer_window
, gint time
);
125 void show_filer_menu(FilerWindow
*filer_window
, GdkEvent
*event
, int item
);
127 #endif /* _FILER_H */