[Bf-blender-cvs] [1dd14de] ui-preview-buttons: Move reload() to ImagePreview method.
Campbell Barton
noreply at git.blender.org
Mon May 11 05:12:33 CEST 2015
Commit: 1dd14dedb9ef0bdc030f160941e3c89fcf8ed4cc
Author: Campbell Barton
Date: Mon May 11 13:12:06 2015 +1000
Branches: ui-preview-buttons
https://developer.blender.org/rB1dd14dedb9ef0bdc030f160941e3c89fcf8ed4cc
Move reload() to ImagePreview method.
===================================================================
M release/scripts/modules/bpy/utils/previews.py
M source/blender/makesrna/intern/rna_ID.c
===================================================================
diff --git a/release/scripts/modules/bpy/utils/previews.py b/release/scripts/modules/bpy/utils/previews.py
index ac4c999..f64c3ca 100644
--- a/release/scripts/modules/bpy/utils/previews.py
+++ b/release/scripts/modules/bpy/utils/previews.py
@@ -46,7 +46,7 @@ class _BPyImagePreviewCollection(dict):
# Internal notes:
# - keys in the dict are stored by name
- # - values are instances of bpy.types.Preview
+ # - values are instances of bpy.types.ImagePreview
# - Blender's internal 'PreviewImage' struct uses 'self._uuid' prefix.
def __init__(self):
@@ -83,14 +83,6 @@ class _BPyImagePreviewCollection(dict):
return p
load.__doc__ = _previews.load.__doc__
- def reload(self, name, path, path_type):
- p = self.get(name)
- if p in None:
- raise KeyException("key %r doesn't exist")
- p = self[name] = _previews.load(
- self._gen_key(name), path, path_type, True)
- return p
-
def release(self, name):
p = self.pop(name, None)
if p is not None:
diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c
index 1527298..764efca 100644
--- a/source/blender/makesrna/intern/rna_ID.c
+++ b/source/blender/makesrna/intern/rna_ID.c
@@ -577,6 +577,12 @@ static int rna_ImagePreview_icon_id_get(PointerRNA *ptr)
/* Using a callback here allows us to only generate icon matching that preview when icon_id is requested. */
return BKE_icon_preview_get((PreviewImage *)(ptr->data));
}
+static void rna_ImagePreview_icon_reload(PreviewImage *prv)
+{
+ /* will lazy load on next use */
+ BKE_previewimg_clear(prv);
+}
+
#else
static void rna_def_ID_properties(BlenderRNA *brna)
@@ -698,6 +704,7 @@ static void rna_def_ID_materials(BlenderRNA *brna)
static void rna_def_image_preview(BlenderRNA *brna)
{
StructRNA *srna;
+ FunctionRNA *func;
PropertyRNA *prop;
srna = RNA_def_struct(brna, "ImagePreview", NULL);
@@ -745,6 +752,9 @@ static void rna_def_image_preview(BlenderRNA *brna)
"Unique integer identifying this preview as an icon (zero means invalid)", INT_MIN, INT_MAX);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_int_funcs(prop, "rna_ImagePreview_icon_id_get", NULL, NULL);
+
+ func = RNA_def_function(srna, "reload", "rna_ImagePreview_icon_reload");
+ RNA_def_function_ui_description(func, "Reload the preview from its source path");
}
static void rna_def_ID(BlenderRNA *brna)
More information about the Bf-blender-cvs
mailing list