Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-05-14 08:05:19 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-05-14 08:19:50 +0300
commit1f891bbc2c329f06ca3f89ebc659a1919cc5185f (patch)
treeab16f713550b16de98b67de36f5ef6f57620e1a7 /release/scripts/startup/bl_operators
parent9c9081d9ef5bf97b39f316d68651f7e72266ac5d (diff)
Keymap: add option for tilde key preference
Since the view menu is redundant for people with a numpad, add a preference for it to switch between gizmos instead.
Diffstat (limited to 'release/scripts/startup/bl_operators')
-rw-r--r--release/scripts/startup/bl_operators/view3d.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/release/scripts/startup/bl_operators/view3d.py b/release/scripts/startup/bl_operators/view3d.py
index e1d2dda0aea..9a7d868bfc4 100644
--- a/release/scripts/startup/bl_operators/view3d.py
+++ b/release/scripts/startup/bl_operators/view3d.py
@@ -20,6 +20,10 @@
import bpy
from bpy.types import Operator
+from bpy.props import (
+ BoolProperty,
+ EnumProperty,
+)
class VIEW3D_OT_edit_mesh_extrude_individual_move(Operator):
@@ -138,8 +142,55 @@ class VIEW3D_OT_edit_mesh_extrude_shrink_fatten(Operator):
return self.execute(context)
+class VIEW3D_OT_transform_gizmo_set(Operator):
+ """Set the current transform gizmo"""
+ bl_label = "Transform Gizmo Set"
+ bl_options = {'REGISTER', 'UNDO'}
+ bl_idname = "view3d.transform_gizmo_set"
+
+ extend: BoolProperty(
+ default=False,
+ )
+ type: EnumProperty(
+ items=(
+ ('TRANSLATE', "Move", ""),
+ ('ROTATE', "Rotate", ""),
+ ('SCALE', "Scale", ""),
+ ),
+ options={'ENUM_FLAG'},
+ )
+
+ @classmethod
+ def poll(cls, context):
+ return context.area.type == 'VIEW_3D'
+
+ def execute(self, context):
+ space_data = context.space_data
+ space_data.show_gizmo = True
+ attrs = ("show_gizmo_object_translate", "show_gizmo_object_rotate", "show_gizmo_object_scale")
+ attr_t, attr_r, attr_s = attrs
+ attr_active = tuple(
+ attrs[('TRANSLATE', 'ROTATE', 'SCALE').index(t)]
+ for t in self.type
+ )
+ if self.extend:
+ for attr in attrs:
+ if attr in attr_active:
+ setattr(space_data, attr, True)
+ else:
+ for attr in attrs:
+ setattr(space_data, attr, attr in attr_active)
+ return {'FINISHED'}
+
+ def invoke(self, context, event):
+ if not self.properties.is_property_set("extend"):
+ self.extend = event.shift
+ return self.execute(context)
+
+
classes = (
VIEW3D_OT_edit_mesh_extrude_individual_move,
VIEW3D_OT_edit_mesh_extrude_move,
VIEW3D_OT_edit_mesh_extrude_shrink_fatten,
+ VIEW3D_OT_transform_gizmo_set,
)