diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-12-03 01:58:23 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-12-03 01:58:23 +0300 |
commit | 9e5577db47c8b9c85d49bec0e0b8050dcae0b513 (patch) | |
tree | 14828104efc3aeb4c0c845174ab1e3cfdef16635 | |
parent | cbab6a742f7250bcdea40cbf2fdfe18d4119538d (diff) |
fix [#25015] Ctrl+L linking to scene list does not scroll when the list is larger than screen resolution
-rw-r--r-- | release/scripts/ui/space_sequencer.py | 7 | ||||
-rw-r--r-- | release/scripts/ui/space_view3d.py | 10 | ||||
-rw-r--r-- | source/blender/editors/object/object_relations.c | 1 | ||||
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_add.c | 3 |
4 files changed, 18 insertions, 3 deletions
diff --git a/release/scripts/ui/space_sequencer.py b/release/scripts/ui/space_sequencer.py index c709483a08b..faeb6d54167 100644 --- a/release/scripts/ui/space_sequencer.py +++ b/release/scripts/ui/space_sequencer.py @@ -202,7 +202,12 @@ class SEQUENCER_MT_add(bpy.types.Menu): layout.operator_context = 'INVOKE_REGION_WIN' layout.column() - layout.operator_menu_enum("sequencer.scene_strip_add", "scene", text="Scene...") + if len(bpy.data.scenes) > 10: + layout.operator_context = 'INVOKE_DEFAULT' + layout.operator("sequencer.scene_strip_add", text="Scene...") + else: + layout.operator_menu_enum("sequencer.scene_strip_add", "scene", text="Scene...") + layout.operator("sequencer.movie_strip_add", text="Movie") layout.operator("sequencer.image_strip_add", text="Image") layout.operator("sequencer.sound_strip_add", text="Sound") diff --git a/release/scripts/ui/space_view3d.py b/release/scripts/ui/space_view3d.py index c4bc0fddd90..1bbff0b5820 100644 --- a/release/scripts/ui/space_view3d.py +++ b/release/scripts/ui/space_view3d.py @@ -916,8 +916,14 @@ class VIEW3D_MT_make_links(bpy.types.Menu): def draw(self, context): layout = self.layout - layout.operator_menu_enum("object.make_links_scene", "scene", text="Objects to Scene...") - layout.operator_menu_enum("marker.make_links_scene", "scene", text="Markers to Scene...") + if(len(bpy.data.scenes) > 10): + layout.operator_context = 'INVOKE_DEFAULT' + layout.operator("object.make_links_scene", text="Objects to Scene...", icon='OUTLINER_OB_EMPTY') + layout.operator("object.make_links_scene", text="Markers to Scene...", icon='OUTLINER_OB_EMPTY') + else: + layout.operator_menu_enum("object.make_links_scene", "scene", text="Objects to Scene...") + layout.operator_menu_enum("marker.make_links_scene", "scene", text="Markers to Scene...") + layout.operator_enums("object.make_links_data", "type") # inline diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c index f3d4bea576f..4f36a85dc7a 100644 --- a/source/blender/editors/object/object_relations.c +++ b/source/blender/editors/object/object_relations.c @@ -1313,6 +1313,7 @@ void OBJECT_OT_make_links_scene(wmOperatorType *ot) ot->idname= "OBJECT_OT_make_links_scene"; /* api callbacks */ + ot->invoke= WM_enum_search_invoke; ot->exec= make_links_scene_exec; /* better not run the poll check */ diff --git a/source/blender/editors/space_sequencer/sequencer_add.c b/source/blender/editors/space_sequencer/sequencer_add.c index 5f0693dc43c..bf11d131b9c 100644 --- a/source/blender/editors/space_sequencer/sequencer_add.c +++ b/source/blender/editors/space_sequencer/sequencer_add.c @@ -253,6 +253,9 @@ static int sequencer_add_scene_strip_invoke(bContext *C, wmOperator *op, wmEvent return OPERATOR_CANCELLED; } + if(!RNA_property_is_set(op->ptr, "scene")) + return WM_enum_search_invoke(C, op, event); + sequencer_generic_invoke_xy__internal(C, op, event, 0); return sequencer_add_scene_strip_exec(C, op); // needs a menu |