[Bf-blender-cvs] [98c0c32769a] filebrowser_redesign: Correction to prev. commit: Avoid multiple specific file format types

Julian Eisel noreply at git.blender.org
Mon Aug 12 00:58:29 CEST 2019


Commit: 98c0c32769a02b8c16ecebc58ec8067a52f58b67
Author: Julian Eisel
Date:   Mon Aug 12 00:54:30 2019 +0200
Branches: filebrowser_redesign
https://developer.blender.org/rB98c0c32769a02b8c16ecebc58ec8067a52f58b67

Correction to prev. commit: Avoid multiple specific file format types

Use a single generic `FILE_TYPE_OBJECT_IO` instead of specific ones
(e.g. `FILE_TYPE_FBX`). We better leave as many bits free as we can
(this is stored in files).

===================================================================

M	source/blender/editors/space_file/filelist.c
M	source/blender/makesdna/DNA_space_types.h

===================================================================

diff --git a/source/blender/editors/space_file/filelist.c b/source/blender/editors/space_file/filelist.c
index 6cd481343eb..85f289121af 100644
--- a/source/blender/editors/space_file/filelist.c
+++ b/source/blender/editors/space_file/filelist.c
@@ -985,19 +985,10 @@ static int filelist_geticon_ex(const int typeflag,
   else if (typeflag & FILE_TYPE_COLLADA) {
     return ICON_FILE_3D;
   }
-  else if (typeflag & FILE_TYPE_OBJ) {
-    return ICON_FILE_3D;
-  }
-  else if (typeflag & FILE_TYPE_FBX) {
-    return ICON_FILE_3D;
-  }
-  else if (typeflag & FILE_TYPE_3DS) {
-    return ICON_FILE_3D;
-  }
-  else if (typeflag & FILE_TYPE_GLTF) {
+  else if (typeflag & FILE_TYPE_ALEMBIC) {
     return ICON_FILE_3D;
   }
-  else if (typeflag & FILE_TYPE_ALEMBIC) {
+  else if (typeflag & FILE_TYPE_OBJECT_IO) {
     return ICON_FILE_3D;
   }
   else if (typeflag & FILE_TYPE_TEXT) {
@@ -1237,7 +1228,8 @@ static void filelist_cache_previews_clear(FileListEntryCache *cache)
     BLI_task_pool_cancel(cache->previews_pool);
 
     while ((preview = BLI_thread_queue_pop_timeout(cache->previews_done, 0))) {
-      // printf("%s: DONE %d - %s - %p\n", __func__, preview->index, preview->path, preview->img);
+      // printf("%s: DONE %d - %s - %p\n", __func__, preview->index, preview->path,
+      // preview->img);
       if (preview->img) {
         IMB_freeImBuf(preview->img);
       }
@@ -2122,20 +2114,8 @@ int ED_path_extension_type(const char *path)
   else if (BLI_path_extension_check(path, ".abc")) {
     return FILE_TYPE_ALEMBIC;
   }
-  else if (BLI_path_extension_check(path, ".obj")) {
-    return FILE_TYPE_OBJ;
-  }
-  else if (BLI_path_extension_check(path, ".3ds")) {
-    return FILE_TYPE_3DS;
-  }
-  else if (BLI_path_extension_check(path, ".fbx")) {
-    return FILE_TYPE_FBX;
-  }
-  else if (BLI_path_extension_check(path, ".glb")) {
-    return FILE_TYPE_GLTF;
-  }
-  else if (BLI_path_extension_check(path, ".gltf")) {
-    return FILE_TYPE_GLTF;
+  else if (BLI_path_extension_check_n(path, ".obj", ".3ds", ".fbx", ".glb", "gltf", NULL)) {
+    return FILE_TYPE_OBJECT_IO;
   }
   else if (BLI_path_extension_check_array(path, imb_ext_image)) {
     return FILE_TYPE_IMAGE;
@@ -2186,16 +2166,8 @@ int ED_file_extension_icon(const char *path)
     case FILE_TYPE_BTX:
       return ICON_FILE_BLANK;
     case FILE_TYPE_COLLADA:
-      return ICON_FILE_3D;
     case FILE_TYPE_ALEMBIC:
-      return ICON_FILE_3D;
-    case FILE_TYPE_3DS:
-      return ICON_FILE_3D;
-    case FILE_TYPE_OBJ:
-      return ICON_FILE_3D;
-    case FILE_TYPE_GLTF:
-      return ICON_FILE_3D;
-    case FILE_TYPE_FBX:
+    case FILE_TYPE_OBJECT_IO:
       return ICON_FILE_3D;
     case FILE_TYPE_TEXT:
       return ICON_FILE_TEXT;
diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h
index 3e02a8a647d..41fc2244cce 100644
--- a/source/blender/makesdna/DNA_space_types.h
+++ b/source/blender/makesdna/DNA_space_types.h
@@ -826,10 +826,8 @@ typedef enum eFileSel_File_Types {
   FILE_TYPE_OPERATOR = (1 << 14),
   FILE_TYPE_APPLICATIONBUNDLE = (1 << 15),
   FILE_TYPE_ALEMBIC = (1 << 16),
-  FILE_TYPE_OBJ = (1 << 17),
-  FILE_TYPE_3DS = (1 << 18),
-  FILE_TYPE_FBX = (1 << 19),
-  FILE_TYPE_GLTF = (1 << 20),
+  /** For all kinds of recognized import/export formats. No need for specialized types. */
+  FILE_TYPE_OBJECT_IO = (1 << 17),
 
   /** An FS directory (i.e. S_ISDIR on its path is true). */
   FILE_TYPE_DIR = (1 << 30),



More information about the Bf-blender-cvs mailing list