[Bf-extensions-cvs] [267662e0] master: Fix T52839: "Copy Render Settings" doesn't work.
Bastien Montagne
noreply at git.blender.org
Wed Sep 20 12:29:51 CEST 2017
Commit: 267662e07a7377a21269be30123629006e2d49f1
Author: Bastien Montagne
Date: Wed Sep 20 12:28:38 2017 +0200
Branches: master
https://developer.blender.org/rBA267662e07a7377a21269be30123629006e2d49f1
Fix T52839: "Copy Render Settings" doesn't work.
Recent removing of registered types from bpy.types broke this, had to
twist a bit around to get it working again...
===================================================================
M render_copy_settings/__init__.py
A render_copy_settings/data.py
M render_copy_settings/panel.py
===================================================================
diff --git a/render_copy_settings/__init__.py b/render_copy_settings/__init__.py
index abd01299..5f7d8781 100644
--- a/render_copy_settings/__init__.py
+++ b/render_copy_settings/__init__.py
@@ -21,8 +21,8 @@
bl_info = {
"name": "Copy Settings",
"author": "Bastien Montagne",
- "version": (0, 1, 6),
- "blender": (2, 65, 9),
+ "version": (0, 1, 7),
+ "blender": (2, 79, 1),
"location": "Render buttons (Properties window)",
"description": "Allows to copy a selection of render settings "
"from current scene to others.",
@@ -34,12 +34,14 @@ bl_info = {
if "bpy" in locals():
import importlib
+ importlib.reload(data)
importlib.reload(operator)
importlib.reload(panel)
importlib.reload(translations)
else:
from . import (
+ data,
operator,
panel,
translations,
@@ -48,59 +50,17 @@ else:
import bpy
from bpy.props import (
- StringProperty,
- BoolProperty,
- IntProperty,
- CollectionProperty,
PointerProperty,
)
-########################################################################################################################
-# Global properties for the script, for UI (as there’s no way to let them in the operator…).
-########################################################################################################################
-class RenderCopySettingsDataScene(bpy.types.PropertyGroup):
- allowed = BoolProperty(default=True)
-
-
-class RenderCopySettingsDataSetting(bpy.types.PropertyGroup):
- strid = StringProperty(default="")
- copy = BoolProperty(default=False)
-
-
-class RenderCopySettingsData(bpy.types.PropertyGroup):
- # XXX: The consistency of this collection is delegated to the UI code.
- # It should only contain one element for each render setting.
- affected_settings = CollectionProperty(type=RenderCopySettingsDataSetting,
- name="Affected Settings",
- description="The list of all available render settings")
- # XXX Unused, but needed for template_list…
- affected_settings_idx = IntProperty()
-
- # XXX: The consistency of this collection is delegated to the UI code.
- # It should only contain one element for each scene.
- allowed_scenes = CollectionProperty(type=RenderCopySettingsDataScene,
- name="Allowed Scenes",
- description="The list all scenes in the file")
- # XXX Unused, but needed for template_list…
- allowed_scenes_idx = IntProperty()
-
- filter_scene = StringProperty(name="Filter Scene",
- description="Regex to only affect scenes which name matches it",
- default="")
-
-
-classes = (
- RenderCopySettingsDataScene,
- RenderCopySettingsDataSetting,
- RenderCopySettingsData,
-) + operator.classes + panel.classes
+classes = data.classes + operator.classes + panel.classes
def register():
for cls in classes:
bpy.utils.register_class(cls)
- bpy.types.Scene.render_copy_settings = PointerProperty(type=RenderCopySettingsData)
+ bpy.types.Scene.render_copy_settings = PointerProperty(type=data.RenderCopySettingsData)
bpy.app.translations.register(__name__, translations.translations_dict)
diff --git a/render_copy_settings/__init__.py b/render_copy_settings/data.py
similarity index 69%
copy from render_copy_settings/__init__.py
copy to render_copy_settings/data.py
index abd01299..d370d7b7 100644
--- a/render_copy_settings/__init__.py
+++ b/render_copy_settings/data.py
@@ -18,41 +18,12 @@
# <pep8 compliant>
-bl_info = {
- "name": "Copy Settings",
- "author": "Bastien Montagne",
- "version": (0, 1, 6),
- "blender": (2, 65, 9),
- "location": "Render buttons (Properties window)",
- "description": "Allows to copy a selection of render settings "
- "from current scene to others.",
- "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.6/Py/"
- "Scripts/Render/Copy Settings",
- "category": "Render",
-}
-
-
-if "bpy" in locals():
- import importlib
- importlib.reload(operator)
- importlib.reload(panel)
- importlib.reload(translations)
-
-else:
- from . import (
- operator,
- panel,
- translations,
- )
-
-
import bpy
from bpy.props import (
StringProperty,
BoolProperty,
IntProperty,
CollectionProperty,
- PointerProperty,
)
########################################################################################################################
@@ -94,24 +65,4 @@ classes = (
RenderCopySettingsDataScene,
RenderCopySettingsDataSetting,
RenderCopySettingsData,
-) + operator.classes + panel.classes
-
-
-def register():
- for cls in classes:
- bpy.utils.register_class(cls)
- bpy.types.Scene.render_copy_settings = PointerProperty(type=RenderCopySettingsData)
-
- bpy.app.translations.register(__name__, translations.translations_dict)
-
-
-def unregister():
- bpy.app.translations.unregister(__name__)
-
- del bpy.types.Scene.render_copy_settings
- for cls in classes:
- bpy.utils.unregister_class(cls)
-
-
-if __name__ == "__main__":
- register()
+)
diff --git a/render_copy_settings/panel.py b/render_copy_settings/panel.py
index db609a15..375e1bd3 100644
--- a/render_copy_settings/panel.py
+++ b/render_copy_settings/panel.py
@@ -20,23 +20,24 @@
import bpy
from . import presets
+from . import data as data_types
class RENDER_UL_copy_settings(bpy.types.UIList):
def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index):
- #assert(isinstance(item, (bpy.types.RenderCopySettingsScene, bpy.types.RenderCopySettingsDataSetting)))
+ #assert(isinstance(item, (data_types.RenderCopySettingsScene, data_types.RenderCopySettingsDataSetting)))
if self.layout_type in {'DEFAULT', 'COMPACT'}:
- if isinstance(item, bpy.types.RenderCopySettingsDataSetting):
+ if isinstance(item, data_types.RenderCopySettingsDataSetting):
layout.label(item.name, icon_value=icon)
layout.prop(item, "copy", text="")
- else: #elif isinstance(item, bpy.types.RenderCopySettingsDataScene):
+ else: #elif isinstance(item, data_types.RenderCopySettingsDataScene):
layout.prop(item, "allowed", text=item.name, toggle=True)
elif self.layout_type in {'GRID'}:
layout.alignment = 'CENTER'
- if isinstance(item, bpy.types.RenderCopySettingsDataSetting):
+ if isinstance(item, data_types.RenderCopySettingsDataSetting):
layout.label(item.name, icon_value=icon)
layout.prop(item, "copy", text="")
- else: #elif isinstance(item, bpy.types.RenderCopySettingsDataScene):
+ else: #elif isinstance(item, data_types.RenderCopySettingsDataScene):
layout.prop(item, "allowed", text=item.name, toggle=True)
More information about the Bf-extensions-cvs
mailing list