Skip to content
Snippets Groups Projects
Commit 33e3ba6c authored by Ryan Inch's avatar Ryan Inch
Browse files

Merge branch 'blender-v3.3-release'

parents f1394dde af8d747d
No related branches found
No related tags found
No related merge requests found
...@@ -6,7 +6,7 @@ bl_info = { ...@@ -6,7 +6,7 @@ bl_info = {
"name": "Collection Manager", "name": "Collection Manager",
"description": "Manage collections and their objects", "description": "Manage collections and their objects",
"author": "Ryan Inch", "author": "Ryan Inch",
"version": (2, 24, 2), "version": (2, 24, 3),
"blender": (2, 80, 0), "blender": (2, 80, 0),
"location": "View3D - Object Mode (Shortcut - M)", "location": "View3D - Object Mode (Shortcut - M)",
"warning": '', # used for warning icon and text in addons panel "warning": '', # used for warning icon and text in addons panel
......
...@@ -144,6 +144,10 @@ def disable_objects_menu_addition(self, context): ...@@ -144,6 +144,10 @@ def disable_objects_menu_addition(self, context):
def register_disable_objects_hotkeys(): 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 wm = bpy.context.window_manager
if wm.keyconfigs.addon: # not present when started with --background if wm.keyconfigs.addon: # not present when started with --background
km = wm.keyconfigs.addon.keymaps.new(name='Object Mode') km = wm.keyconfigs.addon.keymaps.new(name='Object Mode')
......
...@@ -27,6 +27,7 @@ from bpy.app.handlers import persistent ...@@ -27,6 +27,7 @@ from bpy.app.handlers import persistent
addon_qcd_keymaps = [] addon_qcd_keymaps = []
addon_qcd_view_hotkey_keymaps = [] addon_qcd_view_hotkey_keymaps = []
addon_qcd_view_edit_mode_hotkey_keymaps = [] addon_qcd_view_edit_mode_hotkey_keymaps = []
qcd_registered = False
qcd_classes = ( qcd_classes = (
...@@ -76,6 +77,11 @@ def load_pre_handler(dummy): ...@@ -76,6 +77,11 @@ def load_pre_handler(dummy):
def register_qcd(): def register_qcd():
global qcd_registered
if qcd_registered:
# guard to handle default value updates (mouse hover + backspace)
return
for cls in qcd_classes: for cls in qcd_classes:
bpy.utils.register_class(cls) bpy.utils.register_class(cls)
...@@ -107,8 +113,14 @@ def register_qcd(): ...@@ -107,8 +113,14 @@ def register_qcd():
if prefs.enable_qcd_3dview_header_widget: if prefs.enable_qcd_3dview_header_widget:
register_qcd_3dview_header_widget() register_qcd_3dview_header_widget()
qcd_registered = True
def register_qcd_view_hotkeys(): 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 wm = bpy.context.window_manager
if wm.keyconfigs.addon: # not present when started with --background if wm.keyconfigs.addon: # not present when started with --background
# create qcd hotkeys # create qcd hotkeys
...@@ -180,6 +192,10 @@ def register_qcd_view_hotkeys(): ...@@ -180,6 +192,10 @@ def register_qcd_view_hotkeys():
def register_qcd_view_edit_mode_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 wm = bpy.context.window_manager
if wm.keyconfigs.addon: # not present when started with --background if wm.keyconfigs.addon: # not present when started with --background
# create qcd hotkeys # create qcd hotkeys
...@@ -248,12 +264,22 @@ def register_qcd_view_edit_mode_hotkeys(): ...@@ -248,12 +264,22 @@ def register_qcd_view_edit_mode_hotkeys():
def register_qcd_3dview_header_widget(): 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.VIEW3D_HT_header.append(ui.view3d_header_qcd_slots)
bpy.types.TOPBAR_HT_upper_bar.append(ui.view_layer_update) bpy.types.TOPBAR_HT_upper_bar.append(ui.view_layer_update)
def unregister_qcd(): 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() unregister_qcd_3dview_header_widget()
for cls in qcd_classes: for cls in qcd_classes:
...@@ -279,6 +305,8 @@ def unregister_qcd(): ...@@ -279,6 +305,8 @@ def unregister_qcd():
unregister_qcd_view_edit_mode_hotkeys() unregister_qcd_view_edit_mode_hotkeys()
qcd_registered = False
def unregister_qcd_view_hotkeys(): def unregister_qcd_view_hotkeys():
# remove keymaps when qcd view hotkeys are deactivated # remove keymaps when qcd view hotkeys are deactivated
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment