Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2004-07-23 14:49:04 +0400
committerTon Roosendaal <ton@blender.org>2004-07-23 14:49:04 +0400
commita3d1f2bf6611cd98a4d0a092b56c77e44ddfe998 (patch)
tree21f0873451710acfb614a4d4b8092ce923219b95 /source/blender/src/filesel.c
parent8773a7bb5f0ea05c5dc2f9760f6bf663128854d2 (diff)
Work on filesel.c :
- Bug fix #1464; a 2nd time shift+f1 append didn't make the ".." file a directory, preventing going to a parent directory in .blend file - Bug fix (not reported): when saving an image, the fileselect window(s) didn't show that image file when calling fileselector again - Removed redundant code from experiment with ImageMagick - Renamed functions with dutch names... :)
Diffstat (limited to 'source/blender/src/filesel.c')
-rw-r--r--source/blender/src/filesel.c74
1 files changed, 21 insertions, 53 deletions
diff --git a/source/blender/src/filesel.c b/source/blender/src/filesel.c
index 8b1d60ee703..9f7e557a6f5 100644
--- a/source/blender/src/filesel.c
+++ b/source/blender/src/filesel.c
@@ -490,6 +490,7 @@ void checkdir(char *dir)
#endif
}
+/* not called when browsing .blend itself */
void test_flags_file(SpaceFile *sfile)
{
struct direntry *file;
@@ -500,9 +501,9 @@ void test_flags_file(SpaceFile *sfile)
for(num=0; num<sfile->totfile; num++, file++) {
file->flags= 0;
file->type= file->s.st_mode; /* restore the mess below */
-
+
/* Don't check extensions for directories */
- if (file->type&S_IFDIR)
+ if (file->type & S_IFDIR)
continue;
if(sfile->type==FILE_BLENDER || sfile->type==FILE_LOADLIB) {
@@ -513,6 +514,7 @@ void test_flags_file(SpaceFile *sfile)
char name[FILE_MAXDIR+FILE_MAXFILE];
strcpy(name, sfile->dir);
strcat(name, file->relname);
+
/* prevent current file being used as acceptable dir */
if (BLI_streq(G.main->name, name)==0) {
file->type &= ~S_IFMT;
@@ -546,20 +548,6 @@ void test_flags_file(SpaceFile *sfile)
|| BLI_testextensie(file->relname, ".pict")
|| BLI_testextensie(file->relname, ".pntg") //macpaint
|| BLI_testextensie(file->relname, ".qtif")
-#ifdef WITH_FREEIMAGE
- || BLI_testextensie(file->relname, ".jng")
- || BLI_testextensie(file->relname, ".mng")
- || BLI_testextensie(file->relname, ".pbm")
- || BLI_testextensie(file->relname, ".pgm")
- || BLI_testextensie(file->relname, ".ppm")
- || BLI_testextensie(file->relname, ".wbmp")
- || BLI_testextensie(file->relname, ".cut")
- || BLI_testextensie(file->relname, ".ico")
- || BLI_testextensie(file->relname, ".koala")
- || BLI_testextensie(file->relname, ".pcd")
- || BLI_testextensie(file->relname, ".pcx")
- || BLI_testextensie(file->relname, ".ras")
-#endif
|| BLI_testextensie(file->relname, ".sgi")) {
file->flags |= IMAGEFILE;
}
@@ -578,24 +566,6 @@ void test_flags_file(SpaceFile *sfile)
|| BLI_testextensie(file->relname, ".png")
|| BLI_testextensie(file->relname, ".iff")
|| BLI_testextensie(file->relname, ".lbm")
-#ifdef WITH_FREEIMAGE
- || BLI_testextensie(file->relname, ".jng")
- || BLI_testextensie(file->relname, ".mng")
- || BLI_testextensie(file->relname, ".pbm")
- || BLI_testextensie(file->relname, ".pgm")
- || BLI_testextensie(file->relname, ".ppm")
- || BLI_testextensie(file->relname, ".wbmp")
- || BLI_testextensie(file->relname, ".cut")
- || BLI_testextensie(file->relname, ".ico")
- || BLI_testextensie(file->relname, ".koala")
- || BLI_testextensie(file->relname, ".pcd")
- || BLI_testextensie(file->relname, ".pcx")
- || BLI_testextensie(file->relname, ".ras")
- || BLI_testextensie(file->relname, ".gif")
- || BLI_testextensie(file->relname, ".psd")
- || BLI_testextensie(file->relname, ".tif")
- || BLI_testextensie(file->relname, ".tiff")
-#endif
|| BLI_testextensie(file->relname, ".sgi")) {
file->flags |= IMAGEFILE;
}
@@ -906,7 +876,7 @@ static void draw_filescroll(SpaceFile *sfile)
}
-static void regelrect(int id, int x, int y)
+static void linerect(int id, int x, int y)
{
if(id & ACTIVE) {
if(id & HILITE) BIF_ThemeColorShade(TH_HILITE, 20);
@@ -919,7 +889,7 @@ static void regelrect(int id, int x, int y)
}
-static void printregel(SpaceFile *sfile, struct direntry *files, int x, int y)
+static void print_line(SpaceFile *sfile, struct direntry *files, int x, int y)
{
int boxcol=0;
char *s;
@@ -927,7 +897,7 @@ static void printregel(SpaceFile *sfile, struct direntry *files, int x, int y)
boxcol= files->flags & (HILITE + ACTIVE);
if(boxcol) {
- regelrect(boxcol, x, y);
+ linerect(boxcol, x, y);
}
if(files->flags & BLENDERFILE) {
@@ -1009,9 +979,9 @@ static void printregel(SpaceFile *sfile, struct direntry *files, int x, int y)
}
-static int calc_filesel_regel(SpaceFile *sfile, int nr, int *valx, int *valy)
+static int calc_filesel_line(SpaceFile *sfile, int nr, int *valx, int *valy)
{
- /* get screen coordinate of a 'regel', dutch for line */
+ /* get screen coordinate of a line */
int val, coll;
nr-= sfile->ofs;
@@ -1074,12 +1044,12 @@ static void set_active_file(SpaceFile *sfile, int act)
glScissor(curarea->winrct.xmin, curarea->winrct.ymin, curarea->winx-12, curarea->winy);
- if( calc_filesel_regel(sfile, old, &x, &y) ) {
- regelrect(0, x, y);
- printregel(sfile, sfile->filelist+old, x, y);
+ if( calc_filesel_line(sfile, old, &x, &y) ) {
+ linerect(0, x, y);
+ print_line(sfile, sfile->filelist+old, x, y);
}
- if( calc_filesel_regel(sfile, newi, &x, &y) ) {
- printregel(sfile, sfile->filelist+newi, x, y);
+ if( calc_filesel_line(sfile, newi, &x, &y) ) {
+ print_line(sfile, sfile->filelist+newi, x, y);
}
glScissor(curarea->winrct.xmin, curarea->winrct.ymin, curarea->winx, curarea->winy);
@@ -1128,9 +1098,9 @@ static void draw_filetext(SpaceFile *sfile)
files= sfile->filelist+sfile->ofs;
for(a= sfile->ofs; a<sfile->totfile; a++, files++) {
- if( calc_filesel_regel(sfile, a, &x, &y)==0 ) break;
+ if( calc_filesel_line(sfile, a, &x, &y)==0 ) break;
- printregel(sfile, files, x, y);
+ print_line(sfile, files, x, y);
}
/* clear drawing errors, with text at the right hand side: */
@@ -1156,7 +1126,7 @@ void drawfilespace(ScrArea *sa, void *spacedata)
glClear(GL_COLOR_BUFFER_BIT);
sfile= curarea->spacedata.first;
- if(sfile->filelist==0) {
+ if(sfile->filelist==NULL) {
read_dir(sfile);
calc_file_rcts(sfile);
@@ -1329,15 +1299,13 @@ void activate_fileselect(int type, char *title, char *file, void (*func)(char *)
else if(type==FILE_LOADLIB) {
strcpy(sfile->dir, name);
if( is_a_library(sfile, temp, group) ) {
- /* to force a reload of the library-filelist */
- if(sfile->libfiledata==0) {
- freefilelist(sfile);
- }
+ /* force a reload of the library-filelist */
+ freefilelist(sfile);
}
else {
split_sfile(sfile, name);
if(sfile->libfiledata) BLO_blendhandle_close(sfile->libfiledata);
- sfile->libfiledata= 0;
+ sfile->libfiledata= NULL;
}
}
else { /* FILE_BLENDER */
@@ -1546,7 +1514,7 @@ static void filesel_execute(SpaceFile *sfile)
sfile->returnfunc((char*) (long)sfile->retval);
}
else {
- if(strncmp(sfile->title, "SAVE", 4)==0) free_filesel_spec(sfile->dir);
+ if(strncmp(sfile->title, "Save", 4)==0) free_filesel_spec(sfile->dir);
strcpy(name, sfile->dir);
strcat(name, sfile->file);