5 #include "bcwindowbase.inc"
19 int64_t calendar_time
);
22 int set_path(char *path
);
23 int set_name(char *name
);
32 int64_t calendar_time
;
38 // sets the working directory to the user
40 virtual ~FileSystem();
42 // Load the new directory and change current_dir to it.
43 // This does not complete the dir path.
44 // If any of the files failed to stat, it returns nonzero.
45 int update(char *new_dir
= 0);
47 // Complete the path in the string and change to the directory in the string.
48 // Does not change new_dir
49 int change_dir(char *new_dir
);
50 // Set the current_dir to something without completing the path.
51 int set_current_dir(char *new_dir
);
54 char *get_current_dir();
55 // Syntax of filter is
56 // single filter without [].
57 // multiple filters enclosed in [].
58 int set_filter(char *new_filter
);
59 int set_show_all(); // show hidden files
60 int set_want_directory();
61 int set_sort_order(int value
);
62 int set_sort_field(int field
);
63 int create_dir(char *new_dir_
); // create a new directory
64 int complete_path(char *filename
); // use the filename and the current_dir to create a complete filename
65 int is_dir(const char *new_dir_
); // return 0 if the text is a directory
66 int extract_dir(char *out
, const char *in
); // extract the directory from the path
67 int extract_name(char *out
, const char *in
, int test_dir
= 1); // extract the name from the path
68 int join_names(char *out
, char *dir_in
, char *name_in
); // combine a directory and filename
69 long get_date(char *filename
); // get the date of the filename modification
70 static int64_t get_size(char *filename
); // Get the number of bytes in the file.
71 int add_end_slash(char *new_dir
);
73 FileItem
* get_entry(int entry
);
75 int parse_tildas(char *new_dir
); // expand tildas
76 int parse_directories(char *new_dir
); // add directories
77 int parse_dots(char *new_dir
); // move up directory tree after expanding tildas
79 // Alphabetize all the directories and files. By default
80 // directories come first.
83 // Array of files and directories in the directory pointed to by current_dir.
84 // Directories are first.
85 ArrayList
<FileItem
*> dir_list
;
87 // Sorting order and sorting field. These are identical in BC_ListBox.
94 // Match column definitions in BC_FileBox.
104 int dot_reverse_filename(char *out
, const char *in
);
105 int compare_items(ArrayList
<FileItem
*> *dir_list
, int item1
, int item2
);
106 int sort_table(ArrayList
<FileItem
*> *dir_list
);
109 // Combine the directories and files into the master list, directories first.
110 int combine(ArrayList
<FileItem
*> *dir_list
, ArrayList
<FileItem
*> *file_list
);
111 // Return whether or not the string is the root directory.
112 int is_root_dir(char *path
);
113 // Whether or not the file passes the current filter.
114 int test_filter(FileItem
*file
);
115 int reset_parameters();
116 int delete_directory();
117 char filter
[BCTEXTLEN
]; // what filenames have to end in to get displayed
119 int show_all_files
; // shows . files
120 char current_dir
[BCTEXTLEN
];
121 char string
[BCTEXTLEN
], string2
[BCTEXTLEN
];