LibOverride: PointCache: Add UI feedback about need to enable Disk Cache.

Note that I chose to modify the label of the main `Bake` button instead
of adding an extra label line, as that would disturb the UI in a
annoying way.
This commit is contained in:
Bastien Montagne 2020-11-17 21:33:28 +01:00
parent df2bf164c7
commit 9b20bbc3bf
2 changed files with 9 additions and 1 deletions

View File

@ -126,6 +126,7 @@ def point_cache_ui(self, cache, enabled, cachetype):
layout.context_pointer_set("point_cache", cache)
is_saved = bpy.data.is_saved
is_liboverride = cache.id_data.override_library is not None
# NOTE: TODO temporarily used until the animate properties are properly skipped.
layout.use_property_decorate = False # No animation (remove this later on).
@ -221,7 +222,9 @@ def point_cache_ui(self, cache, enabled, cachetype):
col = flow.column()
col.active = can_bake
if cache.is_baked is True:
if is_liboverride and not cache.use_disk_cache:
col.operator("ptcache.bake", icon='ERROR', text="Bake (Disk Cache mandatory)")
elif cache.is_baked is True:
col.operator("ptcache.free_bake", text="Delete Bake")
else:
col.operator("ptcache.bake", text="Bake").bake = True

View File

@ -66,10 +66,13 @@ static bool ptcache_poll(bContext *C)
}
if (ID_IS_OVERRIDE_LIBRARY_REAL(id) && (point_cache->flag & PTCACHE_DISK_CACHE) == false) {
CTX_wm_operator_poll_msg_set(C,
"Library override data-blocks only support Disk Cache storage");
return false;
}
if (ID_IS_LINKED(id) && (point_cache->flag & PTCACHE_DISK_CACHE) == false) {
CTX_wm_operator_poll_msg_set(C, "Linked data-blocks do not allow to edit caches");
return false;
}
@ -88,6 +91,8 @@ static bool ptcache_add_remove_poll(bContext *C)
}
if (ID_IS_OVERRIDE_LIBRARY_REAL(id) || ID_IS_LINKED(id)) {
CTX_wm_operator_poll_msg_set(
C, "Linked or library override data-blocks do not allow to add or remove caches");
return false;
}