X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.1%2Fcinelerra%2Fbinfolder.C;h=b5d4b9f8147d003c9c4dec8ecce7a0c09453fd8a;hb=853407b57330e275b6c58432c678159b2eac00db;hp=9082f42c267028b5461eb5338456d27a536b4847;hpb=d60a59baa6cfe24c0fb153ed9e150a834ba29feb;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/binfolder.C b/cinelerra-5.1/cinelerra/binfolder.C index 9082f42c..b5d4b9f8 100644 --- a/cinelerra-5.1/cinelerra/binfolder.C +++ b/cinelerra-5.1/cinelerra/binfolder.C @@ -338,7 +338,7 @@ int BinFolder::load_xml(FileXML *file) return ret; } -int BinFolder::add_patterns(ArrayList *drag_idxbls) +int BinFolder::add_patterns(ArrayList *drag_idxbls, int use_basename) { int n = drag_idxbls->size(); if( !n ) return 1; @@ -349,7 +349,14 @@ int BinFolder::add_patterns(ArrayList *drag_idxbls) 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; @@ -359,8 +366,13 @@ int BinFolder::add_patterns(ArrayList *drag_idxbls) 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