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