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:
Diffstat (limited to 'object_collection_manager/__init__.py')
-rw-r--r--object_collection_manager/__init__.py138
1 files changed, 5 insertions, 133 deletions
diff --git a/object_collection_manager/__init__.py b/object_collection_manager/__init__.py
index bc62e947..0e093bc5 100644
--- a/object_collection_manager/__init__.py
+++ b/object_collection_manager/__init__.py
@@ -22,7 +22,7 @@ bl_info = {
"name": "Collection Manager",
"description": "Manage collections and their objects",
"author": "Ryan Inch",
- "version": (2, 17, 1),
+ "version": (2, 18, 0),
"blender": (2, 80, 0),
"location": "View3D - Object Mode (Shortcut - M)",
"warning": '', # used for warning icon and text in addons panel
@@ -35,6 +35,7 @@ bl_info = {
if "bpy" in locals():
import importlib
+ importlib.reload(cm_init)
importlib.reload(internals)
importlib.reload(operator_utils)
importlib.reload(operators)
@@ -45,6 +46,7 @@ if "bpy" in locals():
importlib.reload(preferences)
else:
+ from . import cm_init
from . import internals
from . import operator_utils
from . import operators
@@ -55,124 +57,9 @@ else:
from . import preferences
import bpy
-from bpy.app.handlers import persistent
-from bpy.types import PropertyGroup
-from bpy.props import (
- CollectionProperty,
- EnumProperty,
- IntProperty,
- BoolProperty,
- StringProperty,
- PointerProperty,
- )
-
-
-class CollectionManagerProperties(PropertyGroup):
- cm_list_collection: CollectionProperty(type=internals.CMListCollection)
- cm_list_index: IntProperty()
-
- show_exclude: BoolProperty(default=True, name="[EC] Exclude from View Layer")
- show_selectable: BoolProperty(default=True, name="[SS] Disable Selection")
- show_hide_viewport: BoolProperty(default=True, name="[VV] Hide in Viewport")
- show_disable_viewport: BoolProperty(default=False, name="[DV] Disable in Viewports")
- show_render: BoolProperty(default=False, name="[RR] Disable in Renders")
- show_holdout: BoolProperty(default=False, name="[HH] Holdout")
- show_indirect_only: BoolProperty(default=False, name="[IO] Indirect Only")
-
- align_local_ops: BoolProperty(default=False, name="Align Local Options",
- description="Align local options in a column to the right")
-
- in_phantom_mode: BoolProperty(default=False)
-
- update_header: CollectionProperty(type=internals.CMListCollection)
-
- ui_separator: StringProperty(name="", default="")
-
- qcd_slots_blend_data: StringProperty()
-
-
-addon_keymaps = []
-
-classes = (
- internals.CMListCollection,
- internals.CMSendReport,
- operators.SetActiveCollection,
- operators.ExpandAllOperator,
- operators.ExpandSublevelOperator,
- operators.CMExcludeOperator,
- operators.CMUnExcludeAllOperator,
- operators.CMRestrictSelectOperator,
- operators.CMUnRestrictSelectAllOperator,
- operators.CMHideOperator,
- operators.CMUnHideAllOperator,
- operators.CMDisableViewportOperator,
- operators.CMUnDisableViewportAllOperator,
- operators.CMDisableRenderOperator,
- operators.CMUnDisableRenderAllOperator,
- operators.CMHoldoutOperator,
- operators.CMUnHoldoutAllOperator,
- operators.CMIndirectOnlyOperator,
- operators.CMUnIndirectOnlyAllOperator,
- operators.CMNewCollectionOperator,
- operators.CMRemoveCollectionOperator,
- operators.CMRemoveEmptyCollectionsOperator,
- operators.CMSelectCollectionObjectsOperator,
- operators.CMSetCollectionOperator,
- operators.CMPhantomModeOperator,
- operators.CMApplyPhantomModeOperator,
- preferences.CMPreferences,
- ui.CM_UL_items,
- ui.CollectionManager,
- ui.CMDisplayOptionsPanel,
- ui.SpecialsMenu,
- CollectionManagerProperties,
- )
-
-@persistent
-def depsgraph_update_post_handler(dummy):
- if internals.move_triggered:
- internals.move_triggered = False
- return
-
- internals.move_selection.clear()
- internals.move_active = None
-
-@persistent
-def undo_redo_post_handler(dummy):
- internals.move_selection.clear()
- internals.move_active = None
-
-
-def menu_addition(self, context):
- layout = self.layout
-
- layout.operator('view3d.collection_manager')
-
- if bpy.context.preferences.addons[__package__].preferences.enable_qcd:
- layout.operator('view3d.qcd_move_widget')
-
- layout.separator()
-
def register():
- for cls in classes:
- bpy.utils.register_class(cls)
-
- bpy.types.Scene.collection_manager = PointerProperty(type=CollectionManagerProperties)
-
- # create the global menu hotkey
- wm = bpy.context.window_manager
- if wm.keyconfigs.addon: # not present when started with --background
- km = wm.keyconfigs.addon.keymaps.new(name='Object Mode')
- kmi = km.keymap_items.new('view3d.collection_manager', 'M', 'PRESS')
- addon_keymaps.append((km, kmi))
-
- # Add Collection Manager & QCD Move Widget to the Object->Collections menu
- bpy.types.VIEW3D_MT_object_collection.prepend(menu_addition)
-
- bpy.app.handlers.depsgraph_update_post.append(depsgraph_update_post_handler)
- bpy.app.handlers.undo_post.append(undo_redo_post_handler)
- bpy.app.handlers.redo_post.append(undo_redo_post_handler)
+ cm_init.register_cm()
if bpy.context.preferences.addons[__package__].preferences.enable_qcd:
qcd_init.register_qcd()
@@ -181,22 +68,7 @@ def unregister():
if bpy.context.preferences.addons[__package__].preferences.enable_qcd:
qcd_init.unregister_qcd()
- for cls in classes:
- bpy.utils.unregister_class(cls)
-
- # Remove Collection Manager & QCD Move Widget from the Object->Collections menu
- bpy.types.VIEW3D_MT_object_collection.remove(menu_addition)
-
- bpy.app.handlers.depsgraph_update_post.remove(depsgraph_update_post_handler)
- bpy.app.handlers.undo_post.remove(undo_redo_post_handler)
- bpy.app.handlers.redo_post.remove(undo_redo_post_handler)
-
- del bpy.types.Scene.collection_manager
-
- # remove keymaps when add-on is deactivated
- for km, kmi in addon_keymaps:
- km.keymap_items.remove(kmi)
- addon_keymaps.clear()
+ cm_init.unregister_cm()
if __name__ == "__main__":