Commit: 088d32d1591c6e0e19430839c0cb083d14bb4362
Author: Bastien Montagne
Date:   Mon Jun 13 15:06:52 2016 +0200
Branches: asset-engine
https://developer.blender.org/rB088d32d1591c6e0e19430839c0cb083d14bb4362

Some minor fixes/enhancements.

Asset engines are now only selectable and used in link/append case. Makes no 
real sense to have
those in other cases (like regular file opening, or even worse when saving a 
file!).
Also allows to get back asset engine persistance accross filebrowser usage.

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

M       release/scripts/startup/bl_ui/space_filebrowser.py
M       source/blender/editors/space_file/filelist.c
M       source/blender/editors/space_file/space_file.c
M       source/blender/windowmanager/intern/wm_event_system.c

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

diff --git a/release/scripts/startup/bl_ui/space_filebrowser.py 
b/release/scripts/startup/bl_ui/space_filebrowser.py
index cd03b06..21a0863 100644
--- a/release/scripts/startup/bl_ui/space_filebrowser.py
+++ b/release/scripts/startup/bl_ui/space_filebrowser.py
@@ -28,12 +28,16 @@ class FILEBROWSER_HT_header(Header):
         layout = self.layout
 
         st = context.space_data
+        params = st.params
+        is_lib_browser = params and params.use_library_browsing
 
         layout.template_header()
+        layout.separator()
 
-        row = layout.row()
-        row.prop(st, "asset_engine_type", text="")
-        row.separator()
+        if is_lib_browser:
+            row = layout.row()
+            row.prop(st, "asset_engine_type", text="")
+            layout.separator()
 
         row = layout.row(align=True)
         row.operator("file.previous", text="", icon='BACK')
@@ -42,7 +46,7 @@ class FILEBROWSER_HT_header(Header):
         row.operator("file.refresh", text="", icon='FILE_REFRESH')
 
         layout.separator()
-        if st.asset_engine:
+        if st.asset_engine and is_lib_browser:
             draw_header = getattr(st.asset_engine, "draw_header", None)
             if draw_header:
                 draw_header(layout, context)
@@ -52,12 +56,9 @@ class FILEBROWSER_HT_header(Header):
             layout.separator()
 
             layout.operator_context = 'INVOKE_DEFAULT'
-            params = st.params
 
             # can be None when save/reload with a file selector open
             if params:
-                is_lib_browser = params.use_library_browsing
-
                 layout.prop(params, "recursion_level", text="")
 
                 layout.prop(params, "display_type", expand=True, text="")
diff --git a/source/blender/editors/space_file/filelist.c 
b/source/blender/editors/space_file/filelist.c
index 3d0270e..a36bc3e 100644
--- a/source/blender/editors/space_file/filelist.c
+++ b/source/blender/editors/space_file/filelist.c
@@ -1774,7 +1774,7 @@ static bool filelist_file_cache_block_create(FileList 
*filelist, const int start
                entry = filelist_file_create_entries_block(filelist, 
start_index, size);
 
                for (i = 0; i < size; i++, cursor++, entry = entry->next) {
-                       printf("%d, %p\n", i, entry);
+//                     printf("%d, %p\n", i, entry);
                        cache->block_entries[cursor] = entry;
                        BLI_ghash_insert(cache->uuids, entry->uuid, entry);
                }
diff --git a/source/blender/editors/space_file/space_file.c 
b/source/blender/editors/space_file/space_file.c
index 2fcfa03..9f5fffc 100644
--- a/source/blender/editors/space_file/space_file.c
+++ b/source/blender/editors/space_file/space_file.c
@@ -223,7 +223,8 @@ static void file_refresh(const bContext *C, ScrArea *sa)
        struct FSMenu *fsmenu = ED_fsmenu_get();
        AssetEngineType *aet = NULL;
 
-       if (!STREQ(sfile->asset_engine, AE_FAKE_ENGINE_ID)) {
+       if (!STREQ(sfile->asset_engine, AE_FAKE_ENGINE_ID) && (params->type == 
FILE_LOADLIB)) {
+               /* Only allow asset engine usage in 'loadlib' (i.e. 
link/append) case. */
                aet = BKE_asset_engines_find(sfile->asset_engine);
        }
 
diff --git a/source/blender/windowmanager/intern/wm_event_system.c 
b/source/blender/windowmanager/intern/wm_event_system.c
index 1e1872c..bf5afb9 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -1812,10 +1812,6 @@ static int wm_handler_fileselect_do(bContext *C, 
ListBase *handlers, wmEventHand
                        sfile = (SpaceFile *)sa->spacedata.first;
                        sfile->op = handler->op;
 
-                       /* Note: This may not be optimal, but for now always 
reset to default engine when opening a new browser.
-                        *       Otherwise, we get previous engine even when we 
want to save .blend, yuck. */
-                       BLI_strncpy(sfile->asset_engine, AE_FAKE_ENGINE_ID, 
sizeof(sfile->asset_engine));
-
                        ED_fileselect_set_params(sfile);
                                
                        action = WM_HANDLER_BREAK;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to