[Bf-extensions-cvs] [2d291b3] master: official pies: fix regression: now enabled on activation

meta-androcto noreply at git.blender.org
Mon Aug 29 13:26:03 CEST 2016


Commit: 2d291b3803f05a9d62742124ad149b21c99d3a2c
Author: meta-androcto
Date:   Mon Aug 29 21:25:41 2016 +1000
Branches: master
https://developer.blender.org/rBA2d291b3803f05a9d62742124ad149b21c99d3a2c

official pies: fix regression: now enabled on activation

===================================================================

M	pie_menus_official/__init__.py
M	pie_menus_official/pie_clip_marker_of.py
M	pie_menus_official/pie_manipulator_of.py
M	pie_menus_official/pie_object_modes_of.py
M	pie_menus_official/pie_pivot_of.py
M	pie_menus_official/pie_shade_of.py
M	pie_menus_official/pie_snap_of.py
M	pie_menus_official/pie_view_of.py

===================================================================

diff --git a/pie_menus_official/__init__.py b/pie_menus_official/__init__.py
index d65e3ba..3bf000e 100644
--- a/pie_menus_official/__init__.py
+++ b/pie_menus_official/__init__.py
@@ -30,7 +30,7 @@ from bpy.types import (
 bl_info = {
     'name': 'UI Pie Menu Official',
     'author': 'Antony Riakiotakis, Sebastian Koenig',
-    'version': (1, 1, 3),
+    'version': (1, 1, 4),
     'blender': (2, 7, 7),
     'description': 'Individual Pie Menu Activation List',
     'location': 'Addons Preferences',
@@ -86,11 +86,8 @@ def get_addon_preferences(name=''):
 
 
 def register_submodule(mod):
-    if not hasattr(mod, '__addon_enabled__'):
-        mod.__addon_enabled__ = False
-    if not mod.__addon_enabled__:
-        mod.register()
-        mod.__addon_enabled__ = True
+    mod.register()
+    mod.__addon_enabled__ = True
 
 
 def unregister_submodule(mod):
@@ -197,19 +194,21 @@ for mod in sub_modules:
 
     def gen_update(mod):
         def update(self, context):
-            if getattr(self, 'use_' + mod.__name__.split('.')[-1]):
-                if not mod.__addon_enabled__:
-                    register_submodule(mod)
+            enabled =  getattr(self, 'use_' + mod.__name__.split('.')[-1])
+            if enabled:
+                register_submodule(mod)
             else:
-                if mod.__addon_enabled__:
-                    unregister_submodule(mod)
+                unregister_submodule(mod)
+            mod.__addon_enabled__  = enabled
         return update
 
     prop = BoolProperty(
         name=info['name'],
         description=info.get('description', ''),
         update=gen_update(mod),
+        default=True,
     )
+
     setattr(UIToolsPreferences, 'use_' + mod_name, prop)
     prop = BoolProperty()
     setattr(UIToolsPreferences, 'show_expanded_' + mod_name, prop)
@@ -218,18 +217,22 @@ classes = (
     UIToolsPreferences,
     )
 
+def register_modules(dummy):
+    if dummy:
+        prefs = get_addon_preferences()
+        for mod in sub_modules:
+            name = mod.__name__.split('.')[-1]
+            if getattr(prefs, 'use_' + name, False):
+                register_submodule(mod)
+            else:
+                mod.__addon_enabled__ = False
+    return None
 
 def register():
     for cls in classes:
         bpy.utils.register_class(cls)
 
-    prefs = get_addon_preferences()
-    for mod in sub_modules:
-        if not hasattr(mod, '__addon_enabled__'):
-            mod.__addon_enabled__ = False
-        name = mod.__name__.split('.')[-1]
-        if getattr(prefs, 'use_' + name):
-            register_submodule(mod)
+    register_modules(True)
 
 
 def unregister():
@@ -242,5 +245,3 @@ def unregister():
 
 if __name__ == "__main__":
     register()
-
-
diff --git a/pie_menus_official/pie_clip_marker_of.py b/pie_menus_official/pie_clip_marker_of.py
index 1c303f2..924adc3 100644
--- a/pie_menus_official/pie_clip_marker_of.py
+++ b/pie_menus_official/pie_clip_marker_of.py
@@ -22,7 +22,7 @@ bl_info = {
     "name": "Clip Editor Pies: Key: 'hotkey list Below'",
     "description": "Clip Editor Pies",
 #    "author": "Antony Riakiotakis, Sebastian Koenig",
-    "version": (0, 1, 0),
+#    "version": (0, 1, 0),
     "blender": (2, 77, 0),
     "location": "Q, W, Shift W, E. Shift S, Shift A",
     "warning": "",
@@ -259,32 +259,42 @@ classes = (
 
 
 def register():
+    addon_keymaps.clear()
     for cls in classes:
         bpy.utils.register_class(cls)
 
     wm = bpy.context.window_manager
 
     if wm.keyconfigs.addon:
-        km = wm.keyconfigs.addon.keymaps.new(name='Object Non-modal')
-
+        #km = wm.keyconfigs.addon.keymaps.new(name='Object Non-modal') # WHY
+        
         km = wm.keyconfigs.addon.keymaps.new(name="Clip", space_type='CLIP_EDITOR')
+
         kmi = km.keymap_items.new("wm.call_menu_pie", 'Q', 'PRESS')
         kmi.properties.name = "CLIP_PIE_marker_pie"
+        addon_keymaps.append((km, kmi))
+
         kmi = km.keymap_items.new("wm.call_menu_pie", 'W', 'PRESS')
         kmi.properties.name = "CLIP_PIE_clipsetup_pie"
+        addon_keymaps.append((km, kmi))
+
         kmi = km.keymap_items.new("wm.call_menu_pie", 'E', 'PRESS')
         kmi.properties.name = "CLIP_PIE_tracking_pie"
+        addon_keymaps.append((km, kmi))
+
         kmi = km.keymap_items.new("wm.call_menu_pie", 'S', 'PRESS', shift=True)
         kmi.properties.name = "CLIP_PIE_solver_pie"
+        addon_keymaps.append((km, kmi))
+
         kmi = km.keymap_items.new("wm.call_menu_pie", 'W', 'PRESS', shift=True)
         kmi.properties.name = "CLIP_PIE_reconstruction_pie"
-        addon_keymaps.append(km)
+        addon_keymaps.append((km, kmi))
 
         km = wm.keyconfigs.addon.keymaps.new(name="Frames")
+
         kmi = km.keymap_items.new("wm.call_menu_pie", 'A', 'PRESS', shift=True)
         kmi.properties.name = "CLIP_PIE_timecontrol_pie"
-
-        addon_keymaps.append(km)
+        addon_keymaps.append((km, kmi))
 
 
 def unregister():
@@ -293,14 +303,12 @@ def unregister():
 
     wm = bpy.context.window_manager
 
-    if wm.keyconfigs.addon:
-        for km in addon_keymaps:
-            for kmi in km.keymap_items:
-                km.keymap_items.remove(kmi)
-
-            wm.keyconfigs.addon.keymaps.remove(km)
-
+    kc = wm.keyconfigs.addon
+    if kc:
+        for km, kmi in addon_keymaps:
+            km.keymap_items.remove(kmi)
     addon_keymaps.clear()
 
+
 if __name__ == "__main__":
     register()
diff --git a/pie_menus_official/pie_manipulator_of.py b/pie_menus_official/pie_manipulator_of.py
index 43f65d6..46479b8 100644
--- a/pie_menus_official/pie_manipulator_of.py
+++ b/pie_menus_official/pie_manipulator_of.py
@@ -2,8 +2,8 @@
 bl_info = {
     "name": "Manipulator Menu: Key: 'Ctrl Space'",
     "description": "Manipulator Modes",
-    "author": "Antony Riakiotakis, Sebastian Koenig",
-    "version": (0, 1, 0),
+#    "author": "Antony Riakiotakis, Sebastian Koenig",
+#    "version": (0, 1, 0),
     "blender": (2, 77, 0),
     "location": "Ctrl Space",
     "warning": "",
@@ -80,11 +80,9 @@ def unregister():
 
     kc = wm.keyconfigs.addon
     if kc:
-        km = kc.keymaps['Object Non-modal']
-        for kmi in km.keymap_items:
-            if kmi.idname == 'wm.call_menu_pie':
-                if kmi.properties.name == "view3d.manipulator_of":
-                    km.keymap_items.remove(kmi)
+        for km, kmi in addon_keymaps:
+            km.keymap_items.remove(kmi)
+    addon_keymaps.clear()
 
 if __name__ == "__main__":
     register()
diff --git a/pie_menus_official/pie_object_modes_of.py b/pie_menus_official/pie_object_modes_of.py
index 536bb7d..87c14ef 100644
--- a/pie_menus_official/pie_object_modes_of.py
+++ b/pie_menus_official/pie_object_modes_of.py
@@ -2,8 +2,8 @@
 bl_info = {
     "name": "Mode Set: Key: 'Tab'",
     "description": "Object Modes",
-    "author": "Antony Riakiotakis, Sebastian Koenig",
-    "version": (0, 1, 0),
+#    "author": "Antony Riakiotakis, Sebastian Koenig",
+#    "version": (0, 1, 0),
     "blender": (2, 77, 0),
     "location": "Tab key",
     "warning": "",
@@ -35,6 +35,7 @@ classes = [
 addon_keymaps = []
 
 def register():
+    addon_keymaps.clear()
     for cls in classes:
         bpy.utils.register_class(cls)
     wm = bpy.context.window_manager
@@ -46,7 +47,6 @@ def register():
         kmi.properties.name = "pie.object_mode_of"
         addon_keymaps.append((km, kmi))
 
-    if wm.keyconfigs.addon:
         # Grease Pencil Edit Modes
         km = wm.keyconfigs.addon.keymaps.new(name='Grease Pencil Stroke Edit Mode')
         kmi = km.keymap_items.new('wm.call_menu_pie', 'TAB', 'PRESS')
@@ -55,25 +55,17 @@ def register():
 
 
 def unregister():
+    addon_keymaps.clear()
     for cls in classes:
         bpy.utils.unregister_class(cls)
     wm = bpy.context.window_manager
 
     kc = wm.keyconfigs.addon
     if kc:
-        km = kc.keymaps['Object Non-modal']
-        for kmi in km.keymap_items:
-            if kmi.idname == 'wm.call_menu_pie':
-                if kmi.properties.name == "pie.object_mode_of":
-                    km.keymap_items.remove(kmi)
+        for km, kmi in addon_keymaps:
+            km.keymap_items.remove(kmi)
+    addon_keymaps.clear()
 
-    kc = wm.keyconfigs.addon
-    if kc:
-        km = kc.keymaps['Grease Pencil Stroke Edit Mode']
-        for kmi in km.keymap_items:
-            if kmi.idname == 'wm.call_menu_pie':
-                if kmi.properties.name == "pie.object_mode_of":
-                    km.keymap_items.remove(kmi)
 
 if __name__ == "__main__":
     register()
diff --git a/pie_menus_official/pie_pivot_of.py b/pie_menus_official/pie_pivot_of.py
index d1cb2ac..43d6c86 100644
--- a/pie_menus_official/pie_pivot_of.py
+++ b/pie_menus_official/pie_pivot_of.py
@@ -2,8 +2,8 @@
 bl_info = {
     "name": "Pivot Menu: Key: '. key'",
     "description": "Manipulator Modes",
-    "author": "Antony Riakiotakis, Sebastian Koenig",
-    "version": (0, 1, 0),
+#    "author": "Antony Riakiotakis, Sebastian Koenig",
+#    "version": (0, 1, 0),
     "blender": (2, 77, 0),
     "location": ". key",
     "warning": "",
@@ -55,11 +55,9 @@ def unregister():
 
     kc = wm.keyconfigs.addon
     if kc:
-        km = kc.keymaps['Object Non-modal']
-        for kmi in km.keymap_items:
-            if kmi.idname == 'wm.call_menu_pie':
-                if kmi.properties.name == "view3d.pivot_of":
-                    km.keymap_items.remove(kmi)
+        for km, kmi in addon_keymaps:
+            km.keymap_items.remove(kmi)
+    addon_keymaps.clear()
 
 if __name__ == "__main__":
     register()
diff --git a/pie_menus_official/pie_shade_of.py b/pie_menus_official/pie_shade_of.py
index 5ef189e..ec60419 100644
--- a/pie_menus_official/pie_shade_of.py
+++ b/pie_menus_official/pie_shade_of.py
@@ -2,8 +2,8 @@
 bl_info = {
     "name": "Shade Menu: Key: 'Z key'",
     "description": "View Modes",
-    "author": "Antony Riakiotakis, Sebastian Koenig",
-    "version": (0, 1, 0),
+#    "author": "Antony Riakiotakis, Sebastian Koenig",
+#    "version": (0, 1, 0),
     "blender": (2, 77, 0),
     "location": "Z key",
     "warning": "",
@@ -61,11 +61,9 @@ def unregister():
 
     kc = wm.keyconfigs.addon
     if kc:
-        km =

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list