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>2020-10-25 08:14:53 +0300
committerRyan Inch <mythologylover75@gmail.com>2020-10-25 08:14:53 +0300
commit7cc2e4b14f8855659b611d3da1d0dc702618d43f (patch)
treea13096731e21b3fe17ca327e8b4be3b1d35f53f0 /object_collection_manager/operators.py
parent8488f40e0b1f27acba8185e44c1b8566c388516c (diff)
Collection Manager: Add disable override. Task: T69577.
Add an override checkbox to the preferences to override the object hiding hotkeys with object disabling hotkeys and add menu items to the Object->Show/Hide menu for the disable object operators. Disabling objects is needed to preserve their visibility state when excluding and unexcluding collections. This makes it easier to disable objects, and disabling objects prevents QCD slot switching from resetting the objects visibility state.
Diffstat (limited to 'object_collection_manager/operators.py')
-rw-r--r--object_collection_manager/operators.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/object_collection_manager/operators.py b/object_collection_manager/operators.py
index a12b8339..16d8bba9 100644
--- a/object_collection_manager/operators.py
+++ b/object_collection_manager/operators.py
@@ -1387,3 +1387,45 @@ class CMApplyPhantomModeOperator(Operator):
cm.in_phantom_mode = False
return {'FINISHED'}
+
+
+class CMDisableObjectsOperator(Operator):
+ '''Disable selected objects in viewports'''
+ bl_label = "Disable Selected"
+ bl_idname = "view3d.disable_selected_objects"
+ bl_options = {'REGISTER', 'UNDO'}
+
+ def execute(self, context):
+ for obj in context.selected_objects:
+ obj.hide_viewport = True
+
+ return {'FINISHED'}
+
+
+class CMDisableUnSelectedObjectsOperator(Operator):
+ '''Disable unselected objects in viewports'''
+ bl_label = "Disable Unselected"
+ bl_idname = "view3d.disable_unselected_objects"
+ bl_options = {'REGISTER', 'UNDO'}
+
+ def execute(self, context):
+ for obj in bpy.data.objects:
+ if obj in context.visible_objects and not obj in context.selected_objects:
+ obj.hide_viewport = True
+
+ return {'FINISHED'}
+
+
+class CMRestoreDisabledObjectsOperator(Operator):
+ '''Restore disabled objects in viewports'''
+ bl_label = "Restore Disabled Objects"
+ bl_idname = "view3d.restore_disabled_objects"
+ bl_options = {'REGISTER', 'UNDO'}
+
+ def execute(self, context):
+ for obj in bpy.data.objects:
+ if obj.hide_viewport:
+ obj.hide_viewport = False
+ obj.select_set(True)
+
+ return {'FINISHED'}