Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2010-01-20 16:38:17 +0300
committerCampbell Barton <ideasman42@gmail.com>2010-01-20 16:38:17 +0300
commite7686b4cdb41b233509be439609f22f9d67149ce (patch)
treefa62fce190df74206caea74889b88e90c6d4c1a4
parent973128dc66ce9aed0f62dbabdd2a0f3f7939367b (diff)
use a search popup for the add group menu item when there are more then 10.
-rw-r--r--release/scripts/ui/space_info.py6
-rw-r--r--source/blender/editors/object/object_add.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/release/scripts/ui/space_info.py b/release/scripts/ui/space_info.py
index 9b29603e01e..e0fb1b3e8a1 100644
--- a/release/scripts/ui/space_info.py
+++ b/release/scripts/ui/space_info.py
@@ -222,7 +222,11 @@ class INFO_MT_add(bpy.types.Menu):
layout.operator_menu_enum("object.effector_add", "type", 'EMPTY', text="Force Field", icon='OUTLINER_OB_EMPTY')
layout.separator()
- layout.operator_menu_enum("object.group_instance_add", "type", text="Group Instance", icon='OUTLINER_OB_EMPTY')
+ if(len(bpy.data.groups) > 10):
+ layout.operator_context = 'INVOKE_DEFAULT'
+ layout.operator("object.group_instance_add", "type", text="Group Instance...", icon='OUTLINER_OB_EMPTY')
+ else:
+ layout.operator_menu_enum("object.group_instance_add", "type", text="Group Instance", icon='OUTLINER_OB_EMPTY')
class INFO_MT_game(bpy.types.Menu):
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index 9e9619a30ea..11ce7ec02fd 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -847,6 +847,7 @@ void OBJECT_OT_group_instance_add(wmOperatorType *ot)
ot->idname= "OBJECT_OT_group_instance_add";
/* api callbacks */
+ ot->invoke= WM_enum_search_invoke;
ot->exec= group_instance_add_exec;
ot->poll= ED_operator_scene_editable;
@@ -857,6 +858,7 @@ void OBJECT_OT_group_instance_add(wmOperatorType *ot)
/* properties */
prop= RNA_def_enum(ot->srna, "type", DummyRNA_NULL_items, 0, "Type", "");
RNA_def_enum_funcs(prop, RNA_group_itemf);
+ ot->prop= prop;
ED_object_add_generic_props(ot, FALSE);
}