BC_FileBoxFilterText::BC_FileBoxFilterText(int x, int y, BC_FileBox *filebox)
- : BC_TextBox(x, y, filebox->get_w() - 50, 1, filebox->get_resources()->filebox_filter)
+ : BC_TextBox(x, y, filebox->get_w() - x - 50, 1, filebox->get_resources()->filebox_filter)
{
this->filebox = filebox;
}
column_type = new int[columns];
column_width = new int[columns];
+ filter_title = 0;
filter_text = 0;
filter_popup = 0;
usethis_button = 0;
if(!want_directory)
{
filter_list.append(new BC_ListBoxItem("*"));
- filter_list.append(new BC_ListBoxItem("[*.mkv]"));
- filter_list.append(new BC_ListBoxItem("[*.mp4]"));
+ filter_list.append(new BC_ListBoxItem("[*.mkv][*.webm]"));
+ filter_list.append(new BC_ListBoxItem("[*.mp4][*.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("[*.jpg][*.JPG][*.png][*.gif][*.tiff]"));
filter_list.append(new BC_ListBoxItem("*.xml"));
fs->set_filter(get_resources()->filebox_filter);
}
create_icons();
- create_tables();
+ create_tables(0);
add_subwindow(ok_button = new BC_FileBoxOK(this));
if(want_directory)
y += textbox->get_h() + 10;
if(!want_directory) {
- add_subwindow(filter_text = new BC_FileBoxFilterText(x, y, this));
+ add_subwindow(filter_title = new BC_Title(x, y, _("Specify filter:")));
+ int x1 = x + filter_title->get_w() + 10;
+ add_subwindow(filter_text = new BC_FileBoxFilterText(x1, y, this));
add_subwindow(filter_popup =
- new BC_FileBoxFilterMenu(x + filter_text->get_w(), y, this));;
+ new BC_FileBoxFilterMenu(x1 + filter_text->get_w(), y, this));
}
// listbox has to be active because refresh might be called from newfolder_thread
w - 30,
0);
-
+ if(filter_title) filter_title->reposition_window(filter_title->get_x(),
+ h - (get_h() - filter_title->get_y()));
if(filter_text) filter_text->reposition_window(filter_text->get_x(),
h - (get_h() - filter_text->get_y()),
w - (get_w() - filter_text->get_w()),
int BC_FileBox::keypress_event()
{
- switch(get_keypress())
- {
- case 'w':
- if(ctrl_down()) set_done(1);
- return 1;
- break;
+ switch(get_keypress()) {
+ case 'a':
+ if( !ctrl_down() ) break;
+ refresh(0, 1);
+ return 1;
+ case 'z':
+ if( !ctrl_down() ) break;
+ refresh(0, 0);
+ return 1;
+ case 'w':
+ if( !ctrl_down() ) break;
+ set_done(1);
+ return 1;
}
return 0;
}
return len;
}
-int BC_FileBox::create_tables()
+int BC_FileBox::create_tables(int select_all)
{
delete_tables();
char string[BCTEXTLEN];
}
list_column[column_of_type(FILEBOX_EXTENSION)].append(new_item);
// }
+
+ if( !is_dir && select_all ) {
+ int k = list_column[0].size()-1;
+ for( int j=0; j<columns; ++j )
+ list_column[j][k]->set_selected(1);
+ }
}
return 0;
-int BC_FileBox::refresh(int reset)
+int BC_FileBox::refresh(int reset, int select_all)
{
fs->set_sort_order(sort_order);
fs->set_sort_field(column_type[sort_column]);
fs->update(0);
else
fs->update_sort();
- create_tables();
+ create_tables(select_all);
listbox->set_master_column(column_of_type(FILEBOX_NAME), 0);
listbox->update(list_column, column_titles, column_width, columns,
reset>0 ? 0 : listbox->get_xposition(),