Blender Git Loki
Git Commits -> Revision f69e968
Revision f69e968 by Bastien Montagne (master) August 19, 2015, 20:41 (GMT) |
Final 'FileBrowser First Stage' merge. It basically rewrites most of filelist.c, with some more limited changes in other areas of filebrowser. From user perspective, it: * Removes some info in 'long' drawing mode (owner, permissions) - OS-specific data that do not really matter in Blender! * Makes short/long display 'fixed' size (among four choices, like thumbnails mode). * Allows to list several layers of dirtree at once, in a flat way (inside .blend files and/or real directories). * Consequently, adds datablocks types filtering. * Uses way less RAM when listing big directories, especially in thumbnail mode (we are talking of several hundred of MiB spared). * Generates thumbnails way faster. From code perspective, it: * Is ready for asset engine needs (on data structure level in filebrowser's listing). * Simplifies and makes 'generic' file listing much lighter. * Separates file listing in three different aspects: ** 'generic' filelisting (in BLI), which becomes a shallow wrapper around stat struct. ** 'filebrowser drawing' filelisting, which only contains current visible subset of the whole list (sliding window), with extra drawing data (strings for size, date/time, preview, etc.). ** 'asset-ready' filelisting, which is used for operations common to 'basic' filehandling and future asset-related one. * Uses uuid's to handle file selection/state in the browser, instead of using flags in filelisting items. * Uses much lighter BLI_task handling for previews, instead of heavy 'job' system (using the new 'notifier' timer to handle UI refresh, in similar way to jobs). * Moves .blend datablocks preview handling to IMB_thumbnail (necessary to avoid storing all datablock previews at once, and gives better consistency and performances too). Revision: https://developer.blender.org/D1316 Thanks to Campbell & Sergey for the reviews. :) |
Commit Details:
Full Hash: f69e9681fa32f6f9baafd2aa4a70427864ce6bb5
Parent Commit: 5c65957
Lines Changed: +2805, -1129
21 Modified Paths:
/release/scripts/startup/bl_ui/space_filebrowser.py (+35, -7) (Diff)
/source/blender/blenlib/BLI_fileops.h (+12, -4) (Diff)
/source/blender/blenlib/BLI_fileops_types.h (+5, -14) (Diff)
/source/blender/blenlib/intern/BLI_filelist.c (+142, -122) (Diff)
/source/blender/editors/include/ED_fileselect.h (+7, -7) (Diff)
/source/blender/editors/interface/interface_icons.c (+1, -1) (Diff)
/source/blender/editors/interface/interface_templates.c (+11, -1) (Diff)
/source/blender/editors/space_file/CMakeLists.txt (+1, -0) (Diff)
/source/blender/editors/space_file/filelist.c (+1883, -645) (Diff)
/source/blender/editors/space_file/filelist.h (+31, -17) (Diff)
/source/blender/editors/space_file/filesel.c (+37, -51) (Diff)
/source/blender/editors/space_file/file_draw.c (+114, -91) (Diff)
/source/blender/editors/space_file/file_intern.h (+2, -0) (Diff)
/source/blender/editors/space_file/file_ops.c (+99, -78) (Diff)
/source/blender/editors/space_file/SConscript (+1, -0) (Diff)
/source/blender/editors/space_file/space_file.c (+45, -24) (Diff)
/source/blender/makesdna/DNA_space_types.h (+123, -2) (Diff)
/source/blender/makesrna/intern/rna_space.c (+125, -1) (Diff)
/source/blender/windowmanager/intern/wm_operators.c (+129, -63) (Diff)
/source/blender/windowmanager/WM_api.h (+1, -1) (Diff)
/source/blender/windowmanager/WM_types.h (+1, -0) (Diff)
/source/blender/blenlib/BLI_fileops.h (+12, -4) (Diff)
/source/blender/blenlib/BLI_fileops_types.h (+5, -14) (Diff)
/source/blender/blenlib/intern/BLI_filelist.c (+142, -122) (Diff)
/source/blender/editors/include/ED_fileselect.h (+7, -7) (Diff)
/source/blender/editors/interface/interface_icons.c (+1, -1) (Diff)
/source/blender/editors/interface/interface_templates.c (+11, -1) (Diff)
/source/blender/editors/space_file/CMakeLists.txt (+1, -0) (Diff)
/source/blender/editors/space_file/filelist.c (+1883, -645) (Diff)
/source/blender/editors/space_file/filelist.h (+31, -17) (Diff)
/source/blender/editors/space_file/filesel.c (+37, -51) (Diff)
/source/blender/editors/space_file/file_draw.c (+114, -91) (Diff)
/source/blender/editors/space_file/file_intern.h (+2, -0) (Diff)
/source/blender/editors/space_file/file_ops.c (+99, -78) (Diff)
/source/blender/editors/space_file/SConscript (+1, -0) (Diff)
/source/blender/editors/space_file/space_file.c (+45, -24) (Diff)
/source/blender/makesdna/DNA_space_types.h (+123, -2) (Diff)
/source/blender/makesrna/intern/rna_space.c (+125, -1) (Diff)
/source/blender/windowmanager/intern/wm_operators.c (+129, -63) (Diff)
/source/blender/windowmanager/WM_api.h (+1, -1) (Diff)
/source/blender/windowmanager/WM_types.h (+1, -0) (Diff)