diff options
author | Ryan Inch <mythologylover75@gmail.com> | 2022-08-12 11:52:25 +0300 |
---|---|---|
committer | Ryan Inch <mythologylover75@gmail.com> | 2022-08-12 11:52:25 +0300 |
commit | 33e3ba6c4424dd235286b2f7ecaec908610e81c6 (patch) | |
tree | ae8e832771c762f6670c3b3293bb46b9af8044d0 | |
parent | f1394dded1663659834ff71234f0a55de2ddca5d (diff) | |
parent | af8d747d00ac10b2196bf81295ce5f730be9af6a (diff) |
Merge branch 'blender-v3.3-release'
-rw-r--r-- | object_collection_manager/__init__.py | 2 | ||||
-rw-r--r-- | object_collection_manager/cm_init.py | 4 | ||||
-rw-r--r-- | object_collection_manager/qcd_init.py | 28 |
3 files changed, 33 insertions, 1 deletions
diff --git a/object_collection_manager/__init__.py b/object_collection_manager/__init__.py index 1c0c7267..fd2bd44b 100644 --- a/object_collection_manager/__init__.py +++ b/object_collection_manager/__init__.py @@ -6,7 +6,7 @@ bl_info = { "name": "Collection Manager", "description": "Manage collections and their objects", "author": "Ryan Inch", - "version": (2, 24, 2), + "version": (2, 24, 3), "blender": (2, 80, 0), "location": "View3D - Object Mode (Shortcut - M)", "warning": '', # used for warning icon and text in addons panel diff --git a/object_collection_manager/cm_init.py b/object_collection_manager/cm_init.py index 38080cb8..679d8d3e 100644 --- a/object_collection_manager/cm_init.py +++ b/object_collection_manager/cm_init.py @@ -144,6 +144,10 @@ def disable_objects_menu_addition(self, context): def register_disable_objects_hotkeys(): + if addon_disable_objects_hotkey_keymaps: + # guard to handle default value updates (mouse hover + backspace) + return + wm = bpy.context.window_manager if wm.keyconfigs.addon: # not present when started with --background km = wm.keyconfigs.addon.keymaps.new(name='Object Mode') diff --git a/object_collection_manager/qcd_init.py b/object_collection_manager/qcd_init.py index c2d555f5..6d4ac7e7 100644 --- a/object_collection_manager/qcd_init.py +++ b/object_collection_manager/qcd_init.py @@ -27,6 +27,7 @@ from bpy.app.handlers import persistent addon_qcd_keymaps = [] addon_qcd_view_hotkey_keymaps = [] addon_qcd_view_edit_mode_hotkey_keymaps = [] +qcd_registered = False qcd_classes = ( @@ -76,6 +77,11 @@ def load_pre_handler(dummy): def register_qcd(): + global qcd_registered + if qcd_registered: + # guard to handle default value updates (mouse hover + backspace) + return + for cls in qcd_classes: bpy.utils.register_class(cls) @@ -107,8 +113,14 @@ def register_qcd(): if prefs.enable_qcd_3dview_header_widget: register_qcd_3dview_header_widget() + qcd_registered = True + def register_qcd_view_hotkeys(): + if addon_qcd_view_hotkey_keymaps: + # guard to handle default value updates (mouse hover + backspace) + return + wm = bpy.context.window_manager if wm.keyconfigs.addon: # not present when started with --background # create qcd hotkeys @@ -180,6 +192,10 @@ def register_qcd_view_hotkeys(): def register_qcd_view_edit_mode_hotkeys(): + if addon_qcd_view_edit_mode_hotkey_keymaps: + # guard to handle default value updates (mouse hover + backspace) + return + wm = bpy.context.window_manager if wm.keyconfigs.addon: # not present when started with --background # create qcd hotkeys @@ -248,12 +264,22 @@ def register_qcd_view_edit_mode_hotkeys(): def register_qcd_3dview_header_widget(): + # unregister first to guard against default value updates (mouse hover + backspace) + # if the widget isn't registered it will just do nothing + unregister_qcd_3dview_header_widget() + + # add the widget to the header, and an update function to the top bar to get view layer changes bpy.types.VIEW3D_HT_header.append(ui.view3d_header_qcd_slots) bpy.types.TOPBAR_HT_upper_bar.append(ui.view_layer_update) def unregister_qcd(): + global qcd_registered + if not qcd_registered: + # guard to handle default value updates (mouse hover + backspace) + return + unregister_qcd_3dview_header_widget() for cls in qcd_classes: @@ -279,6 +305,8 @@ def unregister_qcd(): unregister_qcd_view_edit_mode_hotkeys() + qcd_registered = False + def unregister_qcd_view_hotkeys(): # remove keymaps when qcd view hotkeys are deactivated |