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

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBart Crouch <bartius.crouch@gmail.com>2013-12-20 20:17:47 +0400
committerBart Crouch <bartius.crouch@gmail.com>2013-12-20 20:17:47 +0400
commit0aece1daa257bd80244ed84a8538b72db6c3b522 (patch)
tree8bcf092d8f481f00e04047cdb408fce6c4d1b52d /mesh_f2.py
parent4b7f9c6819318b772767dad19621bbbaf5827177 (diff)
New function: auto-grab
Thanks to Alexander Nedovizin for coding first version of this function.
Diffstat (limited to 'mesh_f2.py')
-rw-r--r--mesh_f2.py41
1 files changed, 29 insertions, 12 deletions
diff --git a/mesh_f2.py b/mesh_f2.py
index f602e0b5..b59a761f 100644
--- a/mesh_f2.py
+++ b/mesh_f2.py
@@ -20,9 +20,9 @@
bl_info = {
'name': "F2",
- 'author': "Bart Crouch",
- 'version': (1, 5, 0),
- 'blender': (2, 66, 3),
+ 'author': "Bart Crouch, Alexander Nedovizin",
+ 'version': (1, 6, 5),
+ 'blender': (2, 68, 0),
'location': "Editmode > F",
'warning': "",
'description': "Extends the 'Make Edge/Face' functionality",
@@ -232,6 +232,20 @@ def quad_from_vertex(bm, vert_sel, context, event):
bpy.ops.object.mode_set(mode='EDIT')
+# autograb preference in addons panel
+class F2AddonPreferences(bpy.types.AddonPreferences):
+ bl_idname = __name__
+ autograb = bpy.props.BoolProperty(
+ name = "Auto Grab",
+ description = "Automatically puts a newly created vertex in grab \
+mode",
+ default = False)
+
+ def draw(self, context):
+ layout = self.layout
+ layout.prop(self, "autograb")
+
+
class MeshF2(bpy.types.Operator):
"""Tooltip"""
bl_idname = "mesh.f2"
@@ -257,6 +271,9 @@ class MeshF2(bpy.types.Operator):
elif len(sel) == 1:
# single vertex selected -> mirror vertex and create new face
quad_from_vertex(bm, sel[0], context, event)
+ addon_prefs = context.user_preferences.addons[__name__].preferences
+ if addon_prefs.autograb:
+ bpy.ops.transform.translate('INVOKE_DEFAULT')
elif len(sel) == 2:
edges_sel = [ed for ed in bm.edges if ed.select]
if len(edges_sel) != 1:
@@ -270,7 +287,7 @@ class MeshF2(bpy.types.Operator):
# registration
-classes = [MeshF2]
+classes = [MeshF2, F2AddonPreferences]
addon_keymaps = []
@@ -283,19 +300,19 @@ def register():
km = bpy.context.window_manager.keyconfigs.addon.keymaps.new(\
name='Mesh', space_type='EMPTY')
kmi = km.keymap_items.new("mesh.f2", 'F', 'PRESS')
- addon_keymaps.append(km)
+ addon_keymaps.append((km, kmi))
def unregister():
- # remove operator
- for c in classes:
- bpy.utils.unregister_class(c)
-
# remove keymap entry
- for km in addon_keymaps:
- bpy.context.window_manager.keyconfigs.addon.keymaps.remove(km)
+ for km, kmi in addon_keymaps:
+ km.keymap_items.remove(kmi)
addon_keymaps.clear()
+
+ # remove operator and preferences
+ for c in reversed(classes):
+ bpy.utils.unregister_class(c)
if __name__ == "__main__":
- register()
+ register() \ No newline at end of file