projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add binfolder path relative filters, fix gbrp color model, vwdw timebar tweaks, title...
[goodguy/history.git]
/
cinelerra-5.1
/
cinelerra
/
binfolder.C
diff --git
a/cinelerra-5.1/cinelerra/binfolder.C
b/cinelerra-5.1/cinelerra/binfolder.C
index 9082f42c267028b5461eb5338456d27a536b4847..ffe5a12f9484548a3a2aabcfab901e3236f0dde9 100644
(file)
--- 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;
}
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;
{
int n = drag_idxbls->size();
if( !n ) return 1;
@@
-349,7
+349,14
@@
int BinFolder::add_patterns(ArrayList<Indexable*> *drag_idxbls)
if( !idxbl->is_asset &&
idxbl->awindow_folder == AW_PROXY_FOLDER )
continue;
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 += 2; // "*/" + fn
+ }
+ len += strlen(tp) + 1;
}
if( !len ) return 1;
char *pats = new char[len+1], *bp = pats;
}
if( !len ) return 1;
char *pats = new char[len+1], *bp = pats;
@@
-359,8
+366,13
@@
int BinFolder::add_patterns(ArrayList<Indexable*> *drag_idxbls)
idxbl->awindow_folder == AW_PROXY_FOLDER )
continue;
if( i > 0 ) *bp++ = '\n';
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++ = '*'; *bp++ = '/';
+ }
+ while( *tp ) *bp++ = *tp++;
}
*bp = 0;
// new pattern filter
}
*bp = 0;
// new pattern filter