Revert "Fix T52839: "Copy Render Settings" doesn't work."

This reverts commit 7b2369de9e.

This fix is for changes in master, that did not happen in 2.79 release
(and were not backported to 2.79a either), so should never have been
committed in that branch, my bad.
This commit is contained in:
Bastien Montagne 2018-01-31 12:54:17 +01:00
parent cf60d1ad47
commit 1118da4c30
Notes: blender-bot 2023-02-14 19:35:24 +01:00
Referenced by issue #53948, Addon Copy-settings
Referenced by issue #52839, "Copy Render Settings" doesn't work
3 changed files with 51 additions and 80 deletions

View File

@ -21,8 +21,8 @@
bl_info = {
"name": "Copy Settings",
"author": "Bastien Montagne",
"version": (0, 1, 7),
"blender": (2, 79, 1),
"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.",
@ -34,14 +34,12 @@ 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,
@ -50,17 +48,59 @@ else:
import bpy
from bpy.props import (
StringProperty,
BoolProperty,
IntProperty,
CollectionProperty,
PointerProperty,
)
########################################################################################################################
# Global properties for the script, for UI (as theres no way to let them in the operator…).
########################################################################################################################
classes = data.classes + operator.classes + panel.classes
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
def register():
for cls in classes:
bpy.utils.register_class(cls)
bpy.types.Scene.render_copy_settings = PointerProperty(type=data.RenderCopySettingsData)
bpy.types.Scene.render_copy_settings = PointerProperty(type=RenderCopySettingsData)
bpy.app.translations.register(__name__, translations.translations_dict)

View File

@ -1,68 +0,0 @@
# ##### BEGIN GPL LICENSE BLOCK #####
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ##### END GPL LICENSE BLOCK #####
# <pep8 compliant>
import bpy
from bpy.props import (
StringProperty,
BoolProperty,
IntProperty,
CollectionProperty,
)
########################################################################################################################
# Global properties for the script, for UI (as theres 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,
)

View File

@ -20,24 +20,23 @@
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, (data_types.RenderCopySettingsScene, data_types.RenderCopySettingsDataSetting)))
#assert(isinstance(item, (bpy.types.RenderCopySettingsScene, bpy.types.RenderCopySettingsDataSetting)))
if self.layout_type in {'DEFAULT', 'COMPACT'}:
if isinstance(item, data_types.RenderCopySettingsDataSetting):
if isinstance(item, bpy.types.RenderCopySettingsDataSetting):
layout.label(item.name, icon_value=icon)
layout.prop(item, "copy", text="")
else: #elif isinstance(item, data_types.RenderCopySettingsDataScene):
else: #elif isinstance(item, bpy.types.RenderCopySettingsDataScene):
layout.prop(item, "allowed", text=item.name, toggle=True)
elif self.layout_type in {'GRID'}:
layout.alignment = 'CENTER'
if isinstance(item, data_types.RenderCopySettingsDataSetting):
if isinstance(item, bpy.types.RenderCopySettingsDataSetting):
layout.label(item.name, icon_value=icon)
layout.prop(item, "copy", text="")
else: #elif isinstance(item, data_types.RenderCopySettingsDataScene):
else: #elif isinstance(item, bpy.types.RenderCopySettingsDataScene):
layout.prop(item, "allowed", text=item.name, toggle=True)