X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbcfilebox.C;h=1dc1f308d5739b7c41276ca7923a26bc1caa5025;hb=43821d27c5b51c4250a251f20c98878f54deb288;hp=21898b87a02694a91ce7917ff92de4bf710e9780;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/guicast/bcfilebox.C b/cinelerra-5.1/guicast/bcfilebox.C index 21898b87..1dc1f308 100644 --- a/cinelerra-5.1/guicast/bcfilebox.C +++ b/cinelerra-5.1/guicast/bcfilebox.C @@ -128,7 +128,7 @@ int BC_FileBoxListBox::sort_order_event() { 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; } @@ -582,20 +582,24 @@ void BC_FileBox::create_objects() // Create recent dir list create_history(); + update_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); + fs->set_sort_order(sort_order); + fs->set_sort_field(column_type[sort_column]); + fs->update(directory); + create_icons(); create_tables(); @@ -751,22 +755,15 @@ int BC_FileBox::resize_event(int w, int 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(); @@ -814,8 +811,6 @@ int BC_FileBox::create_tables() 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); @@ -920,20 +915,11 @@ BC_Pixmap* BC_FileBox::get_icon(char *path, int is_dir) 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 ""; } @@ -947,13 +933,19 @@ int BC_FileBox::column_of_type(int type) -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; } @@ -973,7 +965,6 @@ void BC_FileBox::move_column(int src, int dst) { if(src != dst) { - ArrayList *new_columns = new ArrayList[columns]; int *new_types = new int[columns];