[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20637] branches/blender2.5/blender/source /blender: 2.5 filebrowser

Andrea Weikert elubie at gmx.net
Thu Jun 4 22:07:06 CEST 2009


Revision: 20637
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20637
Author:   elubie
Date:     2009-06-04 22:07:06 +0200 (Thu, 04 Jun 2009)

Log Message:
-----------
2.5 filebrowser
* code cleanup: removed unused fileselect mode (type)
* brought back 'hide dot files', needs proper storing of the settings still.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/include/ED_fileselect.h
    branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c
    branches/blender2.5/blender/source/blender/editors/space_file/file_header.c
    branches/blender2.5/blender/source/blender/editors/space_file/filelist.c
    branches/blender2.5/blender/source/blender/editors/space_file/filelist.h
    branches/blender2.5/blender/source/blender/editors/space_file/filesel.c
    branches/blender2.5/blender/source/blender/editors/space_file/space_file.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_fileselect.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_fileselect.h	2009-06-04 20:05:08 UTC (rev 20636)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_fileselect.h	2009-06-04 20:07:06 UTC (rev 20637)
@@ -35,7 +35,6 @@
 #define FILE_IMGDISPLAY		3
 
 typedef struct FileSelectParams {
-	int type; /* the mode of the filebrowser, FILE_BLENDER, FILE_SPECIAL, FILE_MAIN or FILE_LOADLIB */
 	char title[24]; /* title, also used for the text of the execute button */
 	char dir[240]; /* directory */
 	char file[80]; /* file */
@@ -96,8 +95,8 @@
 
 FileSelectParams* ED_fileselect_get_params(struct SpaceFile *sfile);
 
-short ED_fileselect_set_params(struct SpaceFile *sfile, int type, const char *title, const char *path, 
-						   short flag, short display, short filter);
+short ED_fileselect_set_params(struct SpaceFile *sfile, const char *title, const char *path, 
+						   short flag, short display, short filter, short sort);
 
 void ED_fileselect_reset_params(struct SpaceFile *sfile);
 

Modified: branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c	2009-06-04 20:05:08 UTC (rev 20636)
+++ branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c	2009-06-04 20:07:06 UTC (rev 20637)
@@ -444,13 +444,11 @@
 	int colorid = 0;
 	short sx, sy;
 	int offset;
-	short type;
 	int i;
 	float sw, spos;
 
 	numfiles = filelist_numfiles(files);
-	type = filelist_gettype(files);	
-
+	
 	sx = ar->v2d.tot.xmin + layout->tile_border_x/2;
 	sy = ar->v2d.cur.ymax - layout->tile_border_y;
 

Modified: branches/blender2.5/blender/source/blender/editors/space_file/file_header.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/file_header.c	2009-06-04 20:05:08 UTC (rev 20636)
+++ branches/blender2.5/blender/source/blender/editors/space_file/file_header.c	2009-06-04 20:07:06 UTC (rev 20637)
@@ -63,6 +63,7 @@
 #define B_SORTIMASELLIST 1
 #define B_RELOADIMASELDIR 2
 #define B_FILTERIMASELDIR 3
+#define B_HIDEDOTFILES 4
 
 /* ************************ header area region *********************** */
 
@@ -88,6 +89,14 @@
 				}
 			}
 			WM_event_add_notifier(C, NC_WINDOW, NULL);
+			break;
+		case B_HIDEDOTFILES:
+			if(sfile->params) {
+				filelist_free(sfile->files);
+				filelist_hidedot(sfile->files, sfile->params->flag & FILE_HIDE_DOT);
+				WM_event_add_notifier(C, NC_WINDOW, NULL);
+			}
+			break;
 	}
 }
 
@@ -126,16 +135,15 @@
 
 	xco += 5;
 	
-	if (sfile->params->type != FILE_MAIN) {
-		uiBlockBeginAlign(block);
-		uiDefIconButS(block, ROW, B_RELOADIMASELDIR, ICON_SHORTDISPLAY,	xco+=XIC, yco, XIC,YIC, &params->display, 1.0, FILE_SHORTDISPLAY, 0, 0, "Displays short file description");
-		uiDefIconButS(block, ROW, B_RELOADIMASELDIR, ICON_LONGDISPLAY,	xco+=XIC, yco, XIC,YIC, &params->display, 1.0, FILE_LONGDISPLAY, 0, 0, "Displays long file description");
-		uiDefIconButS(block, ROW, B_RELOADIMASELDIR, ICON_IMGDISPLAY,	xco+=XIC, yco, XIC,YIC, &params->display, 1.0, FILE_IMGDISPLAY, 0, 0, "Displays files as thumbnails");
-		uiBlockEndAlign(block);
-		
-		xco+=XIC;
-	}
+	uiBlockBeginAlign(block);
+	uiDefIconButS(block, ROW, B_RELOADIMASELDIR, ICON_SHORTDISPLAY,	xco+=XIC, yco, XIC,YIC, &params->display, 1.0, FILE_SHORTDISPLAY, 0, 0, "Displays short file description");
+	uiDefIconButS(block, ROW, B_RELOADIMASELDIR, ICON_LONGDISPLAY,	xco+=XIC, yco, XIC,YIC, &params->display, 1.0, FILE_LONGDISPLAY, 0, 0, "Displays long file description");
+	uiDefIconButS(block, ROW, B_RELOADIMASELDIR, ICON_IMGDISPLAY,	xco+=XIC, yco, XIC,YIC, &params->display, 1.0, FILE_IMGDISPLAY, 0, 0, "Displays files as thumbnails");
+	uiBlockEndAlign(block);
 	
+	xco+=XIC;
+
+	
 	uiBlockBeginAlign(block);
 	uiDefIconButS(block, ROW, B_SORTIMASELLIST, ICON_SORTALPHA,	xco+=XIC, yco, XIC,YIC, &params->sort, 1.0, 0.0, 0, 0, "Sorts files alphabetically");
 	uiDefIconButS(block, ROW, B_SORTIMASELLIST, ICON_SORTBYEXT,	xco+=XIC, yco, XIC,YIC, &params->sort, 1.0, 3.0, 0, 0, "Sorts files by extension");	
@@ -144,17 +152,8 @@
 	uiBlockEndAlign(block);
 	
 	xco+=XIC;
-
-	/* replace with consistent sub-region collapsing
-	if (sfile->params->type != FILE_MAIN) {
-		uiBlockBeginAlign(block);
-		// uiDefIconButBitS(block, TOG, FILE_BOOKMARKS, B_RELOADIMASELDIR, ICON_BOOKMARKS,xco+=XIC,0,XIC,YIC, &params->flag, 0, 0, 0, 0, "Toggles Bookmarks on/off");
-		uiDefIconButO(block, TOG, "FILE_OT_bookmark_toggle", WM_OP_INVOKE_DEFAULT, ICON_BOOKMARKS, xco+XIC,yco,20,20, "Toggle Bookmarks");
-		uiBlockEndAlign(block);
-		xco+=XIC;
-	}
-	 */
-	
+	uiDefIconButBitS(block, TOG, FILE_HIDE_DOT, B_HIDEDOTFILES, ICON_GHOST,xco+=XIC,yco,XIC,YIC, &params->flag, 0, 0, 0, 0, "Hide dot files");
+	xco+=XIC;
 	uiDefIconButBitS(block, TOG, FILE_FILTER, B_FILTERIMASELDIR, ICON_FILTER,xco+=XIC,yco,XIC,YIC, &params->flag, 0, 0, 0, 0, "Filter files");
 
 	if (params->flag & FILE_FILTER) {

Modified: branches/blender2.5/blender/source/blender/editors/space_file/filelist.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/filelist.c	2009-06-04 20:05:08 UTC (rev 20636)
+++ branches/blender2.5/blender/source/blender/editors/space_file/filelist.c	2009-06-04 20:07:06 UTC (rev 20637)
@@ -113,7 +113,6 @@
 	int numfiles;
 	int numfiltered;
 	char dir[FILE_MAX];
-	short type;
 	int has_func;
 	short prv_w;
 	short prv_h;
@@ -358,12 +357,6 @@
 struct FileList*	filelist_new()
 {
 	FileList* p = MEM_callocN( sizeof(FileList), "filelist" );
-	p->filelist = 0;
-	p->numfiles = 0;
-	p->dir[0] = '\0';
-	p->type = 0;
-	p->has_func = 0;
-	p->filter = 0;
 	return p;
 }
 
@@ -373,7 +366,6 @@
 	BLI_strncpy(p->dir, filelist->dir, FILE_MAX);
 	p->filelist = NULL;
 	p->fidx = NULL;
-	p->type = filelist->type;
 
 	return p;
 }
@@ -413,6 +405,7 @@
 	filelist->filelist = 0;	
 	filelist->filter = 0;
 	filelist->numfiltered =0;
+	filelist->hide_dot =0;
 }
 
 int	filelist_numfiles(struct FileList* filelist)
@@ -510,48 +503,46 @@
 
 	if (!filelist->filelist[fidx].image)
 	{
-		if (filelist->type != FILE_MAIN)
-		{
-			if ( (filelist->filelist[fidx].flags & IMAGEFILE) || (filelist->filelist[fidx].flags & MOVIEFILE) ) {				
-				imb = IMB_thumb_read(filelist->dir, filelist->filelist[fidx].relname, THB_NORMAL);
-			} 
-			if (imb) {
-				if (imb->x > imb->y) {
-					scaledx = (float)imgwidth;
-					scaledy =  ( (float)imb->y/(float)imb->x )*imgwidth;
+
+		if ( (filelist->filelist[fidx].flags & IMAGEFILE) || (filelist->filelist[fidx].flags & MOVIEFILE) ) {				
+			imb = IMB_thumb_read(filelist->dir, filelist->filelist[fidx].relname, THB_NORMAL);
+		} 
+		if (imb) {
+			if (imb->x > imb->y) {
+				scaledx = (float)imgwidth;
+				scaledy =  ( (float)imb->y/(float)imb->x )*imgwidth;
+			}
+			else {
+				scaledy = (float)imgheight;
+				scaledx =  ( (float)imb->x/(float)imb->y )*imgheight;
+			}
+			ex = (short)scaledx;
+			ey = (short)scaledy;
+			
+			dx = imgwidth - ex;
+			dy = imgheight - ey;
+			
+			// IMB_scaleImBuf(imb, ex, ey);
+			filelist->filelist[fidx].image = imb;
+		} else {
+			/* prevent loading image twice */
+			FileImage* limg = filelist->loadimages.first;
+			short found= 0;
+			while(limg) {
+				if (limg->index == fidx) {
+					found= 1;
+					break;
 				}
-				else {
-					scaledy = (float)imgheight;
-					scaledx =  ( (float)imb->x/(float)imb->y )*imgheight;
-				}
-				ex = (short)scaledx;
-				ey = (short)scaledy;
-				
-				dx = imgwidth - ex;
-				dy = imgheight - ey;
-				
-				// IMB_scaleImBuf(imb, ex, ey);
-				filelist->filelist[fidx].image = imb;
-			} else {
-				/* prevent loading image twice */
-				FileImage* limg = filelist->loadimages.first;
-				short found= 0;
-				while(limg) {
-					if (limg->index == fidx) {
-						found= 1;
-						break;
-					}
-					limg= limg->next;
-				}
-				if (!found) {
-					FileImage* limg = MEM_callocN(sizeof(struct FileImage), "loadimage");
-					limg->index= fidx;
-					limg->lock= 0;
-					limg->filelist= filelist;
-					BLI_addtail(&filelist->loadimages, limg);
-				}
-			}		
-		}
+				limg= limg->next;
+			}
+			if (!found) {
+				FileImage* limg = MEM_callocN(sizeof(struct FileImage), "loadimage");
+				limg->index= fidx;
+				limg->lock= 0;
+				limg->filelist= filelist;
+				BLI_addtail(&filelist->loadimages, limg);
+			}
+		}		
 	}
 }
 
@@ -826,16 +817,6 @@
 	}
 }
 
-void filelist_settype(struct FileList* filelist, int type)
-{
-	filelist->type = type;
-}
-
-short filelist_gettype(struct FileList* filelist)
-{
-	return filelist->type;
-}
-
 void filelist_sort(struct FileList* filelist, short sort)
 {
 	struct direntry *file;

Modified: branches/blender2.5/blender/source/blender/editors/space_file/filelist.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/filelist.h	2009-06-04 20:05:08 UTC (rev 20636)
+++ branches/blender2.5/blender/source/blender/editors/space_file/filelist.h	2009-06-04 20:07:06 UTC (rev 20637)
@@ -70,9 +70,8 @@
 int					filelist_empty(struct FileList* filelist);
 void				filelist_parent(struct FileList* filelist);
 void				filelist_setfiletypes(struct FileList* filelist, short has_quicktime);
-void				filelist_settype(struct FileList* filelist, int type);
-short				filelist_gettype(struct FileList* filelist);
 
+
 #ifdef __cplusplus
 }
 #endif

Modified: branches/blender2.5/blender/source/blender/editors/space_file/filesel.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/filesel.c	2009-06-04 20:05:08 UTC (rev 20636)
+++ branches/blender2.5/blender/source/blender/editors/space_file/filesel.c	2009-06-04 20:07:06 UTC (rev 20637)
@@ -84,13 +84,13 @@
 FileSelectParams* ED_fileselect_get_params(struct SpaceFile *sfile)
 {
 	if (!sfile->params) {
-		ED_fileselect_set_params(sfile, FILE_UNIX, "", "/", 0, FILE_SHORTDISPLAY, 0);
+		ED_fileselect_set_params(sfile, "", "/", 0, FILE_SHORTDISPLAY, 0, FILE_SORTALPHA);
 	}
 	return sfile->params;
 }
 
-short ED_fileselect_set_params(SpaceFile *sfile, int type, const char *title, const char *path,
-							   short flag, short display, short filter)

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list