return ret;
}
-int BinFolder::add_patterns(ArrayList<Indexable*> *drag_idxbls)
+int BinFolder::add_patterns(ArrayList<Indexable*> *drag_idxbls, int use_basename)
{
int n = drag_idxbls->size();
if( !n ) return 1;
if( !idxbl->is_asset &&
idxbl->awindow_folder == AW_PROXY_FOLDER )
continue;
- len += strlen(idxbl->get_title()) + 1;
+
+ const char *tp = idxbl->get_title();
+ if( use_basename && idxbl->is_asset ) {
+ const char *cp = strrchr(tp, '/');
+ if( cp ) tp = cp + 1;
+ len += 1; // "*" + fn
+ }
+ len += strlen(tp) + 1;
}
if( !len ) return 1;
char *pats = new char[len+1], *bp = pats;
idxbl->awindow_folder == AW_PROXY_FOLDER )
continue;
if( i > 0 ) *bp++ = '\n';
- const char *cp = idxbl->get_title();
- while( *cp ) *bp++ = *cp++;
+ const char *tp = idxbl->get_title();
+ if( use_basename && idxbl->is_asset ) {
+ const char *cp = strrchr(tp, '/');
+ if( cp ) tp = cp + 1;
+ *bp++ = '*';
+ }
+ while( *tp ) *bp++ = *tp++;
}
*bp = 0;
// new pattern filter
add_subwindow(text_box = new BC_TextBox(x, y, 300, 1, thread->folder->title));
y += text_box->get_h() + 10;
int lh = get_h() - y - BC_OKButton::calculate_h() - 30;
- int lw = get_w() - x - 120;
+ int lw = get_w() - x - 160;
add_subwindow(folder_list =
new BinFolderList(thread->folder, thread->agui->mwindow, this, x, y, lw, lh));
folder_list->create_objects();
int lx = folder_list->get_x();
int ly = folder_list->get_y();
int lh = h - ly - BC_OKButton::calculate_h() - 30;
- int lw = w - lx - 120;
+ int lw = w - lx - 160;
folder_list->reposition_window(lx, ly, lw, lh);
int x1 = lx + lw + 15;
add_filter->reposition_window(x1, add_filter->get_y());
{
this->agui = agui;
original = 0;
+ modify_edl = 0;
folder = 0;
}
{
close_window();
this->original = folder;
- agui->mwindow->edl->add_user();
+ this->modify_edl = agui->mwindow->edl;
+ this->modify_edl->add_user();
this->folder = new BinFolder(*folder);
this->wx = x; this->wy = y;
this->ww = w; this->wh = h;
}
delete folder; folder = 0;
original = 0;
- agui->mwindow->edl->remove_user();
+ modify_edl->remove_user();
}
void ModifyFolderThread::handle_close_event(int result)