[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28758] trunk/blender/source/blender/ editors/space_file: Disable thumbnail generation when the thumbnail view is not enabled,
Campbell Barton
ideasman42 at gmail.com
Fri May 14 09:21:29 CEST 2010
Revision: 28758
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28758
Author: campbellbarton
Date: 2010-05-14 09:21:29 +0200 (Fri, 14 May 2010)
Log Message:
-----------
Disable thumbnail generation when the thumbnail view is not enabled,
was slowing down browsing on NFS.
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_file/filelist.c
trunk/blender/source/blender/editors/space_file/filelist.h
trunk/blender/source/blender/editors/space_file/space_file.c
Modified: trunk/blender/source/blender/editors/space_file/filelist.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/filelist.c 2010-05-14 07:20:16 UTC (rev 28757)
+++ trunk/blender/source/blender/editors/space_file/filelist.c 2010-05-14 07:21:29 UTC (rev 28758)
@@ -105,6 +105,7 @@
short *stop;
short *do_update;
struct FileList* filelist;
+ FileSelectParams *params;
ReportList reports;
} ThumbnailJob;
@@ -1278,19 +1279,25 @@
tj->do_update= do_update;
while ( (*stop==0) && (limg) ) {
- if ( limg->flags & IMAGEFILE ) {
- limg->img = IMB_thumb_manage(limg->path, THB_NORMAL, THB_SOURCE_IMAGE);
- } else if ( limg->flags & MOVIEFILE ) {
- limg->img = IMB_thumb_manage(limg->path, THB_NORMAL, THB_SOURCE_MOVIE);
- if (!limg->img) {
- /* remember that file can't be loaded via IMB_open_anim */
- limg->flags &= ~MOVIEFILE;
- limg->flags |= MOVIEFILE_ICON;
- }
+ /* skip if thumbnail view is not enabled, makes network filesystems browse faster */
+ if(tj->params->display != FILE_IMGDISPLAY) {
+ PIL_sleep_ms(100); /* 10th of a sec should be enough */
}
- *do_update = 1;
- PIL_sleep_ms(10);
- limg = limg->next;
+ else {
+ if ( limg->flags & IMAGEFILE ) {
+ limg->img = IMB_thumb_manage(limg->path, THB_NORMAL, THB_SOURCE_IMAGE);
+ } else if ( limg->flags & MOVIEFILE ) {
+ limg->img = IMB_thumb_manage(limg->path, THB_NORMAL, THB_SOURCE_MOVIE);
+ if (!limg->img) {
+ /* remember that file can't be loaded via IMB_open_anim */
+ limg->flags &= ~MOVIEFILE;
+ limg->flags |= MOVIEFILE_ICON;
+ }
+ }
+ *do_update = 1;
+ PIL_sleep_ms(10);
+ limg = limg->next;
+ }
}
}
@@ -1323,7 +1330,7 @@
}
-void thumbnails_start(struct FileList* filelist, const struct bContext* C)
+void thumbnails_start(struct FileList* filelist, FileSelectParams *params, const struct bContext* C)
{
wmJob *steve;
ThumbnailJob *tj;
@@ -1332,6 +1339,7 @@
/* prepare job data */
tj= MEM_callocN(sizeof(ThumbnailJob), "thumbnails\n");
tj->filelist = filelist;
+ tj->params = params;
for (idx = 0; idx < filelist->numfiles;idx++) {
if (!filelist->filelist[idx].image) {
if ( (filelist->filelist[idx].flags & IMAGEFILE) || (filelist->filelist[idx].flags & MOVIEFILE) ) {
Modified: trunk/blender/source/blender/editors/space_file/filelist.h
===================================================================
--- trunk/blender/source/blender/editors/space_file/filelist.h 2010-05-14 07:20:16 UTC (rev 28757)
+++ trunk/blender/source/blender/editors/space_file/filelist.h 2010-05-14 07:21:29 UTC (rev 28758)
@@ -85,7 +85,7 @@
int folderlist_clear_next(struct SpaceFile* sfile);
void thumbnails_stop(struct FileList* filelist, const struct bContext* C);
-void thumbnails_start(struct FileList* filelist, const struct bContext* C);
+void thumbnails_start(struct FileList* filelist, FileSelectParams *params, const struct bContext* C);
#ifdef __cplusplus
}
Modified: trunk/blender/source/blender/editors/space_file/space_file.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/space_file.c 2010-05-14 07:20:16 UTC (rev 28757)
+++ trunk/blender/source/blender/editors/space_file/space_file.c 2010-05-14 07:21:29 UTC (rev 28758)
@@ -201,13 +201,13 @@
filelist_sort(sfile->files, params->sort);
}
BLI_strncpy(params->dir, filelist_dir(sfile->files), FILE_MAX);
- thumbnails_start(sfile->files, C);
+ thumbnails_start(sfile->files, params, C);
} else {
filelist_filter(sfile->files);
if(params->sort!=FILE_SORT_NONE) {
thumbnails_stop(sfile->files, C);
filelist_sort(sfile->files, params->sort);
- thumbnails_start(sfile->files, C);
+ thumbnails_start(sfile->files, params, C);
} else {
filelist_filter(sfile->files);
}
More information about the Bf-blender-cvs
mailing list