diff options
author | Julian Eisel <eiseljulian@gmail.com> | 2015-09-06 15:21:28 +0300 |
---|---|---|
committer | Julian Eisel <eiseljulian@gmail.com> | 2015-09-06 15:21:28 +0300 |
commit | ca7f2749a0c6d50a2f6d609d1289e4241c5efcb5 (patch) | |
tree | a3d3e9a99ab1306c5ad263d56aa1d3679fc841b8 /release | |
parent | 1be1136785c34ad7b1cf744c3a3c4f35838964c1 (diff) | |
parent | 14dd88e817432b5654012ebf544eecc1d07c4e1b (diff) |
Merge branch 'master' into wiggly-widgets
Diffstat (limited to 'release')
18 files changed, 366 insertions, 63 deletions
diff --git a/release/datafiles/blender_icons.svg b/release/datafiles/blender_icons.svg index 94784a73782..1923b93577a 100644 --- a/release/datafiles/blender_icons.svg +++ b/release/datafiles/blender_icons.svg @@ -30748,6 +30748,195 @@ offset="1" id="stop16000-1" /> </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient16023" + id="radialGradient16031" + cx="139" + cy="137.5" + fx="139" + fy="137.5" + r="7" + gradientTransform="matrix(1.9285714,0,0,0.5,-129.07143,68.75)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + id="linearGradient16023"> + <stop + style="stop-color:#d8d8d8;stop-opacity:1" + offset="0" + id="stop16025" /> + <stop + style="stop-color:#9a9a9a;stop-opacity:1" + offset="1" + id="stop16027" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient16023" + id="radialGradient14148" + cx="139" + cy="137.5" + fx="139" + fy="137.5" + r="7" + gradientTransform="matrix(1.9285714,0,0,0.5,-129.07143,68.75)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient16023" + id="radialGradient14156" + cx="139" + cy="137.5" + fx="139" + fy="137.5" + r="7" + gradientTransform="matrix(1.9285714,0,0,0.5,-129.07143,68.75)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient16023" + id="radialGradient14164" + cx="139" + cy="137.5" + fx="139" + fy="137.5" + r="7" + gradientTransform="matrix(1.9285714,0,0,0.5,-129.07143,68.75)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient16023" + id="radialGradient14172" + cx="139" + cy="137.5" + fx="139" + fy="137.5" + r="7" + gradientTransform="matrix(1.9285714,0,0,0.5,-129.07143,68.75)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient16023" + id="radialGradient14180" + cx="139" + cy="137.5" + fx="139" + fy="137.5" + r="7" + gradientTransform="matrix(1.9285714,0,0,0.5,-129.07143,68.75)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient15984" + id="radialGradient15990" + cx="139" + cy="137.5" + fx="139" + fy="137.5" + r="1" + gradientTransform="matrix(14.5,0,0,5.5,-1876.5,-618.75)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + id="linearGradient15984"> + <stop + style="stop-color:#ffffff;stop-opacity:1" + offset="0" + id="stop15986" /> + <stop + style="stop-color:#a8cafb;stop-opacity:1" + offset="1" + id="stop15988" /> + </linearGradient> + <radialGradient + r="7" + fy="137.5" + fx="139" + cy="137.5" + cx="139" + gradientTransform="matrix(1.9285714,0,0,0.5,-129.07143,68.75)" + gradientUnits="userSpaceOnUse" + id="radialGradient14206" + xlink:href="#linearGradient16023" + inkscape:collect="always" /> + <radialGradient + r="7" + fy="137.5" + fx="139" + cy="137.5" + cx="139" + gradientTransform="matrix(1.9285714,0,0,0.5,-129.07143,68.75)" + gradientUnits="userSpaceOnUse" + id="radialGradient14208" + xlink:href="#linearGradient16023" + inkscape:collect="always" /> + <radialGradient + r="7" + fy="137.5" + fx="139" + cy="137.5" + cx="139" + gradientTransform="matrix(1.9285714,0,0,0.5,-129.07143,68.75)" + gradientUnits="userSpaceOnUse" + id="radialGradient14210" + xlink:href="#linearGradient16023" + inkscape:collect="always" /> + <radialGradient + r="7" + fy="137.5" + fx="139" + cy="137.5" + cx="139" + gradientTransform="matrix(1.9285714,0,0,0.5,-129.07143,68.75)" + gradientUnits="userSpaceOnUse" + id="radialGradient14212" + xlink:href="#linearGradient16023" + inkscape:collect="always" /> + <radialGradient + r="7" + fy="137.5" + fx="139" + cy="137.5" + cx="139" + gradientTransform="matrix(1.9285714,0,0,0.5,-129.07143,68.75)" + gradientUnits="userSpaceOnUse" + id="radialGradient14214" + xlink:href="#linearGradient16023" + inkscape:collect="always" /> + <radialGradient + r="1" + fy="137.5" + fx="139" + cy="137.5" + cx="139" + gradientTransform="matrix(14.5,0,0,5.5,-1876.5,-618.75)" + gradientUnits="userSpaceOnUse" + id="radialGradient14216" + xlink:href="#linearGradient15984" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient16023" + id="radialGradient16945" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.9285714,0,0,0.5,-129.59176,68.75)" + cx="139" + cy="137.5" + fx="139" + fy="137.5" + r="7" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient16023" + id="radialGradient16947" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.9285714,0,0,0.5,-128.51641,68.75)" + cx="139" + cy="137.5" + fx="139" + fy="137.5" + r="7" /> </defs> <sodipodi:namedview id="base" @@ -91625,6 +91814,114 @@ style="opacity:0.51799999;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" d="m 316.57643,242.95337 c 0,0.33872 -0.26469,0.6133 -0.5912,0.6133 -0.32651,0 -0.5912,-0.27458 -0.5912,-0.6133 0,-0.33872 0.26469,-0.6133 0.5912,-0.6133 0.32651,0 0.5912,0.27458 0.5912,0.6133 z" /> </g> + <g + transform="translate(189.00803,-79.37555)" + style="display:inline;enable-background:new" + id="g14119"> + <g + id="g16949"> + <rect + style="color:#000000;fill:#272727;fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" + id="rect15992" + width="2" + height="7" + x="134.47968" + y="134" + ry="1" /> + <rect + style="color:#000000;fill:#272727;fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" + id="rect15994" + width="2" + height="7" + x="141.55502" + y="134" + ry="1" /> + <rect + ry="1" + y="136" + x="131.25" + height="3" + width="15.5" + id="rect15926" + style="color:#000000;fill:#272727;fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" /> + <rect + ry="1" + y="132.25" + x="131.25" + height="10.5" + width="2.5" + id="rect15930" + style="color:#000000;fill:#272727;fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" /> + <rect + ry="1" + y="132.25" + x="144.25" + height="10.5" + width="2.5" + id="rect15938" + style="color:#000000;fill:#272727;fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" /> + <g + id="g16016-6" + style="fill:url(#radialGradient16031);fill-opacity:1"> + <rect + style="color:#000000;fill:url(#radialGradient14206);fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" + id="rect15946" + width="1" + height="9" + x="132" + y="133" + ry="0.5" /> + <rect + style="color:#000000;fill:url(#radialGradient14208);fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" + id="rect15946-7" + width="1" + height="9" + x="145" + y="133" + ry="0.5" /> + <rect + ry="0.5" + y="137" + x="132" + height="1" + width="14" + id="rect15972" + style="color:#000000;fill:url(#radialGradient14210);fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" /> + <rect + ry="1" + y="135" + x="134.97968" + height="5" + width="1" + id="rect15996" + style="color:#000000;fill:url(#radialGradient16945);fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" /> + <rect + ry="1" + y="135" + x="142.05502" + height="5" + width="1" + id="rect15998" + style="color:#000000;fill:url(#radialGradient16947);fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" /> + </g> + <rect + style="opacity:0.51499999;color:#000000;fill:#0065ff;fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" + id="rect15974" + width="4" + height="11" + x="137" + y="132" + ry="1" /> + <rect + ry="1" + y="133" + x="138" + height="9" + width="2" + id="rect15944" + style="color:#000000;fill:url(#radialGradient14216);fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" /> + </g> + </g> </g> </g> </g> diff --git a/release/datafiles/blender_icons16/icon16_library_data_broken.dat b/release/datafiles/blender_icons16/icon16_library_data_broken.dat Binary files differindex e0ede6bc019..613fac48c21 100644 --- a/release/datafiles/blender_icons16/icon16_library_data_broken.dat +++ b/release/datafiles/blender_icons16/icon16_library_data_broken.dat diff --git a/release/datafiles/blender_icons16/icon16_snap_grid.dat b/release/datafiles/blender_icons16/icon16_snap_grid.dat Binary files differnew file mode 100644 index 00000000000..4def9b8df2e --- /dev/null +++ b/release/datafiles/blender_icons16/icon16_snap_grid.dat diff --git a/release/datafiles/blender_icons16/icon16_snap_increment.dat b/release/datafiles/blender_icons16/icon16_snap_increment.dat Binary files differindex 4def9b8df2e..5216afb6d72 100644 --- a/release/datafiles/blender_icons16/icon16_snap_increment.dat +++ b/release/datafiles/blender_icons16/icon16_snap_increment.dat diff --git a/release/datafiles/blender_icons32/icon32_library_data_broken.dat b/release/datafiles/blender_icons32/icon32_library_data_broken.dat Binary files differindex e1ec782d5f4..89702a9ff9e 100644 --- a/release/datafiles/blender_icons32/icon32_library_data_broken.dat +++ b/release/datafiles/blender_icons32/icon32_library_data_broken.dat diff --git a/release/datafiles/blender_icons32/icon32_snap_grid.dat b/release/datafiles/blender_icons32/icon32_snap_grid.dat Binary files differnew file mode 100644 index 00000000000..cc4c0efe3c4 --- /dev/null +++ b/release/datafiles/blender_icons32/icon32_snap_grid.dat diff --git a/release/datafiles/blender_icons32/icon32_snap_increment.dat b/release/datafiles/blender_icons32/icon32_snap_increment.dat Binary files differindex cc4c0efe3c4..eb88877e3ad 100644 --- a/release/datafiles/blender_icons32/icon32_snap_increment.dat +++ b/release/datafiles/blender_icons32/icon32_snap_increment.dat diff --git a/release/scripts/modules/bl_previews_utils/bl_previews_render.py b/release/scripts/modules/bl_previews_utils/bl_previews_render.py index 0ef49601c43..627a6ab2d3d 100644 --- a/release/scripts/modules/bl_previews_utils/bl_previews_render.py +++ b/release/scripts/modules/bl_previews_utils/bl_previews_render.py @@ -33,11 +33,15 @@ INTERN_PREVIEW_TYPES = {'MATERIAL', 'LAMP', 'WORLD', 'TEXTURE', 'IMAGE'} OBJECT_TYPES_RENDER = {'MESH', 'CURVE', 'SURFACE', 'META', 'FONT'} +def ids_nolib(bids): + return (bid for bid in bids if not bid.library) + + def rna_backup_gen(data, include_props=None, exclude_props=None, root=()): # only writable properties... for p in data.bl_rna.properties: pid = p.identifier - if pid in {'rna_type',}: + if pid in {'rna_type', }: continue path = root + (pid,) if include_props is not None and path not in include_props: @@ -156,15 +160,15 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern): # .blend as clean as possible! success = True - scene = bpy.data.scenes[render_context.scene] + scene = bpy.data.scenes[render_context.scene, None] try: if render_context.backup_scene is None: scene.world = None scene.camera = None if render_context.camera: - scene.objects.unlink(bpy.data.objects[render_context.camera]) + scene.objects.unlink(bpy.data.objects[render_context.camera, None]) if render_context.lamp: - scene.objects.unlink(bpy.data.objects[render_context.lamp]) + scene.objects.unlink(bpy.data.objects[render_context.lamp, None]) bpy.data.scenes.remove(scene) scene = None else: @@ -175,7 +179,7 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern): if render_context.world is not None: try: - world = bpy.data.worlds[render_context.world] + world = bpy.data.worlds[render_context.world, None] if render_context.backup_world is None: if scene is not None: scene.world = None @@ -189,39 +193,40 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern): if render_context.camera: try: - camera = bpy.data.objects[render_context.camera] + camera = bpy.data.objects[render_context.camera, None] if render_context.backup_camera is None: if scene is not None: scene.camera = None scene.objects.unlink(camera) camera.user_clear() bpy.data.objects.remove(camera) - bpy.data.cameras.remove(bpy.data.cameras[render_context.camera_data]) + bpy.data.cameras.remove(bpy.data.cameras[render_context.camera_data, None]) else: rna_backup_restore(camera, render_context.backup_camera) - rna_backup_restore(bpy.data.cameras[render_context.camera_data], render_context.backup_camera_data) + rna_backup_restore(bpy.data.cameras[render_context.camera_data, None], + render_context.backup_camera_data) except Exception as e: print("ERROR:", e) success = False if render_context.lamp: try: - lamp = bpy.data.objects[render_context.lamp] + lamp = bpy.data.objects[render_context.lamp, None] if render_context.backup_lamp is None: if scene is not None: scene.objects.unlink(lamp) lamp.user_clear() bpy.data.objects.remove(lamp) - bpy.data.lamps.remove(bpy.data.lamps[render_context.lamp_data]) + bpy.data.lamps.remove(bpy.data.lamps[render_context.lamp_data, None]) else: rna_backup_restore(lamp, render_context.backup_lamp) - rna_backup_restore(bpy.data.lamps[render_context.lamp_data], render_context.backup_lamp_data) + rna_backup_restore(bpy.data.lamps[render_context.lamp_data, None], render_context.backup_lamp_data) except Exception as e: print("ERROR:", e) success = False try: - image = bpy.data.images[render_context.image] + image = bpy.data.images[render_context.image, None] image.user_clear() bpy.data.images.remove(image) except Exception as e: @@ -232,7 +237,7 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern): def objects_render_engine_guess(obs): for obname in obs: - ob = bpy.data.objects[obname] + ob = bpy.data.objects[obname, None] for matslot in ob.material_slots: mat = matslot.material if mat and mat.use_nodes and mat.node_tree: @@ -264,7 +269,7 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern): def objects_bbox_calc(camera, objects): bbox = (Vector((1e9, 1e9, 1e9)), Vector((-1e9, -1e9, -1e9))) for obname in objects: - ob = bpy.data.objects[obname] + ob = bpy.data.objects[obname, None] object_bbox_merge(bbox, ob, camera) # Our bbox has been generated in camera local space, bring it back in world one bbox[0][:] = camera.matrix_world * bbox[0] @@ -282,10 +287,10 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern): return cos def preview_render_do(render_context, item_container, item_name, objects): - scene = bpy.data.scenes[render_context.scene] + scene = bpy.data.scenes[render_context.scene, None] if objects is not None: - camera = bpy.data.objects[render_context.camera] - lamp = bpy.data.objects[render_context.lamp] if render_context.lamp is not None else None + camera = bpy.data.objects[render_context.camera, None] + lamp = bpy.data.objects[render_context.lamp, None] if render_context.lamp is not None else None cos = objects_bbox_calc(camera, objects) loc, ortho_scale = camera.camera_fit_coords(scene, cos) camera.location = loc @@ -296,14 +301,11 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern): bpy.ops.render.render(write_still=True) - image = bpy.data.images[render_context.image] - item = getattr(bpy.data, item_container)[item_name] + image = bpy.data.images[render_context.image, None] + item = getattr(bpy.data, item_container)[item_name, None] image.reload() - # Note: we could use struct module here, but not quite sure it'd give any advantage really... - pix = tuple((round(r * 255)) + (round(g * 255) << 8) + (round(b * 255) << 16) + (round(a * 255) << 24) - for r, g, b, a in zip(*[iter(image.pixels)] * 4)) item.preview.image_size = (RENDER_PREVIEW_SIZE, RENDER_PREVIEW_SIZE) - item.preview.image_pixels = pix + item.preview.image_pixels_float[:] = image.pixels # And now, main code! do_save = True @@ -320,12 +322,12 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern): prev_scenename = bpy.context.screen.scene.name if do_objects: - prev_shown = tuple(ob.hide_render for ob in bpy.data.objects) - for ob in bpy.data.objects: + prev_shown = tuple(ob.hide_render for ob in ids_nolib(bpy.data.objects)) + for ob in ids_nolib(bpy.data.objects): if ob in objects_ignored: continue ob.hide_render = True - for root in bpy.data.objects: + for root in ids_nolib(bpy.data.objects): if root.name in objects_ignored: continue if root.type not in OBJECT_TYPES_RENDER: @@ -338,11 +340,11 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern): render_context = render_context_create(render_engine, objects_ignored) render_contexts[render_engine] = render_context - scene = bpy.data.scenes[render_context.scene] + scene = bpy.data.scenes[render_context.scene, None] bpy.context.screen.scene = scene for obname in objects: - ob = bpy.data.objects[obname] + ob = bpy.data.objects[obname, None] if obname not in scene.objects: scene.objects.link(ob) ob.hide_render = False @@ -360,17 +362,17 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern): # OverflowError: Python int too large to convert to C long # ... :( import sys - scene = bpy.data.scenes[render_context.scene] + scene = bpy.data.scenes[render_context.scene, None] for obname in objects: - ob = bpy.data.objects[obname] + ob = bpy.data.objects[obname, None] scene.objects.unlink(ob) ob.hide_render = True - for ob, is_rendered in zip(bpy.data.objects, prev_shown): + for ob, is_rendered in zip(tuple(ids_nolib(bpy.data.objects)), prev_shown): ob.hide_render = is_rendered if do_groups: - for grp in bpy.data.groups: + for grp in ids_nolib(bpy.data.groups): if grp.name in groups_ignored: continue objects = tuple(ob.name for ob in grp.objects) @@ -381,7 +383,7 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern): render_context = render_context_create(render_engine, objects_ignored) render_contexts[render_engine] = render_context - scene = bpy.data.scenes[render_context.scene] + scene = bpy.data.scenes[render_context.scene, None] bpy.context.screen.scene = scene bpy.ops.object.group_instance_add(group=grp.name) @@ -391,16 +393,16 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern): preview_render_do(render_context, 'groups', grp.name, objects) - scene = bpy.data.scenes[render_context.scene] - scene.objects.unlink(bpy.data.objects[grp_obname]) + scene = bpy.data.scenes[render_context.scene, None] + scene.objects.unlink(bpy.data.objects[grp_obname, None]) - bpy.context.screen.scene = bpy.data.scenes[prev_scenename] + bpy.context.screen.scene = bpy.data.scenes[prev_scenename, None] for render_context in render_contexts.values(): if not render_context_delete(render_context): do_save = False # Do not save file if something went wrong here, we could 'pollute' it with temp data... if do_scenes: - for scene in bpy.data.scenes: + for scene in ids_nolib(bpy.data.scenes): has_camera = scene.camera is not None bpy.context.screen.scene = scene render_context = render_context_create('__SCENE', objects_ignored) @@ -417,7 +419,7 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern): if not render_context_delete(render_context): do_save = False - bpy.context.screen.scene = bpy.data.scenes[prev_scenename] + bpy.context.screen.scene = bpy.data.scenes[prev_scenename, None] if do_save: print("Saving %s..." % bpy.data.filepath) try: @@ -435,15 +437,15 @@ def do_clear_previews(do_objects, do_groups, do_scenes, do_data_intern): bpy.ops.wm.previews_clear(id_type=INTERN_PREVIEW_TYPES) if do_objects: - for ob in bpy.data.objects: + for ob in ids_nolib(bpy.data.objects): ob.preview.image_size = (0, 0) if do_groups: - for grp in bpy.data.groups: + for grp in ids_nolib(bpy.data.groups): grp.preview.image_size = (0, 0) if do_scenes: - for scene in bpy.data.scenes: + for scene in ids_nolib(bpy.data.scenes): scene.preview.image_size = (0, 0) print("Saving %s..." % bpy.data.filepath) diff --git a/release/scripts/modules/bpy/path.py b/release/scripts/modules/bpy/path.py index b7d7d9ee694..d7c6101115d 100644 --- a/release/scripts/modules/bpy/path.py +++ b/release/scripts/modules/bpy/path.py @@ -283,22 +283,21 @@ def ensure_ext(filepath, ext, case_sensitive=False): """ Return the path with the extension added if it is not already set. - :arg ext: The extension to check for. + :arg ext: The extension to check for, can be a compound extension. Should + start with a dot, such as '.blend' or '.tar.gz'. :type ext: string :arg case_sensitive: Check for matching case when comparing extensions. :type case_sensitive: bool """ - fn_base, fn_ext = _os.path.splitext(filepath) - if fn_base and fn_ext: - if ((case_sensitive and ext == fn_ext) or - (ext.lower() == fn_ext.lower())): + if case_sensitive: + if filepath.endswith(ext): return filepath - else: - return fn_base + ext - else: - return filepath + ext + if filepath[-len(ext):].lower().endswith(ext.lower()): + return filepath + + return filepath + ext def module_names(path, recursive=False): diff --git a/release/scripts/modules/nodeitems_utils.py b/release/scripts/modules/nodeitems_utils.py index 1cc9afc78cc..be6f031217c 100644 --- a/release/scripts/modules/nodeitems_utils.py +++ b/release/scripts/modules/nodeitems_utils.py @@ -85,6 +85,7 @@ class NodeItemCustom: _node_categories = {} + def register_node_categories(identifier, cat_list): if identifier in _node_categories: raise KeyError("Node categories list '%s' already registered" % identifier) @@ -167,6 +168,7 @@ def unregister_node_categories(identifier=None): unregister_node_cat_types(cat_types) _node_categories.clear() + def draw_node_categories_menu(self, context): for cats in _node_categories.values(): cats[1](self, context) diff --git a/release/scripts/modules/progress_report.py b/release/scripts/modules/progress_report.py index 0d1f4f2bef8..578eb967fec 100644 --- a/release/scripts/modules/progress_report.py +++ b/release/scripts/modules/progress_report.py @@ -20,6 +20,7 @@ import time + class ProgressReport: """ A basic 'progress report' using either simple prints in console, or WindowManager's 'progress' API. diff --git a/release/scripts/startup/bl_operators/file.py b/release/scripts/startup/bl_operators/file.py index a6a6982e746..efcc7d5c65e 100644 --- a/release/scripts/startup/bl_operators/file.py +++ b/release/scripts/startup/bl_operators/file.py @@ -28,6 +28,7 @@ from bpy.props import ( # ########## Datablock previews... ########## + class WM_OT_previews_batch_generate(Operator): """Generate selected .blend file's previews""" bl_idname = "wm.previews_batch_generate" diff --git a/release/scripts/startup/bl_ui/properties_freestyle.py b/release/scripts/startup/bl_ui/properties_freestyle.py index f58a698d194..e0620447185 100644 --- a/release/scripts/startup/bl_ui/properties_freestyle.py +++ b/release/scripts/startup/bl_ui/properties_freestyle.py @@ -381,7 +381,6 @@ class RENDERLAYER_PT_freestyle_linestyle(RenderLayerFreestyleEditorButtonsPanel, message = "Enable Face Smoothness to use this modifier" self.draw_modifier_box_error(col.box(), modifier, message) - def draw_alpha_modifier(self, context, modifier): layout = self.layout @@ -496,7 +495,6 @@ class RENDERLAYER_PT_freestyle_linestyle(RenderLayerFreestyleEditorButtonsPanel, row.prop(modifier, "angle_min") row.prop(modifier, "angle_max") - elif modifier.type == 'CURVATURE_3D': self.draw_modifier_curve_common(box, modifier, False, False) row = box.row(align=True) @@ -510,7 +508,6 @@ class RENDERLAYER_PT_freestyle_linestyle(RenderLayerFreestyleEditorButtonsPanel, message = "Enable Face Smoothness to use this modifier" self.draw_modifier_box_error(col.box(), modifier, message) - def draw_geometry_modifier(self, context, modifier): layout = self.layout @@ -611,7 +608,6 @@ class RENDERLAYER_PT_freestyle_linestyle(RenderLayerFreestyleEditorButtonsPanel, elif modifier.type == 'SIMPLIFICATION': box.prop(modifier, "tolerance") - def draw(self, context): layout = self.layout diff --git a/release/scripts/startup/bl_ui/space_filebrowser.py b/release/scripts/startup/bl_ui/space_filebrowser.py index 0b9c8474dd9..ca695208a67 100644 --- a/release/scripts/startup/bl_ui/space_filebrowser.py +++ b/release/scripts/startup/bl_ui/space_filebrowser.py @@ -69,8 +69,8 @@ class FILEBROWSER_HT_header(Header): row.prop(params, "use_filter_folder", text="") if params.filter_glob: - #if st.active_operator and hasattr(st.active_operator, "filter_glob"): - # row.prop(params, "filter_glob", text="") + # if st.active_operator and hasattr(st.active_operator, "filter_glob"): + # row.prop(params, "filter_glob", text="") row.label(params.filter_glob) else: row.prop(params, "use_filter_blender", text="") diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py index b3fc643cc41..c3024b25282 100644 --- a/release/scripts/startup/bl_ui/space_image.py +++ b/release/scripts/startup/bl_ui/space_image.py @@ -705,7 +705,7 @@ class IMAGE_PT_tools_transform_uvs(Panel, UVToolsPanel): col.operator("transform.shear") -class IMAGE_PT_paint(Panel, BrushButtonsPanel): +class IMAGE_PT_paint(Panel, ImagePaintPanel): bl_label = "Paint" bl_category = "Tools" @@ -721,6 +721,11 @@ class IMAGE_PT_paint(Panel, BrushButtonsPanel): if brush: brush_texpaint_common(self, context, layout, brush, settings) + @classmethod + def poll(cls, context): + sima = context.space_data + toolsettings = context.tool_settings.image_paint + return sima.show_paint class IMAGE_PT_tools_brush_overlay(BrushButtonsPanel, Panel): bl_label = "Overlay" @@ -920,7 +925,7 @@ class IMAGE_PT_paint_curve(BrushButtonsPanel, Panel): row.operator("brush.curve_preset", icon='NOCURVE', text="").shape = 'MAX' -class VIEW3D_PT_tools_imagepaint_symmetry(BrushButtonsPanel, Panel): +class IMAGE_PT_tools_imagepaint_symmetry(BrushButtonsPanel, Panel): bl_category = "Tools" bl_context = "imagepaint" bl_label = "Tiling" @@ -936,7 +941,7 @@ class VIEW3D_PT_tools_imagepaint_symmetry(BrushButtonsPanel, Panel): row = col.row(align=True) row.prop(ipaint, "tile_x", text="X", toggle=True) row.prop(ipaint, "tile_y", text="Y", toggle=True) - + class IMAGE_PT_tools_brush_appearance(BrushButtonsPanel, Panel): bl_label = "Appearance" diff --git a/release/scripts/startup/bl_ui/space_time.py b/release/scripts/startup/bl_ui/space_time.py index c4c4097315c..817c28c6359 100644 --- a/release/scripts/startup/bl_ui/space_time.py +++ b/release/scripts/startup/bl_ui/space_time.py @@ -230,7 +230,7 @@ class TIME_MT_autokey(Menu): def marker_menu_generic(layout): - #layout.operator_context = 'EXEC_REGION_WIN' + # layout.operator_context = 'EXEC_REGION_WIN' layout.column() layout.operator("marker.add", "Add Marker") diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index b936e2df165..bb0ad001c34 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -1998,7 +1998,7 @@ class VIEW3D_MT_pose_group(Menu): layout.separator() - #layout.operator_context = 'INVOKE_AREA' + # layout.operator_context = 'INVOKE_AREA' layout.operator("pose.group_unassign") layout.operator("pose.group_remove") @@ -3292,7 +3292,7 @@ class VIEW3D_PT_background_image(Panel): box.template_image(bg, "image", bg.image_user, compact=True) has_bg = True - if use_multiview and bg.view_axis in {'CAMERA','ALL'}: + if use_multiview and bg.view_axis in {'CAMERA', 'ALL'}: box.prop(bg.image, "use_multiview") column = box.column() diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py index 2294e109f0c..a24dc494c30 100644 --- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py +++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py @@ -1552,7 +1552,6 @@ class VIEW3D_PT_sculpt_symmetry(Panel, View3DPaintPanel): row.prop(sculpt, "lock_y", text="Y", toggle=True) row.prop(sculpt, "lock_z", text="Z", toggle=True) - layout.label(text="Tiling:") row = layout.row(align=True) @@ -1562,6 +1561,7 @@ class VIEW3D_PT_sculpt_symmetry(Panel, View3DPaintPanel): layout.column().prop(sculpt, "tile_offset", text="Tile Offset") + class VIEW3D_PT_tools_brush_appearance(Panel, View3DPaintPanel): bl_category = "Options" bl_label = "Appearance" |