[Bf-extensions-cvs] [15b25a42] master: Remove experimental 2012 keymap
Campbell Barton
noreply at git.blender.org
Fri Jun 29 08:31:22 CEST 2018
Commit: 15b25a42783d1e516b5298d70b582fae2559ae17
Author: Campbell Barton
Date: Fri Jun 29 08:28:36 2018 +0200
Branches: master
https://developer.blender.org/rBAC15b25a42783d1e516b5298d70b582fae2559ae17
Remove experimental 2012 keymap
Did not get significant maintenance/development in a long time.
===================================================================
D presets/keyconfig/blender_2012_experimental.py
===================================================================
diff --git a/presets/keyconfig/blender_2012_experimental.py b/presets/keyconfig/blender_2012_experimental.py
deleted file mode 100644
index 835a0f93..00000000
--- a/presets/keyconfig/blender_2012_experimental.py
+++ /dev/null
@@ -1,3002 +0,0 @@
-""" An experimental new keymap for Blender.
- Work in progress!
-"""
-
-# TODO:
-# - N-panel etc. appear to have hard-coded 'I' as "insert key" key. Make that
-# user-configurable.
-
-import bpy
-import bmesh
-
-######################
-# Misc configuration
-######################
-DEVELOPER_HOTKEYS = False # Weird hotkeys that only developers use
-
-# Left mouse-button select
-bpy.context.user_preferences.inputs.select_mouse = 'LEFT'
-
-# Basic transform keys
-TRANSLATE_KEY = 'F'
-ROTATE_KEY = 'D'
-SCALE_KEY = 'S'
-
-# Specials Menu Key
-SPECIALS_MENU_KEY = 'Q'
-
-# Keyframe setting key
-KEYFRAME_KEY = 'K'
-
-
-################################
-# Helper functions and classes
-################################
-class SetManipulator(bpy.types.Operator):
- """Set's the manipulator mode"""
- bl_idname = "view3d.manipulator_set"
- bl_label = "Set Manipulator"
- mode = bpy.props.EnumProperty(items=[("NONE", "None", ""),
- ("TRANSLATE", "Translate", ""),
- ("ROTATE", "Rotate", ""),
- ("SCALE", "Scale", "")],
- default="NONE")
-
- def execute(self, context):
- if self.mode == "NONE":
- context.space_data.show_manipulator = False
- elif self.mode == "TRANSLATE":
- context.space_data.show_manipulator = True
- context.space_data.use_manipulator_translate = True
- context.space_data.use_manipulator_rotate = False
- context.space_data.use_manipulator_scale = False
- elif self.mode == "ROTATE":
- context.space_data.show_manipulator = True
- context.space_data.use_manipulator_translate = False
- context.space_data.use_manipulator_rotate = True
- context.space_data.use_manipulator_scale = False
- elif self.mode == "SCALE":
- context.space_data.show_manipulator = True
- context.space_data.use_manipulator_translate = False
- context.space_data.use_manipulator_rotate = False
- context.space_data.use_manipulator_scale = True
-
- return {'FINISHED'}
-bpy.utils.register_class(SetManipulator)
-
-
-class ContextualTranslate(bpy.types.Operator):
- """ Either translates, or sets the manipulator type to translate,
- depending on whether the manipulator is on or not.
- """
- bl_idname = "view3d.contextual_translate"
- bl_label = "Contextual Translate"
-
- def execute(self, context):
- if context.space_data.show_manipulator:
- context.space_data.transform_manipulators = {'TRANSLATE'}
- else:
- bpy.ops.transform.translate('INVOKE_DEFAULT')
- return {'FINISHED'}
-bpy.utils.register_class(ContextualTranslate)
-
-
-class ContextualRotate(bpy.types.Operator):
- """ Either rotates, or sets the manipulator type to rotate,
- depending on whether the manipulator is on or not.
- """
- bl_idname = "view3d.contextual_rotate"
- bl_label = "Contextual Rotate"
-
- def execute(self, context):
- if context.space_data.show_manipulator:
- context.space_data.transform_manipulators = {'ROTATE'}
- else:
- bpy.ops.transform.rotate('INVOKE_DEFAULT')
- return {'FINISHED'}
-bpy.utils.register_class(ContextualRotate)
-
-
-class ContextualScale(bpy.types.Operator):
- """ Either scales, or sets the manipulator type to scale,
- depending on whether the manipulator is on or not.
- """
- bl_idname = "view3d.contextual_scale"
- bl_label = "Contextual Scale"
-
- def execute(self, context):
- if context.space_data.show_manipulator:
- context.space_data.transform_manipulators = {'SCALE'}
- else:
- bpy.ops.transform.resize('INVOKE_DEFAULT')
- return {'FINISHED'}
-bpy.utils.register_class(ContextualScale)
-
-
-class ModeSwitchMenu(bpy.types.Menu):
- """ A menu for switching between object modes.
- """
- bl_idname = "OBJECT_MT_mode_switch_menu"
- bl_label = "Switch Mode"
-
- def draw(self, context):
- layout = self.layout
- layout.operator_enum("object.mode_set", "mode")
-bpy.utils.register_class(ModeSwitchMenu)
-
-
-class TweakSelect3dview(bpy.types.Operator):
- """ Selects and translates an element in the scene.
- """
- bl_idname = "view3d.tweak_select"
- bl_label = "Tweak Select 3d View"
- bl_options = {'UNDO'}
-
- @classmethod
- def poll(cls, context):
- return True
-
- def invoke(self, context, event):
- result = bpy.ops.view3d.select('INVOKE_DEFAULT')
- if 'FINISHED' in result:
- bpy.ops.transform.translate('INVOKE_DEFAULT')
- return result
-bpy.utils.register_class(TweakSelect3dview)
-
-
-class ObjectDeleteNoConfirm(bpy.types.Operator):
- """Delete selected objects without the confirmation popup"""
- bl_idname = "object.delete_no_confirm"
- bl_label = "Delete Objects No Confirm"
- bl_options = {'UNDO'}
-
- @classmethod
- def poll(cls, context):
- return len(context.selected_objects) > 0
-
- def execute(self, context):
- bpy.ops.object.delete()
-
- return {'FINISHED'}
-bpy.utils.register_class(ObjectDeleteNoConfirm)
-
-
-class ShiftSubsurfLevel(bpy.types.Operator):
- """ Shift the viewport subsurf level of the selected objects up or
- down by the given amount. The render subsurf level is treated
- as the upper limit, to prevent the user from accidentally
- exploding their CPU and RAM usage.
- """
- bl_idname = "object.shift_subsurf_level"
- bl_label = "Shift Subdivision Level"
-
- delta = bpy.props.IntProperty(name="Delta", description="Amount to increase/decrease the subdivision level", default=1)
- new_if_missing = bpy.props.BoolProperty(name="New if Missing", description="Whether to add a new Subdivision Surface modifier if none exists", default=False)
-
- @classmethod
- def poll(cls, context):
- return context.active_object is not None
-
- def execute(self, context):
- if context.mode == 'EDIT_MESH':
- object_list = [context.active_object]
- elif context.mode == 'OBJECT':
- object_list = context.selected_objects
-
- for obj in object_list:
- # Find the last subsurf modifier in the stack
- m = None
- for mod in obj.modifiers:
- if mod.type == "SUBSURF":
- m = mod
-
- # Add a subsurf modifier if necessary
- if not m and self.delta > 0:
- if self.new_if_missing:
- m = obj.modifiers.new(name="Subsurf", type='SUBSURF')
- m.levels = 0
- else:
- return {'FINISHED'}
-
- # Adjust it's subsurf level
- if m:
- if self.delta > 0:
- if (m.levels + self.delta) <= m.render_levels:
- m.levels += self.delta
- elif m.levels != m.render_levels:
- m.levels = m.render_levels
- elif self.delta < 0:
- if (m.levels + self.delta) >= 0:
- m.levels += self.delta
- elif m.levels != 0:
- m.levels = 0
- return {'FINISHED'}
-bpy.utils.register_class(ShiftSubsurfLevel)
-
-
-class SetEditMeshSelectMode(bpy.types.Operator):
- """ Set edit mesh select mode (vert, edge, face).
- """
- bl_idname = "view3d.set_edit_mesh_select_mode"
- bl_label = "Set Edit Mesh Select Mode"
- mode = bpy.props.EnumProperty(items=[("VERT", "Vertex", ""),
- ("EDGE", "Edge", ""),
- ("FACE", "Face", "")],
- default="VERT")
- toggle = bpy.props.BoolProperty(name="Toggle", default=False)
-
- @classmethod
- def poll(cls, context):
- return context.active_object is not None
-
- def execute(self, context):
- if self.mode == "VERT":
- mode = 0
- elif self.mode == "EDGE":
- mode = 1
- else: # self.mode == "FACE"
- mode = 2
-
- select_mode = context.tool_settings.mesh_select_mode
- if self.toggle:
- select_mode[mode] = [True, False][select_mode[mode]]
- else:
- select_mode[mode] = True
- for i in range(0,3):
- if i != mode:
- select_mode[i] = False
-
- return {'FINISHED'}
-bpy.utils.register_class(SetEditMeshSelectMode)
-
-
-class MeshCreateEdgeFaceContextual(bpy.types.Operator):
- """ Creates edges or faces from selected vertices,
- but understands that if it's creating an edge across
- an existing face that it should split it.
- """
- bl_idname = "mesh.create_edge_face_contextual"
- bl_label = "Create Edge/Face Contextual"
- bl_options = {'UNDO'}
-
- @classmethod
- def poll(cls, context):
- return (context.active_object is not None) and (context.mode == "EDIT_MESH")
-
- def execute(self, context):
- bm = bmesh.from_edit_mesh(context.active_object.data)
-
- # Get a list of selected vertices
- selected_verts = [v.index for v in bm.verts if v.select]
-
- # Accumulate a list of faces that the selected verts belong to,
- # and a count for each face of how many selected verts belong to
- # them.
- face_counts = {}
- for i in selected_verts:
- for f in bm.verts[i].link_faces:
- if f.index in face_counts:
- face_counts[f.index] += 1
- else:
- face_counts[f.index] = 1
-
- # Check if any face has all sel
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list