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:
authorRyan Inch <mythologylover75@gmail.com>2022-04-19 09:13:12 +0300
committerRyan Inch <mythologylover75@gmail.com>2022-04-19 09:13:12 +0300
commita65df677f70759440c4cea4bfe74ca458844bd78 (patch)
tree72db65616439d2043ed6aa1b7e17ed2cfa4281a3
parent754d05ac7ebb78377bbe6d80068542c43d347974 (diff)
Collection Manager: Add QCD widget preference. Task: T69577
Add a preference to enable/disable the QCD 3D Viewport header widget.
-rw-r--r--object_collection_manager/__init__.py2
-rw-r--r--object_collection_manager/preferences.py16
-rw-r--r--object_collection_manager/qcd_init.py17
3 files changed, 29 insertions, 6 deletions
diff --git a/object_collection_manager/__init__.py b/object_collection_manager/__init__.py
index 2359b8df..8642fe99 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, 23, 1),
+ "version": (2, 24, 0),
"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/preferences.py b/object_collection_manager/preferences.py
index 0b8a71c5..ec8bc25a 100644
--- a/object_collection_manager/preferences.py
+++ b/object_collection_manager/preferences.py
@@ -39,6 +39,12 @@ def update_qcd_view_edit_mode_hotkeys_status(self, context):
else:
qcd_init.unregister_qcd_view_edit_mode_hotkeys()
+def update_qcd_3dview_header_widget_status(self, context):
+ if self.enable_qcd_3dview_header_widget:
+ qcd_init.register_qcd_3dview_header_widget()
+ else:
+ qcd_init.unregister_qcd_3dview_header_widget()
+
def get_tool_text(self):
if self.tool_text_override:
return self["tool_text_color"]
@@ -188,7 +194,7 @@ class CMPreferences(AddonPreferences):
# ENABLE QCD BOOLS
enable_qcd: BoolProperty(
name="QCD",
- description="Enable/Disable QCD System.\nThe Quick Content Display system allows you to specify collections as QCD \"slots\" up to a maximum of 20. You can then interact with them through numerical hotkeys, a popup move widget, and a 3D View header widget",
+ description="Enable/Disable QCD System.\nThe Quick Content Display system allows you to specify collections as QCD \"slots\" up to a maximum of 20. You can then interact with them through numerical hotkeys, a popup move widget, and a 3D Viewport header widget",
default=True,
update=update_qcd_status,
)
@@ -207,6 +213,13 @@ class CMPreferences(AddonPreferences):
update=update_qcd_view_edit_mode_hotkeys_status,
)
+ enable_qcd_3dview_header_widget: BoolProperty(
+ name="QCD 3D Viewport Header Widget",
+ description="Enable/Disable the 3D Viewport header widget. This widget graphically represents the 20 QCD slots and allows you to interact with them through the GUI",
+ default=True,
+ update=update_qcd_3dview_header_widget_status,
+ )
+
# OVERRIDE BOOLS
tool_text_override: BoolProperty(
@@ -431,6 +444,7 @@ class CMPreferences(AddonPreferences):
box.row().prop(self, "enable_qcd_view_hotkeys")
box.row().prop(self, "enable_qcd_view_edit_mode_hotkeys")
+ box.row().prop(self, "enable_qcd_3dview_header_widget")
box.row().label(text="QCD Move Widget")
diff --git a/object_collection_manager/qcd_init.py b/object_collection_manager/qcd_init.py
index a9e392cc..1273e6e0 100644
--- a/object_collection_manager/qcd_init.py
+++ b/object_collection_manager/qcd_init.py
@@ -104,8 +104,8 @@ def register_qcd():
if prefs.enable_qcd_view_edit_mode_hotkeys:
register_qcd_view_edit_mode_hotkeys()
- bpy.types.VIEW3D_HT_header.append(ui.view3d_header_qcd_slots)
- bpy.types.TOPBAR_HT_upper_bar.append(ui.view_layer_update)
+ if prefs.enable_qcd_3dview_header_widget:
+ register_qcd_3dview_header_widget()
def register_qcd_view_hotkeys():
@@ -247,10 +247,14 @@ def register_qcd_view_edit_mode_hotkeys():
addon_qcd_view_edit_mode_hotkey_keymaps.append((km, kmi))
+def register_qcd_3dview_header_widget():
+ 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():
- bpy.types.VIEW3D_HT_header.remove(ui.view3d_header_qcd_slots)
- bpy.types.TOPBAR_HT_upper_bar.remove(ui.view_layer_update)
+ unregister_qcd_3dview_header_widget()
for cls in qcd_classes:
bpy.utils.unregister_class(cls)
@@ -288,3 +292,8 @@ def unregister_qcd_view_edit_mode_hotkeys():
for km, kmi in addon_qcd_view_edit_mode_hotkey_keymaps:
km.keymap_items.remove(kmi)
addon_qcd_view_edit_mode_hotkey_keymaps.clear()
+
+
+def unregister_qcd_3dview_header_widget():
+ bpy.types.VIEW3D_HT_header.remove(ui.view3d_header_qcd_slots)
+ bpy.types.TOPBAR_HT_upper_bar.remove(ui.view_layer_update)