From 356ab943736e8a2434a8ff5845873482597ba5e2 Mon Sep 17 00:00:00 2001 From: Andrea Weikert Date: Sun, 2 Sep 2007 17:25:03 +0000 Subject: == imagebrowser == Initial commit of imagebrowser in trunk. BIG COMMIT! Main changes: * completely reworked imasel space * creation and storage of the preview images for materials, textures, world and lamp * thumbnails of images and movie files when browsing in the file system * loading previews from external .blend when linking or appending * thumbnail caching according to the Thumbnail Managing Standard: http://jens.triq.net/thumbnail-spec/ * for now just kept imasel access mostly as old imgbrowser (CTRL+F4, CTRL+F1) a bit hidden still. * filtering of file types (images, movies, .blend, py,...) * preliminary managing of bookmarks ('B' button to add, XKEY while bookmark active to delete) More detailed info which will be updated here: http://wiki.blender.org/index.php/User:Elubie/PreviewImageBrowser Places that need special review (and probably fixes): * BLO_blendhandle_get_previews in readblenentry * readfile.c: do_version and refactorings of do_library_append * UI integration TODO and known issues still: * Accented characters do not display correctly with international fonts * Crash was reported when browsing in directory with movie files * Bookmark management still needs some UI work (second scrollbar?), feedback here is welcome! Credits: Samir Bharadwaj (samirbharadwaj@yahoo.com) for the icon images. Many thanks to everyone who gave feedback and helped so far! --- source/blender/blenkernel/intern/world.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'source/blender/blenkernel/intern/world.c') diff --git a/source/blender/blenkernel/intern/world.c b/source/blender/blenkernel/intern/world.c index 612c095aac7..ce41720cb9d 100644 --- a/source/blender/blenkernel/intern/world.c +++ b/source/blender/blenkernel/intern/world.c @@ -75,6 +75,8 @@ void free_world(World *wrld) if(mtex && mtex->tex) mtex->tex->id.us--; if(mtex) MEM_freeN(mtex); } + BKE_previewimg_free(&wrld->preview); + wrld->ipo= 0; BKE_icon_delete((struct ID*)wrld); wrld->id.icon_id = 0; @@ -102,7 +104,8 @@ World *add_world(char *name) wrld->aobias= 0.05; wrld->physicsEngine= WOPHY_BULLET;//WOPHY_SUMO; Bullet by default - + wrld->preview = NULL; + return wrld; } @@ -121,6 +124,8 @@ World *copy_world(World *wrld) } } + if (wrld->preview) wrldn->preview = BKE_previewimg_copy(wrld->preview); + BPY_copy_scriptlink(&wrld->scriptlink); id_us_plus((ID *)wrldn->ipo); -- cgit v1.2.3