Feature requests:

- usage of relative paths "//" now can be controlled with a button in the
  fileselect header
- relative path support added for linked Library files

Note: in oops window you can see the library file names, select the last
icon button in header to show the blocks.
This commit is contained in:
Ton Roosendaal 2004-06-23 18:48:55 +00:00
parent ec6b6314f0
commit eec72e3d4b
2 changed files with 24 additions and 4 deletions

@ -445,11 +445,20 @@ static Main *blo_find_main(ListBase *mainlist, char *name)
{
Main *m;
Library *lib;
char name1[FILE_MAXDIR+FILE_MAXFILE];
char libname1[FILE_MAXDIR+FILE_MAXFILE];
/* name can be stringcode too */
strcpy(name1, name);
BLI_convertstringcode(name1, G.sce, 0);
for (m= mainlist->first; m; m= m->next) {
char *libname= (m->curlib)?m->curlib->name:m->name;
if (BLI_streq(name, libname))
strcpy(libname1, libname);
BLI_convertstringcode(libname1, G.sce, 0);
if (BLI_streq(name1, libname1))
return m;
}
@ -781,7 +790,14 @@ static FileData *filedata_new(void)
FileData *blo_openblenderfile(char *name)
{
int file= open(name, O_BINARY|O_RDONLY);
int file;
char name1[FILE_MAXDIR+FILE_MAXFILE];
/* library files can have stringcodes */
strcpy(name1, name);
BLI_convertstringcode(name1, G.sce, 0);
file= open(name1, O_BINARY|O_RDONLY);
if (file == -1) {
return NULL;
@ -5047,6 +5063,8 @@ void BLO_library_append(SpaceFile *sfile, char *dir, int idcode)
blo_freefiledata((FileData*) sfile->libfiledata);
sfile->libfiledata= 0;
}
if(sfile->flag & FILE_STRINGCODE) BLI_makestringcode(G.sce, mainl->curlib->name);
}
/* ************* READ LIBRARY ************** */

@ -137,7 +137,9 @@ void file_buttons(void)
uiDefIconButS(block, ICONTOG|BIT|0, B_SORTFILELIST, ICON_LONGDISPLAY,xco+=XIC,0,XIC,YIC, &sfile->flag, 0, 0, 0, 0, "Toggles long info");
uiDefIconButS(block, TOG|BIT|3, B_RELOADDIR, ICON_GHOST,xco+=XIC,0,XIC,YIC, &sfile->flag, 0, 0, 0, 0, "Hides dot files");
xco+=XIC+10;
uiDefButBitS(block, TOG, FILE_STRINGCODE, 0, "Relative Paths", xco+=XIC,0,90,YIC, &sfile->flag, 0, 0, 0, 0, "Makes sure returned paths are relative to the current .blend file");
xco+=90;
if(sfile->type==FILE_LOADLIB) {
uiDefButS(block, TOGN|BIT|2, B_REDR, "Append", xco+=XIC,0,100,YIC, &sfile->flag, 0, 0, 0, 0, "Copies selected data into current project");