{
get_resources()->filebox_sortcolumn = filebox->sort_column = get_sort_column();
get_resources()->filebox_sortorder = filebox->sort_order = get_sort_order();
- filebox->refresh();
+ filebox->refresh(-1);
return 1;
}
while( *cp ) ++cp;
if( cp > path && *--cp != '/' ) return 0;
char *file_path = FileSystem::basepath(path);
- char *dir_path = FileSystem::basepath(filebox->fs->get_current_dir());
+ char *dir_path = FileSystem::basepath(filebox->directory);
int ret = !strcmp(file_path, dir_path) ? 0 : 1;
if( ret ) {
strcpy(filebox->directory, file_path);
this->want_directory = want_directory;
if(show_all_files) fs->set_show_all();
fs->complete_path(this->current_path);
- fs->complete_path(this->submitted_path);
+ strcpy(this->submitted_path, this->current_path);
fs->extract_dir(directory, this->current_path);
fs->extract_name(filename, this->current_path);
// Test if current directory exists
if(!fs->is_dir(directory))
{
- sprintf(this->current_path, "~");
- fs->complete_path(this->current_path);
- fs->set_current_dir(this->current_path);
-// fs->update(this->current_path);
- strcpy(directory, fs->get_current_dir());
+ sprintf(directory, "~");
+ fs->complete_path(directory);
+ strcpy(current_path,directory);
filename[0] = 0;
}
- else
- fs->set_current_dir(this->directory);
-
+ fs->set_current_dir(directory);
if(h_padding == -1)
{
int directory_title_margin = MAX(20,
resources->filebox_text_images[0]->get_h());
-// Create recent dir list
- create_history();
-
// Directories aren't filtered in FileSystem so skip this
if(!want_directory)
{
filter_list.append(new BC_ListBoxItem("*"));
- filter_list.append(new BC_ListBoxItem("[*.ifo][*.vob]"));
+ filter_list.append(new BC_ListBoxItem("[*.mkv]"));
+ filter_list.append(new BC_ListBoxItem("[*.mp4]"));
filter_list.append(new BC_ListBoxItem("[*.mp2][*.mp3][*.wav]"));
filter_list.append(new BC_ListBoxItem("[*.avi][*.mpg][*.m2v][*.m1v][*.mov]"));
- filter_list.append(new BC_ListBoxItem("heroine*"));
filter_list.append(new BC_ListBoxItem("*.xml"));
fs->set_filter(get_resources()->filebox_filter);
}
-// fs->update(directory);
create_icons();
create_tables();
add_subwindow(recent_popup = new BC_FileBoxRecent(this, x, y));
add_subwindow(directory_title = new BC_FileBoxDirectoryText(x, y, this));
- directory_title->reposition_window(x, y,
- get_w() - recent_popup->get_w() - 20, 1);
- recent_popup->reposition_window(
- x + directory_title->get_w(), y,
- directory_title->get_w(), 200);
+ directory_title->reposition_window(x, y, get_w() - recent_popup->get_w() - 20, 1);
+ x += directory_title->get_w() + 8;
+ recent_popup->reposition_window(x, y, directory_title->get_w(), 200);
x = 10;
y += directory_title->get_h() + 5;
if( newest >= 0 ) {
strcpy(directory, resources->filebox_history[newest].path);
fs->change_dir(directory, 0);
+ strcpy(directory, fs->get_current_dir());
directory_title->update(fs->get_current_dir());
}
+ fs->set_sort_order(sort_order);
+ fs->set_sort_field(column_type[sort_column]);
+ fs->update(directory);
+
+// Create recent dir list
+ create_history();
+ update_history();
listbox = 0;
create_listbox(x, y, get_display_mode());
rename_thread = new BC_RenameThread(this);
-
+ refresh();
show_window();
}
get_w() - recent_popup->get_w() - 20,
1);
recent_popup->reposition_window(
- directory_title->get_x() + directory_title->get_w(),
+ directory_title->get_x() + directory_title->get_w() + 8,
directory_title->get_y(),
directory_title->get_w() + recent_popup->get_w(),
recent_popup->get_h());
w - (get_w() - listbox->get_w()),
h - (get_h() - listbox->get_h()),
0);
- icon_button->reposition_window(w - (get_w() - icon_button->get_x()),
- icon_button->get_y());
- text_button->reposition_window(w - (get_w() - text_button->get_x()),
- text_button->get_y());
- folder_button->reposition_window(w - (get_w() - folder_button->get_x()),
- folder_button->get_y());
- rename_button->reposition_window(w - (get_w() - rename_button->get_x()),
- rename_button->get_y());
- reload_button->reposition_window(w - (get_w() - reload_button->get_x()),
- reload_button->get_y());
- delete_button->reposition_window(w - (get_w() - delete_button->get_x()),
- delete_button->get_y());
- updir_button->reposition_window(w - (get_w() - updir_button->get_x()),
- updir_button->get_y());
- set_w(w);
- set_h(h);
+ int dx = w - get_w();
+ icon_button->reposition_window(icon_button->get_x()+dx, icon_button->get_y());
+ text_button->reposition_window(text_button->get_x()+dx, text_button->get_y());
+ folder_button->reposition_window(folder_button->get_x()+dx, folder_button->get_y());
+ rename_button->reposition_window(rename_button->get_x()+dx, rename_button->get_y());
+ reload_button->reposition_window(reload_button->get_x()+dx, reload_button->get_y());
+ delete_button->reposition_window(delete_button->get_x()+dx, delete_button->get_y());
+ updir_button->reposition_window(updir_button->get_x()+dx, updir_button->get_y());
+ set_w(w); set_h(h);
get_resources()->filebox_w = get_w();
get_resources()->filebox_h = get_h();
flush();
fs->set_sort_order(sort_order);
fs->set_sort_field(column_type[sort_column]);
-// Directory is entered before this from a random source
- fs->update(0);
for(int i = 0; i < fs->total_files(); i++)
{
FileItem *file_item = fs->get_entry(i);
const char* BC_FileBox::columntype_to_text(int type)
{
- switch(type)
- {
- case FILEBOX_NAME:
- return FILEBOX_NAME_TEXT;
- break;
- case FILEBOX_SIZE:
- return FILEBOX_SIZE_TEXT;
- break;
- case FILEBOX_DATE:
- return FILEBOX_DATE_TEXT;
- break;
- case FILEBOX_EXTENSION:
- return FILEBOX_EXTENSION_TEXT;
- break;
+ switch(type) {
+ case FILEBOX_NAME: return FILEBOX_NAME_TEXT;
+ case FILEBOX_SIZE: return FILEBOX_SIZE_TEXT;
+ case FILEBOX_DATE: return FILEBOX_DATE_TEXT;
+ case FILEBOX_EXTENSION: return FILEBOX_EXTENSION_TEXT;
}
return "";
}
-int BC_FileBox::refresh(int zscroll)
+int BC_FileBox::refresh(int reset)
{
+ fs->set_sort_order(sort_order);
+ fs->set_sort_field(column_type[sort_column]);
+ if( reset >= 0 )
+ fs->update(0);
+ else
+ fs->update_sort();
create_tables();
listbox->set_master_column(column_of_type(FILEBOX_NAME), 0);
listbox->update(list_column, column_titles, column_width, columns,
- !zscroll ? listbox->get_xposition() : 0,
- !zscroll ? listbox->get_yposition() : 0,
+ reset>0 ? 0 : listbox->get_xposition(),
+ reset>0 ? 0 : listbox->get_yposition(),
-1, 1);
return 0;
}
{
if(src != dst)
{
-
ArrayList<BC_ListBoxItem*> *new_columns =
new ArrayList<BC_ListBoxItem*>[columns];
int *new_types = new int[columns];