Commit: 8124e69a91909d72f28de465f87c8901d94d36bf Author: Bastien Montagne Date: Wed Apr 15 16:40:52 2015 +0200 Branches: asset-experiments https://developer.blender.org/rB8124e69a91909d72f28de465f87c8901d94d36bf
Backport some changes from asset-engine branch: * uuids as int[4] instead of char[16]; * move use_library_browsing to params instead of spacefile. =================================================================== M release/scripts/startup/bl_ui/space_filebrowser.py M source/blender/editors/space_file/filelist.c M source/blender/editors/space_file/filelist.h M source/blender/editors/space_file/filesel.c M source/blender/makesdna/DNA_space_types.h M source/blender/makesrna/intern/rna_space.c =================================================================== diff --git a/release/scripts/startup/bl_ui/space_filebrowser.py b/release/scripts/startup/bl_ui/space_filebrowser.py index cc13419..78a2def 100644 --- a/release/scripts/startup/bl_ui/space_filebrowser.py +++ b/release/scripts/startup/bl_ui/space_filebrowser.py @@ -26,11 +26,8 @@ class FILEBROWSER_HT_header(Header): def draw(self, context): layout = self.layout - st = context.space_data - is_lib_browser = st.use_library_browsing - layout.template_header() row = layout.row() @@ -54,6 +51,8 @@ class FILEBROWSER_HT_header(Header): # can be None when save/reload with a file selector open if params: + is_lib_browser = params.use_library_browsing + layout.prop(params, "display_type", expand=True, text="") layout.prop(params, "sort_method", expand=True, text="") diff --git a/source/blender/editors/space_file/filelist.c b/source/blender/editors/space_file/filelist.c index f675c96..cd02567 100644 --- a/source/blender/editors/space_file/filelist.c +++ b/source/blender/editors/space_file/filelist.c @@ -1172,7 +1172,7 @@ static void filelist_cache_init(FileListEntryCache *cache) cache->misc_cursor = 0; /* XXX This assumes uint is 32 bits and uuid is 128 bits (char[16]), be careful! */ - cache->uuids = BLI_ghash_new_ex(BLI_ghashutil_uinthash_v4, BLI_ghashutil_uinthash_v4_cmp, + cache->uuids = BLI_ghash_new_ex(BLI_ghashutil_uinthash_v4_p, BLI_ghashutil_uinthash_v4_cmp, __func__, FILELIST_ENTRYCACHESIZE * 2); } @@ -1484,7 +1484,7 @@ int filelist_file_findpath(struct FileList *filelist, const char *filename) return -1; } -FileDirEntry *filelist_entry_find_uuid(struct FileList *filelist, const char uuid[ASSET_UUID_LENGTH]) +FileDirEntry *filelist_entry_find_uuid(struct FileList *filelist, const int uuid[4]) { if (filelist->filelist.nbr_entries_filtered < 0) { return NULL; diff --git a/source/blender/editors/space_file/filelist.h b/source/blender/editors/space_file/filelist.h index e76616b..5d025fe 100644 --- a/source/blender/editors/space_file/filelist.h +++ b/source/blender/editors/space_file/filelist.h @@ -92,7 +92,7 @@ int filelist_empty(struct FileList *filelist); int filelist_numfiles(struct FileList *filelist); FileDirEntry * filelist_file(struct FileList *filelist, int index); int filelist_file_findpath(struct FileList *filelist, const char *file); -FileDirEntry * filelist_entry_find_uuid(struct FileList *filelist, const char uuid[ASSET_UUID_LENGTH]); +FileDirEntry * filelist_entry_find_uuid(struct FileList *filelist, const int uuid[4]); bool filelist_file_cache_block(struct FileList *filelist, const int index); bool filelist_force_reset(struct FileList *filelist); diff --git a/source/blender/editors/space_file/filesel.c b/source/blender/editors/space_file/filesel.c index d665542..83d26c0 100644 --- a/source/blender/editors/space_file/filesel.c +++ b/source/blender/editors/space_file/filesel.c @@ -483,13 +483,14 @@ float file_font_pointsize(void) static void column_widths(struct FileList *files, struct FileLayout *layout) { int i; - int numfiles = filelist_numfiles(files); for (i = 0; i < MAX_FILE_COLUMN; ++i) { layout->column_widths[i] = 0; } #if 0 + { + int numfiles = filelist_numfiles(files); for (i = 0; (i < numfiles); ++i) { FileDirEntry *file = filelist_file(files, i); if (file) { @@ -512,7 +513,9 @@ static void column_widths(struct FileList *files, struct FileLayout *layout) if (len > layout->column_widths[COLUMN_OWNER]) layout->column_widths[COLUMN_OWNER] = len; } } + } #else + UNUSED_VARS(files); { /* Biggest possible reasonable values... * TODO: better ways to get those! */ diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h index 425eb69..d5c4ad5 100644 --- a/source/blender/makesdna/DNA_space_types.h +++ b/source/blender/makesdna/DNA_space_types.h @@ -743,14 +743,15 @@ typedef enum eDirEntry_SelectFlag { /* ***** Related to file browser, but never saved in DNA, only here to help with RNA. ***** */ -/* Be careful, we assume uuid is 128 bits (char[16]) in a few places, like uuids ghash in filecache of filebrowser. */ +/* Be careful, we assume uuid is 128 bits (char[16]) in a few places, like uuids ghash in filecache of filebrowser, + * or current int_32[4] representation in RNA... */ #define ASSET_UUID_LENGTH 16 /* Used to communicate with asset engines outside of 'import' context. */ typedef struct AssetUUID { - char uuid_asset[16]; /* ASSET_UUID_LENGTH */ - char uuid_variant[16]; /* ASSET_UUID_LENGTH */ - char uuid_revision[16]; /* ASSET_UUID_LENGTH */ + int uuid_asset[4]; + int uuid_variant[4]; + int uuid_revision[4]; } AssetUUID; typedef struct AssetUUIDList { @@ -766,7 +767,7 @@ typedef struct FileDirEntryRevision { * asset/variant/version (concatenating the three into a single 72 bytes one). * Handled as bytes, **but** NULL-terminated (because of RNA). */ - char uuid[16]; /* ASSET_UUID_LENGTH */ + int uuid[4]; char *comment; @@ -793,7 +794,7 @@ typedef struct FileDirEntryVariant { * asset/variant/version (concatenating the three into a single 72 bytes one). * Handled as bytes, **but** NULL-terminated (because of RNA). */ - char uuid[16]; /* ASSET_UUID_LENGTH */ + int uuid[4]; char *name; char *description; @@ -811,7 +812,7 @@ typedef struct FileDirEntry { * asset/variant/version (concatenating the three into a single 72 bytes one). * Handled as bytes, **but** NULL-terminated (because of RNA). */ - char uuid[16]; /* ASSET_UUID_LENGTH */ + int uuid[4]; char *name; char *description; diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index 7387eee..7cba2d7 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -1472,15 +1472,15 @@ static void rna_SpaceClipEditor_view_type_update(Main *UNUSED(bmain), Scene *UNU ED_area_tag_refresh(sa); } -static int rna_SpaceFileBrowser_use_lib_get(PointerRNA *ptr) +/* File browser. */ + +static int rna_FileSelectParams_use_lib_get(PointerRNA *ptr) { - SpaceFile *sf = ptr->data; + FileSelectParams *params = ptr->data; - return sf->params && (sf->params->type == FILE_LOADLIB); + return params && (params->type == FILE_LOADLIB); } -/* File browser. */ - static void rna_FileBrowser_FSMenuEntry_path_get(PointerRNA *ptr, char *value) { char *path = ED_fsmenu_entry_get_path(ptr->data); @@ -3650,33 +3650,33 @@ static void rna_def_fileselect_params(BlenderRNA *brna) }; static EnumPropertyItem file_filter_idtypes_items[] = { - {FILTER_ID_AC, "FILTER_ID_AC", ICON_ANIM_DATA, "Actions", "Show/hide Action datablocks"}, - {FILTER_ID_AR, "FILTER_ID_AR", ICON_ARMATURE_DATA, "Armatures", "Show/hide Armature datablocks"}, - {FILTER_ID_BR, "FILTER_ID_BR", ICON_BRUSH_DATA, "Brushes", "Show/hide Brushe datablocks"}, - {FILTER_ID_CA, "FILTER_ID_CA", ICON_CAMERA_DATA, "Cameras", "Show/hide Camera datablocks"}, - {FILTER_ID_CU, "FILTER_ID_CU", ICON_CURVE_DATA, "Curves", "Show/hide Curve datablocks"}, - {FILTER_ID_GD, "FILTER_ID_GD", ICON_GREASEPENCIL, "Grease Pencil", "Show/hide Grease pencil datablocks"}, - {FILTER_ID_GR, "FILTER_ID_GR", ICON_GROUP, "Groups", "Show/hide Group datablocks"}, - {FILTER_ID_IM, "FILTER_ID_IM", ICON_IMAGE_DATA, "Images", "Show/hide Image datablocks"}, - {FILTER_ID_LA, "FILTER_ID_LA", ICON_LAMP_DATA, "Lamps", "Show/hide Lamp datablocks"}, - {FILTER_ID_LS, "FILTER_ID_LS", ICON_LINE_DATA, "Freestyle Linestyles", "Show/hide Freestyle's Line Style datablocks"}, - {FILTER_ID_LT, "FILTER_ID_LT", ICON_LATTICE_DATA, "Lattices", "Show/hide Lattice datablocks"}, - {FILTER_ID_MA, "FILTER_ID_MA", ICON_MATERIAL_DATA, "Materials", "Show/hide Material datablocks"}, - {FILTER_ID_MB, "FILTER_ID_MB", ICON_META_DATA, "Metaballs", "Show/hide Mateball datablocks"}, - {FILTER_ID_MC, "FILTER_ID_MC", ICON_CLIP, "Movie Clips", "Show/hide Movie Clip datablocks"}, - {FILTER_ID_ME, "FILTER_ID_ME", ICON_MESH_DATA, "Meshes", "Show/hide Mesh datablocks"}, - {FILTER_ID_MSK, "FILTER_ID_MSK", ICON_MOD_MASK, "Masks", "Show/hide Mask datablocks"}, - {FILTER_ID_NT, "FILTER_ID_NT", ICON_NODETREE, "Node Trees", "Show/hide Node Tree datablocks"}, - {FILTER_ID_OB, "FILTER_ID_OB", ICON_OBJECT_DATA, "Objects", "Show/hide Object datablocks"}, - {FILTER_ID_PAL, "FILTER_ID_PAL", ICON_COLOR, "Palettes", "Show/hide Palette datablocks"}, - {FILTER_ID_PC, "FILTER_ID_PC", ICON_CURVE_BEZCURVE, "Paint Curves", "Show/hide Paint Curve datablocks"}, - {FILTER_ID_SCE, "FILTER_ID_SCE", ICON_SCENE_DATA, "Scenes", "Show/hide Scene datablocks"}, - {FILTER_ID_SPK, "FILTER_ID_SPK", ICON_SPEAKER, "Speakers", "Show/hide Speaker datablocks"}, - {FILTER_ID_SO, "FILTER_ID_SO", ICON_SOUND, "Sounds", "Show/hide Sound datablocks"}, - {FILTER_ID_TE, "FILTER_ID_TE", ICON_TEXTURE_DATA, "Textures", "Show/hide Texture datablocks"}, - {FILTER_ID_TXT, "FILTER_ID_TXT", ICON_TEXT, "Texts", "Show/hide Text datablocks"}, - {FILTER_ID_VF, "FILTER_ID_VF", ICON_FONT_DATA, "Fonts", "Show/hide Font datablocks"}, - {FILTER_ID_WO, "FILTER_ID_WO", ICON_WORLD_DATA, "Worlds", "Show/hide World datablocks"}, + {FILTER_ID_AC, "ACTION", ICON_ANIM_DATA, "Actions", "Show/hide Action datablocks"}, + {FILTER_ID_AR, "ARMATURE", ICON_ARMATURE_DATA, "Armatures", "Show/hide Armature datablocks"}, + {FILTER_ID_BR, "BRUSH", ICON_BRUSH_DATA, "Brushes", "Show/hide Brushe datablocks"}, + {FILTER_ID_CA, "CAMERA", ICON_CAMERA_DATA, "Cameras", "Show/hide Camera datablocks"}, + {FILTER_ID_CU, "CURVE", ICON_CURVE_DATA, "Curves", "Show/hide Curve datablocks"}, + {FILTER_ID_GD, "GREASE_PENCIL", ICON_GREASEPENCIL, "Grease Pencil", "Show/hide Grease pencil datablocks"}, + {FILTER_ID_GR, "GROUP", ICON_GROUP, "Groups", "Show/hide Group datablocks"}, + {FILTER_ID_IM, "IMAGE", ICON_IMAGE_DATA, "Images", "Show/hide Image datablocks"}, + {FILTER_ID_LA, "LAMP", ICON_LAMP_DATA, "Lamps", "Show/hide Lamp datablocks"}, + {FILTER_ID_LS, "LINESTYLE", ICON_L @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs